PRML1.6 信息论简介

最近需要比较两个集合的KL散度,特意翻了一下PRML中的相关章节,做个小结。如果不够的化还得翻information theory的书TAT

离散随机变量的信息量

首先从最简单的离散随机变量 X ∈ { x 1 , x 2 , . . . x M } X\in\{x_1,x_2,...x_M\} X{x1,x2,...xM}说起,假设 P r ( x i ) = p i Pr(x_i)=p_i Pr(xi)=pi,则有 ∑ i = 1 \sum_i=1 i=1。如果我们采样到了 X X X的一个具体值 x x x,考虑到我们关心的是 X X X及其分布 p p p,而不是某次观测到的具体的 x x x,所以我们肯定要问,这个观测值给我们提供了多少(关于 X X X(或 p p p)的)信息?PRML用“degree of surprise”来描述这个信息量 h ( x ) h(x) h(x)。这怎么理解呢?
我们举个极端的例子:太阳已经东升西落了上亿年,但是我们假设其升落方向其实是一个随机变量。那么有一天太阳从北方升起来了,这次采样的信息量就远远大于采样到从东方升起,同时“degree of surprise”也更大。我们不妨换一个角度,也可以把信息量看作此次采样对于我们认识真实分布 p p p的帮助程度(或有用程度),采到概率越小的点,越有助于我们认识整体分布。
由上直觉可知 h ( x i ) h(x_i) h(xi)必须得是 p i p_i pi的单调减函数。另一方面对于两个独立事件 x , y x,y x,y,他们总的信息量 h ( x , y ) h(x,y) h(x,y)应当是各自信息量之和 h ( x ) + h ( y ) h(x)+h(y) h(x)+h(y),而总的概率 P r ( x , y ) Pr(x,y) Pr(x,y)应当是各自概率之积 P r ( x ) P r ( y ) Pr(x)Pr(y) Pr(x)Pr(y),所以很自然有了定义: h ( x ) = − l o g 2 P r ( x ) h(x)=-log_2Pr(x) h(x)=log2Pr(x)这里底数的选择比较灵活,如果以2为底,则信息量的单位是bit;如果以 e e e为底,单位则是nat。 h ( x ) h(x) h(x)也正好具有非负的特性。

离散随机变量的平均信息量——熵

信息量描述的对象是一次采样样本,推广到统计意义上,便有了平均信息量的概念——随机变量 X X X的熵:
H [ X ] = − ∑ x P r ( x ) l o g 2 P r ( x ) = − ∑ i p i l o g 2 p i H[X]=-\sum_xPr(x)log_2Pr(x)=-\sum_ip_ilog_2p_i H[X]=xPr(x)log2Pr(x)=ipilog2pi
其中,由洛必答法则, l i m p i → 0 ∑ i p i l o g 2 p i = 0 lim_{p_i\rarr0}\sum_ip_ilog_2p_i=0 limpi0ipilog2pi=0
PRML中给了个例子:对于一个包含8状态 { a , b , c , d , e , f , g , h } \{a,b,c,d,e,f,g,h\} {a,b,c,d,e,f,g,h}的随机变量,出现概率分别是 { 1 2 , 1 4 , 1 8 , 1 16 , 1 64 , 1 64 , 1 64 , 1 64 , } \{\dfrac{1}{2},\dfrac{1}{4},\dfrac{1}{8},\dfrac{1}{16},\dfrac{1}{64},\dfrac{1}{64},\dfrac{1}{64},\dfrac{1}{64},\} {21,41,81,161,641,641,641,641,},其熵是2bits。另一方面,通过霍夫曼编码得到的 { 1 , 01 , 001 , 0001 , 000011 , 000010 , 000001 , 000000 } \{1,01,001,0001,000011,000010,000001,000000\} {1,01,001,0001,000011,000010,000001,000000},其加权平均的编码长度正好是2bits:)事实上香侬证明过了,熵是传输一个随机变量状态所需的的比特位的下界。
还有一个结论是,随机变量的分布越均匀,其熵就越大;随机变量的分布越集中在某个状态,其熵就越小。直观理解,分布越集中,混乱程度越小、平均信息量越小,熵自然也就越小。从数学的角度,拉格朗日乘子法也可以求解这个最优化问题:(为了易于计算,以下取底数为 e e e
H = − ∑ i p i l n p i + λ ( ∑ i p i − 1 ) H=-\sum_ip_ilnp_i+\lambda(\sum_ip_i-1) H=ipilnpi+λ(ipi1)
∂ H ∂ p i = − l n p i − 1 + λ \dfrac{\partial H}{\partial p_i}=-lnp_i-1+\lambda piH=lnpi1+λ
令上式等于0, p i = e λ − 1 p_i=e^{\lambda-1} pi=eλ1是与 i i i无关的常数,则 p i = 1 M p_i=\dfrac{1}{M} pi=M1,其中 M M M为状态总数。带入求解Hessen矩阵:
∂ 2 H ∂ p i ∂ p j = − I i j 1 p i \dfrac{\partial^2H}{\partial p_i\partial p_j}=-I_{ij}\dfrac{1}{p_i} pipj2H=Iijpi1
负定,确实是最大值。

连续随机变量的熵——微分熵

这里首先要确保我们对微积分有一点分析学上的认识(这里的图不错),然后当 p ( x ) p(x) p(x)连续,以宽度 Δ \Delta Δ划分定义域,则 ∃ x i ∈ [ i Δ , ( i + 1 ) Δ ] ,   ∫ i Δ ( i + 1 ) Δ p ( x ) d x = p ( x i ) Δ \exist x_i\in[i\Delta,(i+1)\Delta],\ \int_{i\Delta}^{(i+1)\Delta}p(x)dx=p(x_i)\Delta xi[iΔ,(i+1)Δ], iΔ(i+1)Δp(x)dx=p(xi)Δ
所以用上面的 x i x_i xi等效区间 [ i Δ , ( i + 1 ) Δ ] [i\Delta,(i+1)\Delta] [iΔ,(i+1)Δ]内的所有 x x x(如果看了上面的链接还不明白为什么能等效的话,不妨看看微积分或数学分析教材中关于微分和积分的内容),则采样到 x i x_i xi的概率是 p ( x i ) Δ p(x_i)\Delta p(xi)Δ(=矩形面积=长 × \times ×宽),这样我们把连续变量离散化,并用离散变量的处理方法求熵
H Δ = − ∑ i p ( x i ) Δ l n ( p ( x i ) Δ ) = − ∑ i p ( x i ) Δ l n ( p ( x i ) ) − l n Δ H_\Delta=-\sum_ip(x_i)\Delta ln(p(x_i)\Delta)=-\sum_ip(x_i)\Delta ln(p(x_i))-ln\Delta HΔ=ip(xi)Δln(p(xi)Δ)=ip(xi)Δln(p(xi))lnΔ
忽略其中第二项 − l n Δ -ln\Delta lnΔ,然后求极限 Δ → 0 \Delta\rarr0 Δ0,则根据微积分的定义 lim ⁡ Δ → 0 ∑ i p ( x i ) Δ l n ( p ( x i ) ) = − ∫ p ( x ) l n p ( x ) d x \lim_{\Delta\rarr0}\sum_ip(x_i)\Delta ln(p(x_i))=-\int p(x)lnp(x)dx Δ0limip(xi)Δln(p(xi))=p(x)lnp(x)dx
我们把等号右边的部分称做连续变量的微分熵,其和离散变量的熵相差 − l n Δ -ln\Delta lnΔ。这一发散项说明:要全面获取一个连续随机变量的信息,需要大量的比特位。
同样可以由拉格朗日乘数法求得 X X X服从高斯分布时微分熵有最大值 1 2 [ 1 + l n ( 2 π σ 2 ) ] \dfrac{1}{2}[1+ln(2\pi\sigma^2)] 21[1+ln(2πσ2)],这个值是可以取负的。

条件熵

假设我们有联合分布 p ( x , y ) p(x,y) p(x,y),我们从中采样得到 ( x , y ) (x,y) (x,y),则边缘分布 p ( x ) = ∫ p ( x , y ) d y p(x)=\int p(x,y)dy p(x)=p(x,y)dy
已知 x x x时,y所增加的额外信息量即 − l n p ( y ∣ x ) -lnp(y|x) lnp(yx),在概率分布下的平均信息量即条件熵

H [ Y ∣ X ] = ∫ p ( x ) H [ Y ∣ X = x ] d x H[Y|X]=\int p(x)H[Y|X=x]dx H[YX]=p(x)H[YX=x]dx
= − ∫ p ( x ) ∫ p ( y ∣ x ) l n p ( y ∣ x ) d y d x =-\int p(x)\int p(y|x)lnp(y|x)dydx =p(x)p(yx)lnp(yx)dydx
= − ∫ ∫ p ( x ) p ( y ∣ x ) l n p ( y ∣ x ) d x d y =-\int\int p(x)p(y|x)lnp(y|x)dxdy =p(x)p(yx)lnp(yx)dxdy
− ∫ ∫ p ( x , y ) l n p ( y ∣ x ) d x d y -\int\int p(x,y)lnp(y|x)dxdy p(x,y)lnp(yx)dxdy
描述了在已知随机变量 X X X的条件下随机变量 Y Y Y的不确定性。
容易知道, H [ X , Y ] = H [ Y ∣ X ] + H [ X ] H[X,Y]=H[Y|X]+H[X] H[X,Y]=H[YX]+H[X]

相对熵(KL散度)

下面要把上面的概念拓展到模式识别领域去。假设我们要对一个真实分布 p ( x ) p(x) p(x)建模,获得了 q ( x ) q(x) q(x),这时所携带的学信息量即为交叉熵。由上文可知, q ( x ) q(x) q(x)必然携带了比 p ( x ) p(x) p(x)更加多的信息量(因为 p ( x ) p(x) p(x)是最优的),这个多出来的信息量即相对熵(KL散度、KL距离):
K L ( p ∣ ∣ q ) = H ( p , q ) − H ( p ) KL(p||q)=H(p,q)-H(p) KL(pq)=H(p,q)H(p)
= ∫ p ( x ) l n 1 q ( x ) d x − ( ∫ p ( x ) l n 1 p ( x ) d x ) =\int p(x)ln\dfrac{1}{q(x)}dx-(\int p(x)ln\dfrac{1}{p(x)}dx) =p(x)lnq(x)1dx(p(x)lnp(x)1dx)
= ∫ p ( x ) l n p ( x ) q ( x ) d x =\int p(x)ln\dfrac{p(x)}{q(x)}dx =p(x)lnq(x)p(x)dx
由上面的定义可知,这里没有交换律: K L ( p ∣ ∣ q ) ≠ K L ( q ∣ ∣ p ) KL(p||q)\neq KL(q||p) KL(pq)̸=KL(qp)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值