CrossEntropyLoss交叉熵损失函数,与L1,L2(MSE)优缺点和区别

nn.CrossEntropyLoss() 交叉熵损失函数

应用:多分类,二分类问题。

交叉熵公式如下:

 在pytorch具体的数据中可以这样理解:

推理出的数据会首先经过softmax处理成0-1之间的数据,然后送入-log()中,出来的解决和真实标签对应位置上的每一个类别加和取均值。

数据演示:

推理数据:

真实标签:

 

softmax处理后的结果:

放入log函数中(注:python中log默认是以e为底):

 然后取绝对值,找到真实标签在每一个类别上对应位置上的数值。

绝对值处理过就是(2.9192+1.5599+2.4762 ) / 3  = 2.3185

CrossLoss 就等于 2.3185。

交叉熵根本上是对比出一种与真实值的接近程度,是一种信息上的概念。

而L1 L2(MSE)则是对每一个像素上对判断其与真实像素值的差距。

L1 : 绝对值误差

 L2:平方差

L1的收敛更快,对异常数据相对L2来说更不敏感,所以鲁棒性更好。

L2收敛的速度更慢,且由于平方的原因对异常点更加敏感,L2的梯度是越来越大的,所以容易找到最优值。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>