常见的损失函数简介

参考文章链接


前言

损失函数(loss function)是一种衡量预测函数拟合真实值优劣的一种函数,用L(Y,f(x))来表示。一般来说,损失函数越小,模型的鲁棒性便越好,损失函数的出现便是为了使预测值更好地贴近真实值。但是为了防止过拟合现象,通常还要在此基础上添加结构损失函数,也就是正则化处理,常用的有L1,L2范数。下面介绍几种常见的单个样本下的损失函数。


一、0,1损失函数

L ( Y , f ( x ) ) = { 0 Y=f(x) 1 Y!=f(x) L(Y,f(x))= \begin{cases} 0& \text{Y=f(x)}\\ 1& \text{Y!=f(x)} \end{cases} L(Y,f(x))={01Y=f(x)Y!=f(x)
0,1损失函数是指预测值与目标值不想等为1相等为0。

0/1损失函数是最理想的损失函数,如果分类错误(只要有一个错误)就是1,全部正确就是0。不过这个函数是凸函数,且有不连续等性质,在实际应用中很难实现,所以才有了几种替代的损失函数,他们都是连续,凸函数。


二、绝对值损失函数

L ( Y , f ( x ) ) = ∣ Y − f ( x ) ∣ L(Y,f(x))=|Y-f(x)| L(Y,f(x))=Yf(x)

绝对值损失函数是为了计算预测值与真实值的差的绝对值。

M A E = 1 N ∑ i = 1 N ∣ Y i − f ( x i ) ∣ MAE=\frac{1}{N}\displaystyle\sum_{i=1}^{N} |Y_i-f(x_i)| MAE=N1i=1NYif(xi)

当从单个样本扩大到N个样本时,此时的损失函数称为平均绝对误差MAE。MAE是绝对误差的平均值 ,平均绝对误差能更好地反映预测值误差的实际情况。


三、log对数损失函数(逻辑回归)

L ( Y , P ( Y ∣ f ( x ) ) ) = − l o g P ( Y ∣ f ( x ) ) L(Y,P(Y|f(x)))=-logP(Y|f(x)) L(Y,P(Yf(x)))=logP(Yf(x))

log对数损失函数用到了极大似然估计的思想。P(Y|X)通俗的解释就是:在当前模型的基础上,对于样本X,其预测值为Y,也就是预测正确的概率。由于概率之间的同时满足需要使用乘法,为了将其转化为加法,通常将其转换为对数。最后由于是损失函数,所以预测正确的概率越高,其损失值应该是越小,因此再加个负号取个反。

在进行逻辑回归运算时使用的函数便是log对数损失函数。

逻辑回归的P(Y=y|x)表达式如下(为了将类别标签y统一为1和0,下面将表达式分开表示,f(x)是sigmoid函数):
P ( y ∣ x ) = { h θ ( x ) = g ( f ( x ) ) = 1 1 + e x p ( − f ( x ) ) y=1 1 − h θ ( x ) = 1 − g ( f ( x ) ) = 1 1 + e x p ( f ( x ) ) y=0 P(y|x)= \begin{cases} h_θ(x)=g(f(x))=\frac{1}{1+exp(-f(x))}& \text{y=1}\\ 1-h_θ(x)=1-g(f(x))=\frac{1}{1+exp(f(x))}& \text{y=0} \end{cases} P(yx)={hθ(x)=g(f(x))=1+exp(f(x))11hθ(x)=1g(f(x))=1+exp(f(x))1y=1y=0

当从单个样本扩大到N个样本时,此时的平均似然函数:

L ( θ ) = 1 n ∏ i = 1 n [ h θ ( x i ) ] y i [ 1 − h θ ( x i ) ] 1 − y i L(θ)=\frac{1}{n}\displaystyle\prod_{i=1}^{n} [h_θ(x_i)]^{y_i}[1-h_θ(x_i)]^{1-y_i} L(θ)=n1i=1n[hθ(xi)]yi[1hθ(xi)]1yi

为了方便计算,将等式两边取对数,取负号,得到log对数损失函数,即在逻辑回归模型中,最大化似然函数和最小化损失函数实际上是等价的。

J ( θ ) = − 1 n l o g L ( θ ) = − 1 n ∑ i = 1 n [ y i l o g ( h θ ( x i ) ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ] J(θ)=-\frac{1}{n}logL(θ)=-\frac{1}{n}\displaystyle\sum_{i=1}^{n}[y_ilog(h_θ(x_i))+(1-y_i)log(1-h_θ(x_i))] J(θ)=n1logL(θ)=n1i=1n[yilog(hθ(xi))+(1yi)log(1hθ(xi))]


四、平方损失函数(线性回归)

L ( Y , f ( x ) ) = ( Y − f ( x ) ) ² L(Y,f(x))=(Y-f(x))² L(Y,f(x))=(Yf(x))²

平方损失函数是为了计算预测值与真实值的差的平方,通常用于线性回归问题。

Y-f(x)表示的是残差,整个式子表示的是残差的平方和,而我们的目的就是最小化这个目标函数值,也就是最小化残差的平方和(residual sum of squares,RSS)。

M S E = L ( Y i , f ( x i ) ) = 1 N ∑ i = 1 N ( Y i − f ( x i ) ) ² MSE=L(Y_i,f(x_i))=\frac{1}{N}\displaystyle\sum_{i=1}^{N} (Y_i-f(x_i))² MSE=L(Yi,f(xi))=N1i=1N(Yif(xi))²

当从单个样本扩大到N个样本时,此时的损失函数称为均方误差MSE。在实际应用中,通常会使用MSE作为一项衡量指标。MSE是指参数估计值与参数真值之差平方的期望值; MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。

R M S E = 1 N ∑ i = 1 N ( Y i − f ( x i ) ) ² RMSE=\sqrt {\frac{1}{N}\displaystyle\sum_{i=1}^{N} (Y_i-f(x_i))²} RMSE=N1i=1N(Yif(xi))²

均方根误差RMSE是均方误差的算术平方根,能够直观观测预测值与实际值的离散程度。通常用来作为线性回归算法的性能指标。


五、指数损失函数(AdaBoost)

L ( Y , f ( x ) ) = e x p ( − y f ( x ) ) L(Y,f(x))=exp(-yf(x)) L(Y,f(x))=exp(yf(x))

指数损失函数对离群点、噪声非常敏感。经常用在AdaBoost算法中。

L ( Y i , f ( x i ) ) = 1 N ∑ i = 1 N e x p [ − Y i f ( x i ) ] L(Y_i,f(x_i))=\frac{1}{N}\displaystyle\sum_{i=1}^{N} exp[-Y_if(x_i)] L(Yi,f(xi))=N1i=1Nexp[Yif(xi)]

当从单个样本扩大到N个样本时,上式即为Adaboost的损失函数。


六、Hinge损失函数(SVM)

L ( Y , f ( x ) ) = m a x ( 0 , 1 − y f ( x ) ) L(Y,f(x))=max(0,1-yf(x)) L(Y,f(x))=max(0,1yf(x))
Hinge损失函数一般作为分类算法中的损失函数,尤其是SVM中。


七、正则项L1,L2

L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓“惩罚”是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。

L1正则化是指权值向量w中各个元素的绝对值之和,通常表示为||w||1。
L2正则化是指权值向量w中各个元素的平方和然后再求平方根,通常表示为||w||2。

而在在正则化项之前一般都会添加一个系数,这个系数需要由用户来指定。


总结

以上便是所有的内容了,本文简单介绍了一些常见的单个样本下的损失函数和正则化项L1和L2。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值