常用损失函数
均方误差损失
\[J\left( {W,b,a,y} \right) = \frac{1}{2}{\left\| {y - a} \right\|^2}\]
回归问题中,输出层一般用恒等函数,损失函数使用均方误差损失。
交叉熵损失
二分类:\[J\left( {W,b,a,y} \right) = - \left[ {y\ln a + \left( {1 - y} \right)\ln \left( {1 - a} \right)} \right]\]
多分类:\[J\left( {W,b,a,y} \right) = - \sum\limits_k {{y_k}\ln {a_k}} \]
指数损失
\[J = \exp \left( { - {y_i}f\left( {{x_i}} \right)} \right)\]
0-1损失
当样本被正确分类时,损失为0;当样本被错误分类时,损失为1。
感知机损失函数
当样本被正确分类时,损失为0;当样本被错误分类时,损失为-y(wx+b)。
合页损失函数
当样本被正确分类且函数间隔大于1时,合页损失才是0,否则损失是1-y(wx+b)。
相比之下,合页损失函数不仅要正确分类,而且确信度足够高时损失才是0。也就是说,合页损失函数对学习有更高的要求。
重要的点有:1)如果使用sigmoid激活函数,则交叉熵损失函数一般肯定比均方差损失函数好(能把sigmoid的导数给消去)。2)如果是DNN用于分类,则一般在输出层使用softmax激活函数和对数似然损失函数。3)ReLU激活函数对梯度消失问题有一定程度的解决,尤其是在CNN模型中。