直观理解为什么分类问题用交叉熵损失而不用均方误差损失?

2019-12-16 18:08:41 浏览数 (1)

交叉熵损失与均方误差损失

常规分类网络最后的softmax层如下图所示,传统机器学习方法以此类比,

一共有

K

类,令网络的输出为

,对应每个类别的概率,令label为

[y1,…,yK]

。对某个属于

p

类的样本,其label中

yp=1

y1,…,yp−1,yp 1,…,yK

均为0。

对这个样本,交叉熵(cross entropy)损失

均方误差损失(mean squared error,MSE)

m

个样本的损失为

ell = frac{1}{m} sum_{i=1}^m L_i

对比交叉熵损失与均方误差损失,只看单个样本的损失即可,下面从两个角度进行分析。

损失函数角度

损失函数是网络学习的指挥棒,它引导着网络学习的方向——能让损失函数变小的参数就是好参数。

所以,损失函数的选择和设计要能表达你希望模型具有的性质与倾向。

分类问题中,对于类别之间的相关性,我们缺乏先验。

虽然我们知道,与“狗”相比,“猫”和“老虎”之间的相似度更高,但是这种关系在样本标记之初是难以量化的,所以label都是one hot。

在这个前提下,均方误差损失可能会给出错误的指示,比如猫、老虎、狗的3分类问题,label为

[1,0,0]

,在均方误差看来,预测为

[0.8, 0.1, 0.1]

要比

[0.8, 0.15, 0.05]

要好,即认为平均总比有倾向性要好,但这有悖我们的常识

对交叉熵损失,既然类别间复杂的相似度矩阵是难以量化的,索性只能关注样本所属的类别,只要

越接近于1就好,这显示是更合理的。

softmax反向传播角度

softmax的作用是将

(−∞, ∞)

的几个实数映射到

(0,1)

之间且之和为1,以获得某种概率解释。

综上,对分类问题而言,无论从损失函数角度还是softmax反向传播角度,交叉熵都比均方误差要好。

参考

  • Loss Functions
  • Why You Should Use Cross-Entropy Error Instead Of Classification Error Or Mean Squared Error For Neural Network Classifier Training

0 人点赞