深度学习 比较三种损失函数的使用(交叉熵、平方、绝对值)

注意:yy^*代表的是标签值仅仅有010、1两个值,yy是获得的语义值(softmaxsoftmax后的逻辑值)

交叉熵:

Loss1=ylogyLoss1 = - y^**log^y

  • yy^*为0时:Loss的值为0
  • yy^*为1时:Loss的值为logy-log^y

平方:

Loss2=y(1y)2Loss2 = y^**(1-y)^2

  • yy^*为0时:Loss的值为0
  • yy^*为1时:Loss的值为(1y)2(1-y)^2

绝对值:

Loss3=y1y2Loss3 = y^**|1-y|^2

  • yy^*为0时:Loss的值为0
  • yy^*为1时:Loss的值为1y|1-y|

这是三种求损失函数的表达式

我们可以对这三种损失函数就行求偏导

这样我们可以得到:

Loss1=yyLoss1' = - \frac{y'}{y}

Loss2=2(1y)yLoss2' = - 2*(1-y)*y'

Loss3=yLoss3' = -y'

通过上面的表达式,我们可以进行比较一下

这三个LossLoss的值在进行梯度下降的时候,其中梯度的变化程度

因为yy是概率值,是大于0小于1的

所以按照公式进行比较的话,会有如下的答案:

Loss1>Loss3>Loss2Loss1 > Loss3 > Loss2


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章