PS:本文仅作学习过程的记录与讨论
Cross Entropy:一般是用来量化两个概率分布之间差异的损失函数(多用于分类问题)。
举个例子,在多分类问题中,一个物体所属于不同类别的真实分布p如下:

真实的分类概率
也就是说,真实的分类是这个物体属于Class B。
然后,你手撸了一个机器学习的预测模型,预测分布q如下:

预测的分类概率
你眉头一皱:我这预测的结果和真实的结果差多远呢?(这就是Cross Entropy能做的)
于是你搬出了一个公式(具体推导过程可以看参考链接[2])

Cross Entropy公式
将以上两个数据带入公式,手动计算:
因此,你的预测模型的Cross Entropy总损失为:0.479,也代表你的预测和真实分布之间的距离有多远。
以上大概就是Cross Entropy的基本概念和用法啦,如果还想继续深入Cross Entropy的基本原理的话,可以看相关的参考资料(交叉熵(Cross-Entropy) - rtygbwwwerr的专栏 - CSDN博客)。
另外,Cross Entropy只是损失函数的一种(分类问题常用Cross Entropy),具体用什么还得看你的模型和任务啦。计算出Cross Entropy Loss之后呢,也可以用Gradient Descent来进行参数的更新。
最后,关于Softmax和ont-hot,这也是多分类问题常用的方法,如Softmax可以将神经网络的输出归一化到(0,1)区间,所以也可以将Softmax的输出当做是概率,从而使用Cross Entropy计算Loss。
参考资料:
[1]交叉熵代价函数 - wepon的专栏 - CSDN博客
[2]交叉熵(Cross-Entropy) - rtygbwwwerr的专栏 - CSDN博客
[3]简单谈谈Cross Entropy Loss
[4]What is cross-entropy?
[5]周末问答 0:什么是 Croos Entropy?
原文:笔记 | 什么是Cross Entropy - 知乎
欢迎关注公众耗:微程序学堂