Cross Entropy和Negative Log Likelihood

机器学习中损失函数经常会使用Cross Entropy和Negative Log Likelihood两个概念。两者本质上等价,概念上讲,Cross Entropy基于信息论,Negative Log Likelihood基于最大似然。

Cross Entropy

先来看Cross Entropy,即交叉熵。为了理解交叉熵,先来了解什么是Entropy熵。信息论中熵的公式定义为:

H(X)=i=1np(xi)log(p(xi))

其中,I(x)=logP(x) 表示某一事件 X=x 的自信息。由于概率值P(x)取值范围为 [0,1],对其取对数后,值范围为 (,0],再加上负号,值范围为 [0,)

交叉熵的定义包含p和q两个分布,定义为:

H(p,q)=i=1np(xi)log(q(xi))

p表示X的真实分布,机器学习中为y的标签值。q表示X的估计分布,机器学习中对应y的预测值。

Negative Log Likelihood

likelihood表示似然,和概率的区别在于:

  • 概率P表示在给定分布参数W的前提下,观测事件X出现的可能性
  • 似然L表示在给定观测事件X的前提下,分布参数W出现的可能性

用公式表达:

L(x1,,xm|W)=P(x1,,xm|W)

可以看出概率和似然的值相同,但各自的含义要有明确区分。

Negative Log Likelihood表示为:

logL(x1,,xm|W)

根据样本独立性,上式作出以下变换:

logL(x1,,xm|W)=logj=1mL(xj|W)=j=1mlogL(xj|W)

注意到上式中X的索引为j,表示不同样本,对上式除以m,求平均值,将表达式索引转为i,表示样本的不同取值:

1mj=1mlogL(xj|W)=i=1np(xi)logL(xi|W)

接下来,将似然函数L看成是X的概率函数,得到:

i=1np(xi)logL(xi|W)=i=1np(xi)logq(xi)

即证明了Cross Entropy和Negative Log Likelihood等价。

参考资料

posted @   g2012  阅读(598)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示