【机器学习】损失函数(Loss Function)全总结(2023最新整理)关键词:Logistic、Hinge、Exponential、Modified Huber、Softmax、L1、L2正则化

【机器学习】损失函数(Loss Function)全总结(2023最新整理)关键词:Logistic、Hinge、Exponential、Modified Huber、Softmax、L1、L2正则化

目录

一、定义

二、损失函数

1. 回归损失函数

1.1平方损失函数(quadratic loss function)

1.2 绝对(值)损失函数(absolute loss function)

1.3 对数损失函数(logarithmic loss function)

1.4 Huber损失 (huber loss)

1.5 图像对比-优缺点

2. 分类损失函数

2.1 0-1损失函数(0-1 loss function)

2.2 对数似然损失函数(Logistic loss)

2.3 合页损失函数(Hinge loss)

2.4 指数损失函数(Exponential loss)

2.5 修正Huber损失函数(Modified Huber loss)

2.6 Softmax损失(Softmax loss)

2.7 图像对比-优缺点

3. 正则化

3.1 定义

3.2 L1和L2正则化

3.3 求解

3.4 多角度理解正则化

一、定义

损失函数(Loss Function):是定义在单个样本上的,是指一个样本的误差,度量模型一次预测的好坏。代价函数(Cost Function)=成本函数=经验风险:是定义在整个训练集上的,是所有样本误差的平均,也就是所有损失函数值的平均,度量平均意义下模型预测的好坏。目标函数(Object Function)=结构风险=经验风险+正则化项=代价函数+正则化项:是指最终需要优化的函数,一般指的是结构风险。正则化项(regularizer)=惩罚项(penalty term)。

二、损失函数

1. 回归损失函数

1.1平方损失函数(quadratic loss function)

是MSE的单个样本损失,又叫平方损失(squared loss) 是指预测值与实际值差的平方。有时候为了求导方便,在前面乘上一个1/2。

1.2 绝对(值)损失函数(absolute loss function)

是MAE单个样本损失,又叫绝对偏差(absolute Loss)该损失函数的意义和上面差很少,只不过是取了绝对值而不是求平方和,差距不会被平方放大。

1.3 对数损失函数(logarithmic loss function)

又称对数似然损失函数(loglikelihood loss function)这个损失函数就比较难理解了。事实上,该损失函数用到了极大似然估计的思想。

P(Y|X)通俗的解释就是:在当前模型的基础上,对于样本X,其预测值为Y,也就是预测正确的几率。由概率乘法公式可得,概率之间可以相乘,为了将其转化为加法,我们将其取对数。最后由于是损失函数,所以预测正确的概率越高,其损失值应该是越小,因此再加个负号取个反。

下面说两点:

第一点就是对数损失函数很是经常使用。logistic回归,softmax回归等都用的是这个损失。

第二点就是对于这个公式的理解。这个公式的意思是在样本x在分类为y的状况下,咱们须要让几率p(y|x)达到最大值。就是利用目前已知的样本分布,找到最有可能致使这种分布的参数值。

1.4 Huber损失 (huber loss)

其中y是真实值,f(x)是预测值,δ 是Huber Loss的参数,当预测偏差小于 δ 时,它采用平方误差,当预测偏差大于 δ,采用线性误差。相比于最小二乘的线性回归,Huber Loss降低了对异常点的惩罚程度,是一种常用的robust regression的损失函数。

我们注意到Huber Loss中增加了一个超参数 δ

参数 δ 在其中起到了一定的选择作用,即当预测偏差小于 δ 时 采用平方误差,即我们所说到的MSE,而在预测偏差大于 δ 时 则采用线性误差 (类似MAE)

一般情况下 δ 可通过交叉验证得到最佳值

由此可知 Huber Loss 在应用中是一个带有参数用来解决回归问题的损失函数

1.5 图像对比-优缺点

其中最经常使用的是MSE平方损失,然而其缺点是对于异常点会施以较大的惩罚,于是不够robust。若是有较多异常点,则MAE绝对值损失表现较好,但绝对值损失的缺点是在y−f(x)=0y−f(x)=0处不连续可导,于是不容易优化。Huber损失是对两者的综合,当|y−f(x)||y−f(x)|小于一个事先指定的值δ时,变为平方损失,大于δ时,则变成相似于绝对值损失,所以也是比较robust的损失函数。

三者的图形比较以下:

优点

增强MSE的离群点鲁棒性 减小了对离群点的敏感度问题

误差较大时 使用MAE可降低异常值影响 使得训练更加健壮

Huber Loss下降速度介于MAE与MSE之间 弥补了MAE在Loss下降速度慢的问题 而更接近MSE

缺点

额外设置超参数 δ

参考:损失函数 Loss Function 之 Huber loss - 知乎 (zhihu.com)

2. 分类损失函数

2.1 0-1损失函数(0-1 loss function)

也就是说,当预测错误时,损失函数为1,当预测正确时,损失函数值为0。该损失函数不考虑预测值和真实值的偏差程度。只要错误,就是1。

0-1损失不连续、非凸、不可导,难以使用梯度优化算法,因此日常很少使用。

2.2 对数似然损失函数(Logistic loss)

Logistic Loss为Logistic Regression中使用的损失函数。

2.3 合页损失函数(Hinge loss)

Hinge loss通常用于SVM分类算法中的损失函数。

Hinge loss为svm中使用的损失函数,使得yf(x)>1的样本损失皆为0,由此带来了稀疏解,使得svm仅通过少许的支持向量就能确定最终超平面。

此外,以下形式也是Hinge loss的公式表达式:

第一项是损失,第二项是正则化项。这个公式就是说 yi(w·xi+b)大于1时loss为0, 否则loss为 1−yi(w·xi+b) 。对比感知机的损失函数 [−yi(w·xi+b)]来说,Hinge loss不仅要分类正确,而且置信度足够高的时候,损失才为0,对学习有更高的要求。对比一下感知机损失和Hinge loss的图像,明显Hinge loss更加严格。

2.4 指数损失函数(Exponential loss)

Exponential Loss 一般多用于AdaBoost 中。因为使用 Exponential Loss 能比较方便地利用加法模型推导出 AdaBoost算法。该损失函数对异常点较为敏感,相对于其他损失函数robust性较差。

2.5 修正Huber损失函数(Modified Huber loss)

Huber Loss整合MAE和MSE的优点,稍作改进,同样可用于分类问题,称为Modified Huber Loss。

modified huber loss结合了hinge loss和logistic loss的优势,既能在yf(x)>1时产生稀疏解提升训练效率,又能进行几率估计。另外其对于(yf(x)<−1)样本的惩罚以线性增长,这意味着受异常点的干扰较少,鲁棒性较好。scikit-learn中的SGDClassifier一样实现了modified huber loss。

2.6 Softmax损失(Softmax loss)

机器学习模型的 Softmax 层,正确类别对于的输出是:

其中,C 为类别个数,小写字母 s 是正确类别对应的 Softmax 输入,大写字母 S 是正确类别对应的 Softmax 输出。

上图中,当 s << 0 时,Softmax 近似线性;当 s>>0 时,Softmax 趋向于零。Softmax 同样受异常点的干扰较小,多用于神经网络多分类问题中。

2.7 图像对比-优缺点

值得注意的是上图中modified huber loss的走向和exponential loss差很少,并不能看出其robust的属性。其实这和算法时间复杂度同样,成倍放大了以后才能体现出巨大差别:

3. 正则化

3.1 定义

在这里我们首先需要明白结构风险最小化原理:

在经验风险最小化(训练误差最小化)的基础上,尽可能采用简单的模型,以提高模型泛化预测精度

我们所谓的正则化,就是在原来 Loss Function 的基础上,加了一些正则化项,或者叫做模型复杂度惩罚项(防止模型过拟合)。以我们的线性回归为例子。

3.2 L1和L2正则化

优化目标(损失函数):

加上L1正则项(lasso回归):

加上L2正则项(Ridge回归):

下面我们需要理解加了正则化项之后,对于目标函数求解的时候,最终解有什么变化。我们从图像角度来理解:

假设X是一个二维样本,那么要求解的参数也 也是二维的。下图叫做原函数曲线等高线图。目标函数在图中的等高线(同颜色)每一组 , ​ 带入值都想同,这里代表着多组解。

原函数等高函数图

加入L1和L2正则项后的函数图像

对比两幅图我们可以看出来:

如果不加L1和L2正则项,对于线性回归损失函数这样的凸函数,我们的最终结果就是最里面紫色小圈圈等高线上的点。

当加入L1正则化的时候,我们先画出|w1|+|w2|=F的图像,就是这个菱形。此时,我们的目标不仅是原来的曲线值要越小(接近中心紫色圈圈),还要使得这个菱形越小越好(F越小越好)。那么如果和原来的解一样的话,这个菱形明显很大。

L1范数求解图

3.3 求解

3.4 多角度理解正则化

详情请见:比较全面的L1和L2正则化的解释 (qq.com)

L1正则化和L2正则化的区别:

L1正则化就是在 loss function 后面加上L1范数,这样比较容易求到稀疏解。L2 正则化是在 loss function 后面加 L2范数(平方),相比L1正则来说,得到的解比较平滑(不是稀疏),但是同样能够保证解中接近于0(不等0)的维度比较多,降低模型的复杂度。

loss function 部分参考:

https://zhuanlan.zhihu.com/p/358103958

https://www.zhihu.com/question/47746939

https://blog.csdn.net/dream_to_dream/article/details/117745828

http://www.javashuo.com/article/p-fohpuvmc-ms.html

正则化 部分内容参考:

https://www.jianshu.com/p/76368eba9c90

https://zhuanlan.zhihu.com/p/418228948

相关推荐

360浏览器和qq浏览器哪个好?360浏览器和qq浏览器哪个好用详细分析
2018世界杯赛程及决赛全过程回放下载详情解析
外勤365官方网站

2018世界杯赛程及决赛全过程回放下载详情解析

📅 07-30 👁️ 3140
雪景拍攝技巧教學
office365登陆账号没有反应

雪景拍攝技巧教學

📅 07-06 👁️ 6136
京东膨胀福袋怎么玩?活动入口及玩法介绍
外勤365官方网站

京东膨胀福袋怎么玩?活动入口及玩法介绍

📅 09-07 👁️ 1195
机票知识:北美航司代金券指南(区别、如何使用、有效期等)【有航司允许2024年旅行完毕】
坦克世界配置要求高吗 游戏配置要求一览
外勤365官方网站

坦克世界配置要求高吗 游戏配置要求一览

📅 07-12 👁️ 5469