机器学习 什么是Cross Entropy 交叉熵

Posted 软件工程小施同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习 什么是Cross Entropy 交叉熵相关的知识,希望对你有一定的参考价值。

Cross Entropy 交叉熵,网上有很多准确且专业的讲解文章,但可不可以用简单的方式告诉我啥是Cross Entropy呢?

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 - 知乎

欢迎关注公众耗:微程序学堂

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于机器学习 什么是Cross Entropy 交叉熵的主要内容,如果未能解决你的问题,请参考以下文章

交叉熵(Cross entropy)代价函数及其在机器学习中的应用

机器学习基础熵KL散度交叉熵

交叉熵函数(Cross Entropy)与均方误差损失函数(MSE)对比?为什么选择交叉熵函数?

最大似然估计 (Maximum Likelihood Estimation), 交叉熵 (Cross Entropy) 与深度神经网络

cross-entropy(交叉熵)

常见LOSS函数之Cross Entropy(交叉熵)