损失
目录:
一、0-1损失函数
二、平方损失函数(Square Loss):主要是最小二乘法(OLS)中;
三、绝对值损失函数
四、对数损失函数(Cross Entropy Loss,Softmax Loss ):用于logistic 回归与Softmax 分类中;
五、指数损失函数(Exponential Loss) :主要用于Adaboost 集成学习算法中;
六、铰链损失函数(Hinge Loss):主要用于支持向量机(SVM) 中;
内容:
一、0-1损失函数
L(Y,f(X))={1,Y≠f(X)0,Y=f(X)
可以看出,该损失函数的意义就是,当预测错误时,损失函数值为1,预测正确时,损失函数值为0。该损失函数不考虑预测值和真实值的误差程度,也就是只要预测错误,预测错误差一点和差很多是一样的。
二、平方损失函数
L(Y,f(X))=(Y−f(X))2
该损失函数的意义也很简单,就是取预测差距的平方。
三、绝对值损失函数
L(Y,f(X))=|Y−f(X)|
该损失函数的意义和上面差不多,只不过是取了绝对值,差距不会被平方缩放。
四、对数损失函数
L(Y,P(Y|X))=−logP(Y|X)
这个损失函数就比较难理解了。事实上,该损失函数用到了极大似然估计的思想。P(Y|X)通俗的解释就是:在当前模型的基础上,对于样本X,其预测值为Y,也就是预测正确的概率。由于概率之间的同时满足需要使用乘法,为了将其转化为加法,我们将其取对数。最后由于是损失函数,所以预测正确的概率越高,其损失值应该是越小,因此再加个负号取个反。
经典的对数损失函数包括entropy和softmax,这里以entropy为例在逻辑回归中,我们采用的是对数损失函数。由于逻辑回归是服从伯努利分布(0-1分布)的,并且逻辑回归返回的sigmoid值是处于(0,1)区间,不会取到0,1两个端点。因此我们能够将其损失函数写成以下形式:
L(ŷ ,y)=−(ylogŷ +(1−y)log(1−ŷ ))
解释一下含义:
- 当真实值y=1时,L(ŷ ,y)=−logŷ ,当预测值ŷ 越接近1,logŷ 也越接近最大值1,加上负号后就代表误差值最小。而当预测值ŷ 越接近0,logŷ 越接近负无穷,加上负号后就代表误差值最大。
- 当真实值y=0时,L(ŷ ,y)=−log(1−ŷ ),当预测值ŷ 越接近0,log(1−ŷ )也越接近最大值1,加上负号后就代表误差值最小。而当预测值ŷ 越接近1,log(1−ŷ )越接近负无穷,加上负号后就代表误差值最大。
最后逻辑回归中对于所有样本的损失函数为:
J(w,b)=1m∑i=1mL(ŷ (i),y(i))=−1m∑i=1m[y(i)logŷ (i)+(1−y(i))log(1−ŷ (i))]
五、指数损失函数
指数误差,在boosting
算法中比较常见:
J(w)=λR(w)+∑iexp(−yifw(xi))
学过Adaboost算法的人都知道,它是前向分步加法算法的特例,是一个加和模型,损失函数就是指数函数。在Adaboost中,经过m此迭代之后,可以得到fm(x)fm(x):
Adaboost每次迭代时的目的是为了找到最小化下列式子时的参数α 和G:
而指数损失函数(exp-loss)的标准形式如下
可以看出,Adaboost的目标式子就是指数损失,在给定n个样本的情况下,Adaboost的损失函数为:
六、hinge loss损失函数
hinge损失函数和SVM是息息相关的。在线性支持向量机中,最优化问题可以等价于下列式子:
下面来对式子做个变形,令:
于是,原式就变成了:
相关阅读
目标函数、损失函数、代价函数http://www.cnblogs.com/Belter/p/6653773.html注:代价函数(有的地方也叫损失函数,Loss Function)在机
一:损失函数,代价函数,目标函数定义首先给出结论:损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。代价函数(Cost F
一、摘要本文主要总结一下常见的损失函数,包括:MSE均方误差损失函数、SVM合页损失函数、Cross Entropy交叉熵损失函数、目标检测中