【机器学习】各种损失函数

版权声明:本文为博主原创文章,未经博主允许不得转载。    https://blog.csdn.net/qq547276542/article/details/77980042
常见的损失函数
1.0-1损失函数(0-1 loss function)
L(Y,f(X))={1,Y≠f(X)0,Y=f(X)
L(Y,f(X))={1,Y≠f(X)0,Y=f(X)
  可以看出,该损失函数的意义就是,当预测错误时,损失函数值为1,预测正确时,损失函数值为0。该损失函数不考虑预测值和真实值的误差程度,也就是只要预测错误,预测错误差一点和差很多是一样的。

2.平方损失函数(quadratic loss function)
L(Y,f(X))=(Y−f(X))2
L(Y,f(X))=(Y−f(X))2
  该损失函数的意义也很简单,就是取预测差距的平方。

3.绝对值损失函数(absolute loss function)
L(Y,f(X))=|Y−f(X)|
L(Y,f(X))=|Y−f(X)|
  该损失函数的意义和上面差不多,只不过是取了绝对值而不是求绝对值,差距不会被平方放大。

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

全局损失函数
  上面的损失函数仅仅是对于一个样本来说的。而我们的优化目标函数应当是使全局损失函数最小。因此,全局损失函数往往是每个样本的损失函数之和,即: 
J(w,b)=1m∑i=1mL(Y,f(X))
J(w,b)=1m∑i=1mL(Y,f(X))

  对于平方损失函数,为了求导方便,我们可以在前面乘上一个1/2,和平方项求导后的2抵消,即: 
J(w,b)=12m∑i=1m(Y−f(X))2
J(w,b)=12m∑i=1m(Y−f(X))2
逻辑回归中的损失函数
  在逻辑回归中,我们采用的是对数损失函数。由于逻辑回归是服从伯努利分布(0-1分布)的,并且逻辑回归返回的sigmoid值是处于(0,1)区间,不会取到0,1两个端点。因此我们能够将其损失函数写成以下形式: 
L(y^,y)=−(ylogy^+(1−y)log(1−y^))
L(y^,y)=−(ylog⁡y^+(1−y)log⁡(1−y^))

  解释一下含义:
当真实值y=1时,L(y^,y)=−logy^L(y^,y)=−log⁡y^,当预测值y^y^越接近1,logy^logy^也越接近最大值1,加上负号后就代表误差值最小。而当预测值y^y^越接近0,logy^logy^越接近负无穷,加上负号后就代表误差值最大。
当真实值y=0时,L(y^,y)=−log(1−y^)L(y^,y)=−log⁡(1−y^),当预测值y^y^越接近0,log(1−y^)log(1−y^)也越接近最大值1,加上负号后就代表误差值最小。而当预测值y^y^越接近1,log(1−y^)log(1−y^)越接近负无穷,加上负号后就代表误差值最大。
  最后逻辑回归中对于所有样本的损失函数为: 
J(w,b)=1m∑i=1mL(y^(i),y(i))=−1m∑i=1m[y(i)logy^(i)+(1−y(i))log(1−y^(i))]
--------------------- 
作者:shjyoudp 
来源:CSDN 
原文:https://blog.csdn.net/qq547276542/article/details/77980042 
 

猜你喜欢

转载自blog.csdn.net/weixin_41643439/article/details/84142825
今日推荐