PRML1.6 信息论简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tfcy694/article/details/84780785

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

离散随机变量的信息量

首先从最简单的离散随机变量 X { x 1 , x 2 , . . . x M } X\in\{x_1,x_2,...x_M\} 说起,假设 P r ( x i ) = p i Pr(x_i)=p_i ,则有 i = 1 \sum_i=1 。如果我们采样到了 X X 的一个具体值 x x ,考虑到我们关心的是 X X 及其分布 p p ,而不是某次观测到的具体的 x x ,所以我们肯定要问,这个观测值给我们提供了多少(关于 X X (或 p p )的)信息?PRML用“degree of surprise”来描述这个信息量 h ( x ) h(x) 。这怎么理解呢?
我们举个极端的例子:太阳已经东升西落了上亿年,但是我们假设其升落方向其实是一个随机变量。那么有一天太阳从北方升起来了,这次采样的信息量就远远大于采样到从东方升起,同时“degree of surprise”也更大。我们不妨换一个角度,也可以把信息量看作此次采样对于我们认识真实分布 p p 的帮助程度(或有用程度),采到概率越小的点,越有助于我们认识整体分布。
由上直觉可知 h ( x i ) h(x_i) 必须得是 p i p_i 的单调减函数。另一方面对于两个独立事件 x , y x,y ,他们总的信息量 h ( x , y ) h(x,y) 应当是各自信息量之和 h ( x ) + h ( y ) h(x)+h(y) ,而总的概率 P r ( x , y ) Pr(x,y) 应当是各自概率之积 P r ( x ) P r ( y ) Pr(x)Pr(y) ,所以很自然有了定义: h ( x ) = l o g 2 P r ( x ) h(x)=-log_2Pr(x) 这里底数的选择比较灵活,如果以2为底,则信息量的单位是bit;如果以 e e 为底,单位则是nat。 h ( x ) h(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
其中,由洛必答法则, 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
PRML中给了个例子:对于一个包含8状态 { 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},\} ,其熵是2bits。另一方面,通过霍夫曼编码得到的 { 1 , 01 , 001 , 0001 , 000011 , 000010 , 000001 , 000000 } \{1,01,001,0001,000011,000010,000001,000000\} ,其加权平均的编码长度正好是2bits:)事实上香侬证明过了,熵是传输一个随机变量状态所需的的比特位的下界。
还有一个结论是,随机变量的分布越均匀,其熵就越大;随机变量的分布越集中在某个状态,其熵就越小。直观理解,分布越集中,混乱程度越小、平均信息量越小,熵自然也就越小。从数学的角度,拉格朗日乘子法也可以求解这个最优化问题:(为了易于计算,以下取底数为 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 p i = l n p i 1 + λ \dfrac{\partial H}{\partial p_i}=-lnp_i-1+\lambda
令上式等于0, p i = e λ 1 p_i=e^{\lambda-1} 是与 i i 无关的常数,则 p i = 1 M p_i=\dfrac{1}{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}
负定,确实是最大值。

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

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

条件熵

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

H [ Y X ] = p ( x ) H [ Y X = x ] d x H[Y|X]=\int p(x)H[Y|X=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 ( y x ) l n p ( y x ) d x d y =-\int\int p(x)p(y|x)lnp(y|x)dxdy
p ( x , y ) l n p ( y x ) d x d y -\int\int p(x,y)lnp(y|x)dxdy
描述了在已知随机变量 X X 的条件下随机变量 Y Y 的不确定性。
容易知道, H [ X , Y ] = H [ Y X ] + H [ X ] H[X,Y]=H[Y|X]+H[X]

相对熵(KL散度)

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

猜你喜欢

转载自blog.csdn.net/tfcy694/article/details/84780785
今日推荐