信息熵,交叉熵与相对熵

前言

最近在多处看到熵的概念,之前零散的了解了一下,最近总结下,加深一下理解。

熵是信息论中的一个概念,用于衡量一个随机变量的不确定性,公式很简单: l o g ( 1 / p ( x ) ) log(1/p(x)) log(1/p(x)),其中 p ( x ) p(x) p(x)为x的概率分布(离散)或者概率密度(连续)函数,公式很直观,概率越小熵越大,即信息量越大。

信息熵

信息熵为熵的期望,用于衡量一个分布的不确定性,以下为离散变量概率分布下的计算公式:
H ( p ) = ∑ i p ( i ) l o g ( 1 / p ( i ) ) = − ∑ i p ( i ) l o g p ( i ) H(p)=\sum_i p(i)log(1/p(i))=-\sum_i p(i)logp(i) H(p)=ip(i)log(1/p(i))=ip(i)logp(i)
基本可以看出,当一个随机变量分布越散,信息熵越大,而分布越集中,信息熵越小,离散分布和连续分布类似,这里不多做讨论。

交叉熵

假设我们知道某个分布的真实概率分布 p ( x ) p(x) p(x)(机器学习中的标签)和一个预测概率分布 q ( x ) q(x) q(x)(模型预测概率),交叉熵公式为:
H ( p , q ) = ∑ i p ( i ) l o g ( 1 / q ( i ) ) = − ∑ i p ( i ) l o g q ( i ) H(p,q)=\sum_i p(i)log(1/q(i))=-\sum_i p(i)logq(i) H(p,q)=ip(i)log(1/q(i))=ip(i)logq(i)
前面讲到信息熵用于衡量一个分布的不确定性,个人理解交叉熵是以预测概率分布来衡量该真实分布的不确定性,因此交叉熵与信息熵是存在误差的,且预测概率分布与真实分布差距越大,这种误差就越大,因此引入相对熵来衡量这种误差。

相对熵(KL散度)

先上公式:
D ( p ∣ ∣ q ) = H ( p , q ) − H ( p ) = ∑ i p ( i ) l o g p ( i ) q ( i ) D(p||q)=H(p,q)-H(p)=\sum_i p(i)log\frac {p(i)}{q(i)} \\ D(pq)=H(p,q)H(p)=ip(i)logq(i)p(i)
顺带提一句,深度学习中经常使用交叉熵作为损失函数,实际上使用的是相对熵,只有相对熵才能衡量两个分布的差异,而在深度学习中,使用的训练集标签往往是完全确定的,例如分类车,当给定一张车的图片,可以将其认定为一个0-1分布:
P ( y ) = { 1 , y = 1 , 0 , y = 0. P(y)=\left\{ \begin{aligned} 1, y=1, \\ 0, y=0. \\ \end{aligned} \right. P(y)={1,y=1,0,y=0.
车的标签是车,因此 y = 1 y=1 y=1概率为1,因此其信息熵为 1 ∗ l o g 1 = 0 1*log1=0 1log1=0,此时相对熵等于交叉熵。

参考信息熵,交叉熵和相对熵

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值