机器学习 什么是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博客
欢迎关注公众耗:微程序学堂
开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系以上是关于机器学习 什么是Cross Entropy 交叉熵的主要内容,如果未能解决你的问题,请参考以下文章
交叉熵(Cross entropy)代价函数及其在机器学习中的应用
交叉熵函数(Cross Entropy)与均方误差损失函数(MSE)对比?为什么选择交叉熵函数?
最大似然估计 (Maximum Likelihood Estimation), 交叉熵 (Cross Entropy) 与深度神经网络