常见的损失函数总结

损失函数(loss function)用来估量模型的预测值 f ( x ) f(x) f(x) 与真实值 Y Y Y 的不一致程度,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数的重要组成部分。模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子:
R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R_{srm}(f)=\frac{1}{N}\sum_{i=1}^NL(y_i,f(x_i))+\lambda J(f) Rsrm(f)=N1i=1NL(yi,f(xi))+λJ(f)
注:结构风险最小化:Structural risk minimization, SRM

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

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

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

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

逻辑斯特回归最后得到的目标式子如下:
J ( θ ) = − 1 m [ ∑ i = 1 m y ( i ) l o g h θ ( x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) ] J(\theta)=-\frac{1}{m}[\sum_{i=1}^my^{(i)}logh_{\theta}(x^{(i)})+(1-y^{(i)})log(1-h_{\theta}(x^{(i)}))] J(θ)=m1[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]

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

平方损失函数的标准形式:
L ( Y , f ( X ) ) = ( Y − f ( X ) ) 2 L(Y,f(X))=(Y-f(X))^2 L(Y,f(X))=(Yf(X))2
最小二乘法是线性回归的一种,最小二乘法(OLS)将问题转化成了一个凸优化问题。最小二乘的基本原则是:最优拟合直线应该是使各点到回归直线的距离和最小的直线,即平方和最小。

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

3. 指数损失函数(Adaboost)

指数损失函数的标准形式如下:
L ( Y , f ( X ) ) = e − Y f ( X ) L(Y,f(X))=e^{-Yf(X)} L(Y,f(X))=eYf(X)
可以看出,Adaboost 的目标式子就是指数函数,在给定 n 个样本的情况下,Adaboost 的损失函数为:
L ( Y , f ( X ) ) = 1 n ∑ i = 1 n e − Y i f ( X i ) L(Y,f(X))=\frac{1}{n}\sum_{i=1}^ne^{-Y_if(X_i)} L(Y,f(X))=n1i=1neYif(Xi)

4. Hinge 损失函数(SVM)

在机器学习算法中,hinge 损失函数和 SVM 是息息相关的。Hinge 函数的标准形式:
L ( Y ) = m a x ( 0 , 1 − t Y ) L(Y)=max(0,1-tY) 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 ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i L H i n g e J(w)=\frac{1}{2}||w||^2+C\sum_iL_{Hinge} J(w)=21w2+CiLHinge
因此,SVM 的损失函数可以看做是 L2 正则化与 Hinge loss 之和。

5. 其他损失函数

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

0-1损失函数
L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) L(Y,f(X))=\begin{cases}1, Y\neq f(X) \\ 0, Y=f(X) \end{cases} L(Y,f(X))={1,Y=f(X)0,Y=f(X)
绝对值损失函数
L ( Y , f ( X ) ) = ∣ Y − f ( X ) ∣ L(Y,f(X))=|Y-f(X)| L(Y,f(X))=Yf(X)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值