信息熵,交叉熵和相对熵

1 信息熵的抽象定义
信息熵是由信息论之父香农提出来的,它用于随机变量的不确定性度量,先上信息熵的公式。

H(P)=ip(i)logp(i) H ( P ) = ∑ i p ( i ) log ⁡ p ( i )

我们可以用log ( 1/P )来衡量不确定性。P是一件事情发生的概率,概率越大,不确定性越小。

可以看到信息熵的公式,其实就是log ( 1/P )的期望,就是不确定性的期望,它代表了一个系统的不确定性,信息熵越大,不确定性越大。

霍夫曼编码就是利用了这种大概率事件分配短码的思想,而且可以证明这种编码方式是最优的。我们可以证明上述现象:

为了获得信息熵为 H(X) 的随机变量 X 的一个样本,平均需要抛掷均匀硬币(或二元问题) H(X) 次 信息熵是数据压缩的一个临界值(参考码长部分的案例, 所以,信息熵H(X)可以看做,对X中的样本进行编码所需要的编码长度的期望值。

2 交叉熵和KL散度

信息熵H(X)可以看做,对X中的样本进行编码所需要的编码长度的期望值。

这里可以引申出交叉熵的理解,现在有两个分布,真实分布p和非真实分布q,我们的样本来自真实分布p。

按照真实分布p来编码样本所需的编码长度的期望为, ip(i)logp(i) − ∑ i p ( i ) log ⁡ p ( i ) 这就是上面说的信息熵H(p)

按照不真实分布q来编码样本所需的编码长度的期望为, ip(i)logq(i) − ∑ i p ( i ) log ⁡ q ( i ) 这就是所谓的交叉熵H( p,q )

这里引申出KL散度 D(p||q)=H(p,q)H(p)=ip(i)logp(i)q(i) D ( p | | q ) = H ( p , q ) − H ( p ) = − ∑ i p ( i ) l o g p ( i ) q ( i ) ,也叫做相对熵,它表示两个分布的差异,差异越大,相对熵越大。

机器学习中,我们用非真实分布q去预测真实分布p,因为真实分布p是固定的,D(p||q) = H(p,q) - H(p) 中 H(p) 固定,也就是说交叉熵H(p,q)越大,相对熵D(p||q)越大,两个分布的差异越大。

所以交叉熵用来做损失函数就是这个道理,它衡量了真实分布和预测分布的差异性。

3 另外

哈夫曼编码和使用概率和获胜概率对应,二进制码长和二元问题的数量相对应,最后算出来的平均码长和平均使用的二元问题数量相对应。

香农也证明了哈夫曼这样的编码是最佳编码(平均码长为能达到的最小的极限)。

从编码的角度,可以这样简单总结,信息熵是最优编码(最短的平均码长),交叉熵是非最优编码(大于最短的平均码长),KL散度是两者的差异(距离最优编码的差距)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值