常见的损失函数总结

损失函数(loss function)用来估量模型的预测值 f(x) 与真实值 Y 的不一致程度,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数的重要组成部分。模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子:

Rsrm(f)=1Ni=1NL(yi,f(xi))+λJ(f)

注:结构风险最小化:Structural risk minimization, SRM

前面的函数表示的是经验风险函数,L代表的是损失函数,后面的 λJ(f) 是正则化项或惩罚项,它可以是L1,也可以是L2,或者其他的正则函数。

对于损失函数,主要的形式有:

1. 对数损失函数(逻辑斯特回归)

对数损失函数的标准形式:

L(Y,P(Y|X))=logP(Y|X)

取对数是为了方便计算极大似然估计,因为在 MLE 中,直接求导比较困难,所以通常都是先取对数再求导找极值点。损失函数 L(Y,P(Y|X)) 表达的是样本 X 在分类 Y 的情况下,使概率 P(Y|X) 达到最大值(换言之,就是利用已知的样本分布,找到最有可能(即最大概率)导致这种分布的参数值;或者说什么样的参数才能使我们观测到目前这组数据的概率最大)。

逻辑斯特回归最后得到的目标式子如下:

J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]

2. 平方损失函数(最小二乘法)

平方损失函数的标准形式:

L(Y,f(X))=(Yf(X))2

最小二乘法是线性回归的一种,最小二乘法(OLS)将问题转化成了一个凸优化问题。最小二乘的基本原则是: 最优拟合直线应该是使各点到回归直线的距离和最小的直线,即平方和最小。

Yf(X) 表示的残差,整个式子表示的是残差的平方和,而我们的目标就是最小化这个目标函数值,也就是最小化残差平方和。

3. 指数损失函数(Adaboost)

指数损失函数的标准形式如下:

L(Y,f(X))=eYf(X)

可以看出,Adaboost 的目标式子就是指数函数,在给定 n 个样本的情况下,Adaboost 的损失函数为:
L(Y,f(X))=1ni=1neYif(Xi)

4. Hinge 损失函数(SVM)

在机器学习算法中,hinge 损失函数和 SVM 是息息相关的。Hinge 函数的标准形式:

L(Y)=max(0,1tY)

其中,t 为目标值(-1或+1),Y是分类器输出的预测值,并不直接是类标签。其含义为,当 t 和 Y 的符号相同时(表示y预测正确)并且|Y|≥1时,hinge loss为0;当 t 和 Y 的符号相反时,hinge loss 随着y的增大线性增大。

在 SVM 中,其损失函数最终可写为:

J(w)=12||w||2+CiLHinge

因此,SVM 的损失函数可以看做是 L2 正则化与 Hinge loss 之和。

5. 其他损失函数

除了上述所说的损失函数,常用的损失函数还有:

0-1损失函数

L(Y,f(X))={1,Yf(X)0,Y=f(X)

绝对值损失函数
L(Y,f(X))=|Yf(X)|

本篇博文主要参考资料:
[1] 常见损失函数
[2] 机器学习中常见的几种损失函数
[3] 机器学习中的常见问题——损失函数

你可能感兴趣的:(深度学习,机器学习,人工智能)