信息量、香农熵、交叉熵、KL散度的意义


1. 信息量

相关概念:

对于一个事件:

  • 小概率 – > 大的信息量
  • 大概率 – > 小的信息量
  • 多个独立事件的信息量计算可以直接相加

表达公式:

信息量的计算公式:

I ( x ) = l o g 2 ( 1 p ( x ) ) = − l o g 2 ( p ( x ) ) \begin{aligned} &I(x)=log_2(\frac{1}{p(x)})=-log_2(p(x)) \end{aligned} I(x)=log2(p(x)1)=log2(p(x))

举例:

①均匀的硬币

事件概率信息量
正面 p ( h ) = 0.5 p(h)=0.5 p(h)=0.5 I p ( h ) = l o g 2 ( 1 0.5 ) = 1 I_p(h)=log_2(\frac{1}{0.5})=1 Ip(h)=log2(0.51)=1
反面 p ( t ) = 0.5 p(t)=0.5 p(t)=0.5 I p ( t ) = l o g 2 ( 1 0.5 ) = 1 I_p(t)=log_2(\frac{1}{0.5})=1 Ip(t)=log2(0.51)=1

②不均匀的硬币

事件概率信息量
正面 q ( h ) = 0.2 q(h)=0.2 q(h)=0.2 I q ( h ) = l o g 2 ( 1 0.2 ) = 2.32 I_q(h)=log_2(\frac{1}{0.2})=2.32 Iq(h)=log2(0.21)=2.32
反面 q ( t ) = 0.8 q(t)=0.8 q(t)=0.8 I q ( t ) = l o g 2 ( 1 0.8 ) = 0.32 I_q(t)=log_2(\frac{1}{0.8})=0.32 Iq(t)=log2(0.81)=0.32

2. 香农熵

熵的概念:服从某一概率分布的平均信息量(期望),也是一种不确定度的计算方式。

香农熵的计算公式:

H ( p ) = ∑ p i I i p = ∑ p i l o g 2 ( 1 p i ) = − ∑ p i l o g 2 ( p i ) \begin{aligned} &H(p)=\sum{p_iI_i^p}=\sum {p_ilog_2(\frac{1}{p_i})=-\sum {p_ilog_2(p_i)}} \end{aligned} H(p)=piIip=pilog2(pi1)=pilog2(pi)

举例:

①均匀的硬币 p ( h ) = 0.5 p(h)=0.5 p(h)=0.5, p ( t ) = 0.5 p(t)=0.5 p(t)=0.5

H ( p ) = p ( h ) l o g 2 1 p ( h ) + p ( t ) l o g 2 1 p ( t ) = 0.5 × 1 + 0.5 × 1 = 1 H(p)=p(h)log_2{\frac{1}{p(h)}}+p(t)log_2{\frac{1}{p(t)}} = 0.5×1+0.5×1=1 H(p)=p(h)log2p(h)1+p(t)log2p(t)1=0.5×1+0.5×1=1

②不均匀的硬币 q ( h ) = 0.2 q(h)=0.2 q(h)=0.2, q ( t ) = 0.8 q(t)=0.8 q(t)=0.8

H ( p ) = q ( h ) l o g 2 1 q ( h ) + q ( t ) l o g 2 1 q ( t ) = 0.2 × 2.32 + 0.8 × 0.32 = 0.72 H(p)=q(h)log_2{\frac{1}{q(h)}}+q(t)log_2{\frac{1}{q(t)}} = 0.2×2.32+0.8×0.32=0.72 H(p)=q(h)log2q(h)1+q(t)log2q(t)1=0.2×2.32+0.8×0.32=0.72

- -总结- -
对于一个概率分布:

  • 概率分布越平均 – > 越随机 – > 熵越大
  • 概率分布越聚拢 – > 越确定 – > 熵越小

3. 交叉熵

还是用上面的例子

一个均匀硬币:
    真实概率(ground truth probability): p ( h ) = 0.5 ,   p ( t ) = 0.5 p(h)=0.5,\ p(t)=0.5 p(h)=0.5, p(t)=0.5
    估计概率(estimated probability):    q ( h ) = 0.2 ,   q ( t ) = 0.8 \ \ q(h)=0.2,\ q(t)=0.8   q(h)=0.2, q(t)=0.8

给定估计概率分布 q q q,其真实概率分布 p p p的信息量的均值(期望)的估算如下:

H ( p , q ) = ∑ p i I i q = ∑ p i l o g 2 ( 1 q i ) = − ∑ p i l o g 2 ( q i ) \begin{aligned} &H(p,q)=\sum{p_iI_i^q}=\sum {p_ilog_2(\frac{1}{q_i})=-\sum {p_ilog_2(q_i)}} \end{aligned} H(p,q)=piIiq=pilog2(qi1)=pilog2(qi)

  • 使用期望 H ( p , q ) H(p,q) H(p,q)代替真实概率分布 p p p,因为数据根据真实概率分布出现
  • 使用估计的概率分布 q q q来量化信息量 H ( p , q ) H(p,q) H(p,q)

解释:
    在数据分布总是符合真实概率分布的情况下,期望值取代真实概率分布意味着我们在使用期望值来进行预测或计算,而不是直接使用真实的概率分布。这种情况在许多实际应用中非常常见,因为真实概率分布通常是未知的,我们只能基于观测数据进行估计。

根据交叉熵的计算公式,我通过举例两种情况来说明交叉熵的意义:

    假如   q ( h ) = 0.2 ,   q ( t ) = 0.8 \ q(h)=0.2,\ q(t)=0.8  q(h)=0.2, q(t)=0.8,它与真实概率分布 p ( h ) = 0.5 ,   p ( t ) = 0.5 p(h)=0.5,\ p(t)=0.5 p(h)=0.5, p(t)=0.5,相差较大。计算交叉熵:

H ( p , q ) = p ( h ) l o g 2 1 q ( h ) + p ( t ) l o g 2 1 q ( t ) = 0.5 × 2.32 + 0.5 × 0.32 = 1.32 \begin{aligned} H(p,q)=p(h)log_2{\frac{1}{q(h)}}+p(t)log_2{\frac{1}{q(t)}} = 0.5×2.32+0.5×0.32=1.32 \end{aligned} H(p,q)=p(h)log2q(h)1+p(t)log2q(t)1=0.5×2.32+0.5×0.32=1.32

    假如   q ( h ) = 0.4 ,   q ( t ) = 0.6 \ q(h)=0.4,\ q(t)=0.6  q(h)=0.4, q(t)=0.6,它与真实概率分布 p ( h ) = 0.5 ,   p ( t ) = 0.5 p(h)=0.5,\ p(t)=0.5 p(h)=0.5, p(t)=0.5,相差较小。计算交叉熵:

H ( p , q ) = p ( h ) l o g 2 1 q ( h ) + p ( t ) l o g 2 1 q ( t ) = 0.5 × 1.32 + 0.5 × 0.74 = 1.03 \begin{aligned} H(p,q)=p(h)log_2{\frac{1}{q(h)}}+p(t)log_2{\frac{1}{q(t)}} = 0.5×1.32+0.5×0.74=1.03 \end{aligned} H(p,q)=p(h)log2q(h)1+p(t)log2q(t)1=0.5×1.32+0.5×0.74=1.03

其中,1.03相比于1.32更接近1。从上面两种情况可以得出,估计概率与真实概率相差越大,其交叉熵越偏离真实的 H ( p ) ( = 1 ) H(p)(=1) H(p)(=1)

4. KL散度(Kullback-Leibler Divergence(Relative Entropy))

概念:一种计算两种不同概率分布的差距的量化方式,比如交叉熵和熵。

D ( p ∣ ∣ q ) = H ( p , q ) − H ( p ) = ∑ p i I i q − ∑ p i I i p = ∑ p i l o g 2 ( 1 q i ) − ∑ p i l o g 2 ( 1 p i ) = ∑ p i l o g 2 ( p i q i ) \begin{aligned} D(p||q)&=H(p,q)-H(p) \\ &=\sum{p_iI_i^q}-\sum{p_iI_i^p} \\ &=\sum{p_ilog_2{(\frac{1}{q_i}})} - \sum{p_ilog_2{(\frac{1}{p_i}})} \\ & =\sum{p_ilog_2{(\frac{p_i}{q_i}})} \\ \end{aligned} D(p∣∣q)=H(p,q)H(p)=piIiqpiIip=pilog2(qi1)pilog2(pi1)=pilog2(qipi)

  • D ( p ∣ ∣ q ) ≥ 0 D(p||q)≥0 D(p∣∣q)0,当且仅当两个分布相同时, D ( p ∣ ∣ q ) = 0 D(p||q)=0 D(p∣∣q)=0

  • D ( p ∣ ∣ q ) ≠ D ( q ∣ ∣ p ) D(p||q)≠D(q||p) D(p∣∣q)=D(q∣∣p),即不是一种距离度量;

  • 有时,最小化KL散度等价于最小化交叉熵 ,例如, ∇ θ D ( p ∣ ∣ q θ ) = ∇ θ H ( p , q θ ) − ∇ θ H ( p ) = ∇ θ H ( p , q θ ) \nabla_\theta D(p||q_\theta)=\nabla_\theta H(p,q_\theta)-\nabla_\theta H(p)=\nabla_\theta H(p,q_\theta) θD(p∣∣qθ)=θH(p,qθ)θH(p)=θH(p,qθ)

  • 23
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cpdr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值