损失函数简介

article/2025/10/11 17:39:07

损失函数的作用:衡量模型预测的好坏。

简单来说就是,损失函数就是用来表现预测与真实数据的差距程度。

令 真实值 为Y,预测值为 f(x),损失函数为L( Y , f(x)),关系如下:

在这里插入图片描述

损失函数(loss funtion)是用来估量模型的预测值和真实值的不一样程度,它是一个非负实值函数。损失函数越小,模型的鲁棒性就越好。

例子:

在这里插入图片描述

X:门店数 Y:销量
我们会发现销量随着门店数上升而上升。于是我们就想要知道大概门店和销量的关系是怎么样的呢?

我们根据图上的点描述出一条直线:

在这里插入图片描述

 似乎这个直线差不多能说明门店数X和Y得关系了:我们假设直线的方程为Y=a0+a1X(a为常数系数)。假设a0=10 a1=3 那么Y=10+3X(公式1)

在这里插入图片描述

我们希望我们预测的公式与实际值差值越小越好,所以就定义了一种衡量模型好坏的方式,即损失函数(用来表现预测与实际数据的差距程度)。于是乎我们就会想到这个方程的损失函数可以用绝对损失函数表示:

公式Y-实际Y的绝对值,数学表达式:

上面的案例它的绝对损失函数求和计算求得为:6

为后续数学计算方便,我们通常使用平方损失函数代替绝对损失函数:

公式Y-实际Y的平方,数学表达式:L(Y,f(X))=

上面的案例它的平方损失函数求和计算求得为:10

以上为公式1模型的损失值。

假设我们再模拟一条新的直线:a0=8,a1=4

在这里插入图片描述

公式对比,学习损失函数的意义

公式2 Y=8+4X

绝对损失函数求和:11 平方损失函数求和:27

公式1 Y=10+3X

绝对损失函数求和:6 平方损失函数求和:10

从损失函数求和中,就能评估出公式1能够更好得预测门店销售。

统计学习中常用的损失函数有以下几种:

1】0-1损失函数(gold standard标准式)

0-1损失函数是指,预测值与损失值不相等为1,否则为0.

 该函数不考虑预测值和真实值的误差程度,也就是说只要预测错误,预测错误差一点和差很多是一样的,感知机就是用的这种损失函数,但是由于相等这个条件太过严格,我们可以放宽条件:

 这种损失函数用在实际场景中比较少,更多的是用俩衡量其他损失函数的效果。

2】绝对损失函数

3】平方损失函数(squared loss)

实际结果和观测结果之间差距的平方和,一般用在线性回归中,可以理解为最小二乘法:

4】对数损失函数(logarithmic loss)

主要在逻辑回归中使用,样本预测值和实际值的误差符合高斯分布,使用极大似然估计的方法,取对数得到损失函数:

损失函数L(Y,P(Y|X))L(Y,P(Y|X))是指样本X在分类Y的情况下,使概率P(Y|X)达到最大值。

       经典的对数损失函数包括entropy和softmax,一般在做分类问题的时候使用(而回归时多用绝对值损失(拉普拉斯分布时,μ值为中位数)和平方损失(高斯分布时,μ值为均值))。

5】指数损失函数(Exp-Loss)

在boosting算法中比较常见,比如Adaboosting中,标准形式是:

6】铰链损失函数(Hinge Loss)

       铰链损失函数主要用在SVM中,Hinge Loss的标准形式为:

                                                              

       y是预测值,在-1到+1之间,t为目标值(-1或+1)。其含义为,y的值在-1和+1之间就可以了,并不鼓励|y|>1|y|>1,即并不鼓励分类器过度自信,让某个正确分类的样本的距离分割线超过1并不会有任何奖励,从而使分类器可以更专注于整体的分类误差。

损失函数越小,模型就越好。

总结:

损失函数可以很好的反应模型与实际数据差距的工具,理解损失函数能够更好得对后续优化工具(梯度下降等)进行分析与理解,很多时候遇见复杂的问题,最难的一关是如何写出损失函数。

参考:

(19条消息) 损失函数的意义及作用(含有帮助理解的例子)_万分之一的的博客-CSDN博客_损失函数的意义和作用

(19条消息) 机器学习总结(三)——损失函数_chkay399的博客-CSDN博客_损失函数


http://chatgpt.dhexx.cn/article/c5j4YTxF.shtml

相关文章

Pyotorch自定义损失函数

👨‍💻作者简介:大数据专业硕士在读,CSDN人工智能领域博客专家,阿里云专家博主,专注大数据与人工智能知识分享,公众号:GoAI的学习小屋,免费分享书籍、简历、导图等资料&a…

GAN的损失函数

1.GAN 在训练过程中,生成器和判别器的目标是相矛盾的,并且这种矛盾可以体现在判别器的判断准确性上。生成器的目标是生成尽量真实的数据,最好能够以假乱真、让判别器判断不出来,因此生成器的学习目标是让判别器上的判断准确性越来…

损失函数比较

Pytorch学习之十九种损失函数 一、简介 损失函数(Loss Function)是用来评估模型好坏程度,即预测值f(x)与真实值的不一致程度,通常表示为L(Y, f(x))的一个非负的浮点数。比如你要做一个线性回归,你拟合出来的曲线不会和原始的数据…

常见的损失函数

1、损失函数的意义 机器学习中的监督学习本质上是给定一系列训练样本 ,尝试学习 的映射关系,使得给定一个 ,即便这个 不在训练样本中,也能够得到尽量接近真实 的输出 。而损失函数(Loss Function)则是这个过…

损失函数

损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结…

常见损失函数

常见损失函数 (cs231n) 文章目录 常见损失函数损失函数定义0-1损失函数(zero-one loss)绝对值损失函数(Absolute loss)log对数损失函数(Log Loss)平方损失函数(Square Loss)指数损失函数 (Exponential Loss)SVM损失函数(Hinge Loss)感知损失函数(percep…

【常见的损失函数总结】

文章目录 损失函数的定义神经网络的学习为何要设定损失函数?常见的损失函数1. 0-1损失函数(zero-one loss)2. 对数损失函数3. 平方损失函数MSE(均值平方差)4. Hinge 损失函数5. 交叉熵损失函数 (Cross-entropy loss function) 损失函数的定义 损失函数&…

神经网络损失函数汇总

目录 一、基础知识 二、分类 (1)二分类交叉熵损失函数(binary_crossentropy) (2)categorical_crossentropy损失函数 (3)sparse_categorical_crossentropy (4&#…

Jmeter 使用正则表达式提取器将返回值全部保存到一个文件中

目标:将响应数据 {"errorCode":0,"message":"success","data":null} 中的message字段的值全部保存到一个文件中。 1.正则表达式提取器 正则表达式:提取内容的正则表达式【()表示提取,对于你要提取的…

Jmeter性能测试报告模板

性能测试报告 一、测试内容 针对当当网——服务器,进行性能测试,主要针对的核心业务是:注册,登录,查看商品信息与提交订单等。 二、测试方法 本次采用Apache的开元测试工具jmeter,采用本地动态拼装请求数据…

Jmeter5.4.1测试批量上传文件(参数化)

0、下载jmeter5.4.1 jmeter5.4.1-Java文档类资源-CSDN下载 注意需要java环境哦 jdk1.8-java_sdk_jre-Java文档类资源-CSDN下载 启动命令: java -jar ApacheJMeter.jar 用这个启动才是中文版本,另外启动后,界面字体太小&#xff0c…

Jmeter接口测试参数化详解

接口测试是目前最主流的自动化测试手段,它组合不同的参数向服务器发送请求,接受和解析响应结果,通过测试数据的交换逻辑来验证服务端程序工作的正确性。我们在测试过程中需要考虑不同的输入组合,来覆盖不同的测试范围;…

Jmeter学习之用户定义变量与用户变量

一、User Defined Variables 1、添加方法:选择“线程组”,右键点击添加-Config Element-User Defined Variables,定义你所需要的参数,如 2、在对应的需要使用参数的位置,使用${host}替代。 …

jmeter请求get接口报错(java.net.URISyntaxException: Illegal character in query at index 153: http://qa....)

log: 问题描述: 接口请求类型:get 请求参数:{"canshu1":"17600000005","canshu2":"test-0004","canshu3":"2021090301"},如下: 请求的时候报错如下: …

jmeter文件上传请求配置:文件,图片,语音、视频上传

图片上传http请求配置: 跟一般的http请求相对,图片上传的配置请求参数多了以下3个部分 1.点击图中【高级】,将客户端实现方式改为java 2.点击【参数】,按照基本请求参数配置即可 3.点击【文件上传】,配置图片路径&am…

JMeter外观配置与汉化

1、JMeter外观配置 推荐使用系统默认的外观,原因:不会出现窗口拉伸、变形等问题。 路径:选项->外观->System 2、JMeter汉化 方法1:修改JMeter设置(一次性的,下次打开JMeter还会恢复默认配置&#x…

16、Jmeter如何创建桌面快捷带图方式(亲测有效)

First step** 1、先找到jmeter文件安装的bin目录—>jmeter.bat文件,创建桌面快捷方式。 ** 2、右键,点击“发送到”---->桌面快捷方式”。然后再选中桌面快捷方式,右键,点击“属性”,修改“属性”里的路径为&am…

11、jmeter读取CSV文件之元件数据文件设置基础页面了解(1)

使用场景以及好处: 读取用例的方法通常有两种,1、通过建立多个请求信息实现接口的入参参数化,2、通过读取csv文件,加载测试用例。第一种方法会导致脚本过于冗余,不便于维护,因此多数情况我们会使用读取csv文…

JMeter的基本使用

目录 一、下载JMeter 二、设置语言为简体中文 三、JMeter外观设置 三、添加线程组 四、添加HTTP请求 五、添加信息头管理器 ​六、创建察看结果树 七、运行查看结果 一、下载JMeter 下载地址:Apache JMeter - Apache JMeter™ 下载zip文件解压后运行bin目录…

使用Jmeter进行性能测试的基本操作方法

Jmeter是一款轻量型的优秀测试软件产品,在很多场合如个人测试,企业测试中都有广泛应用。相比体积巨大的我们在某些场合可能更倾向于对Jmeter的使用,那么我们要如何利用该软件进行性能测试呢? 我们需要下载安装这款全免费的测试软件…