常用损失函数

均方误差损失

[Jleft( {W,b,a,y} ight) = frac{1}{2}{left| {y - a} ight|^2}]

回归问题中,输出层一般用恒等函数,损失函数使用均方误差损失。

交叉熵损失

二分类:[Jleft( {W,b,a,y} ight) =  - left[ {yln a + left( {1 - y} ight)ln left( {1 - a} ight)} ight]]

多分类:[Jleft( {W,b,a,y} ight) =  - sumlimits_k {{y_k}ln {a_k}} ]

指数损失

[J = exp left( { - {y_i}fleft( {{x_i}} ight)} ight)]

0-1损失

当样本被正确分类时,损失为0;当样本被错误分类时,损失为1。

感知机损失函数

当样本被正确分类时,损失为0;当样本被错误分类时,损失为-y(wx+b)。

合页损失函数

当样本被正确分类且函数间隔大于1时,合页损失才是0,否则损失是1-y(wx+b)。

相比之下,合页损失函数不仅要正确分类,而且确信度足够高时损失才是0。也就是说,合页损失函数对学习有更高的要求。

重要的点有:1)如果使用sigmoid激活函数,则交叉熵损失函数一般肯定比均方差损失函数好(能把sigmoid的导数给消去)。2)如果是DNN用于分类,则一般在输出层使用softmax激活函数和对数似然损失函数。3ReLU激活函数对梯度消失问题有一定程度的解决,尤其是在CNN模型中。

原文地址:https://www.cnblogs.com/xumaomao/p/11078387.html