信息的度量-熵(entropy)

信息是个抽象的概念,我们知道一个句子里的信息多或者少,但不知道具体是多少,如何使用数据去衡量一条信息的信息量是多少?熵刚好可以衡量信息的多少。

信息量等于不确定性的多少,例如(如无特殊说明骰子都是指正六面骰子):
A: “丢一次骰子,数字小于等于6的概率是多少?”:骰子上的数字是1、2、3、4、5、6,丢一次骰子,它的数字肯定是小于等于6的,它的不确定性是0,所以它的信息量也是0;
B: “丢一次骰子,数字小于等于3的概率是多少?”:丢一次骰子,它的数字小于等于3的概率是 1 2 \frac{1}{2} 21,这信息是有不确定性的,所以它的信息量不等于0 。

一、信息熵

信息熵:用于信息 X X X的信息量;
H ( X ) = − ∑ p ( x ) log ⁡ 2 p ( x ) H(X) = -\sum{p(x)\log_2{p(x)}} H(X)=p(x)log2p(x)
X X X:变量空间;
H ( X ) H(X) H(X) X X X的信息熵;
p ( x ) p(x) p(x) X = x X=x X=x时的概率;

例如:“丢一次骰子得到的数字是多少?”

丢一次骰子,可能得到的数字有1、2、3、4、5、6,得到每个数字的概率都相等,因此 X = { 1 , 2 , 3 , 4 , 5 , 6 } X = \{1, 2, 3, 4, 5, 6\} X={1,2,3,4,5,6} p ( 1 ) = p ( 2 ) = p ( 3 ) = p ( 4 ) = p ( 5 ) = p ( 6 ) = 1 6 p(1) = p(2) = p(3) = p(4) = p(5) = p(6) = \frac{1}{6} p(1)=p(2)=p(3)=p(4)=p(5)=p(6)=61;
那这条信息的信息熵为:
H ( X ) H(X) H(X)
= − [ p ( 1 ) ∗ l o g 2 p ( 1 ) + p ( 2 ) ∗ l o g 2 p ( 2 ) + p ( 3 ) ∗ l o g 2 p ( 3 ) + p ( 4 ) ∗ l o g 2 p ( 4 ) + p ( 5 ) ∗ l o g 2 p ( 5 ) + p ( 6 ) ∗ l o g 2 p ( 6 ) ] = -[p(1) * log_2{p(1)} + p(2) * log_2{p(2)} + p(3) * log_2{p(3)} + p(4) * log_2{p(4)} + p(5) * log_2{p(5)} + p(6) * log_2{p(6)}] =[p(1)log2p(1)+p(2)log2p(2)+p(3)log2p(3)+p(4)log2p(4)+p(5)log2p(5)+p(6)log2p(6)]
= − 1 6 ∗ l o g 2 1 6 ∗ 6 = - \frac{1}{6} * log_2{\frac{1}{6} } * 6 =61log2616
= − l o g 2 1 6 = - log_2{\frac{1}{6} } =log261
= l o g 2 6 = log_2{6} =log26

特别地,在算法中,计算熵的时候都是使用底数为 e e e 的对数,因此
H ( X ) = − ∑ p ( x ) ln ⁡ p ( x ) H(X) = -\sum{p(x)\ln{p(x)}} H(X)=p(x)lnp(x)

二、条件熵

条件熵:在给定一个信息 Y Y Y的前提下 X X X的信息熵;
H ( X ∣ Y ) = − ∑ p ( x , y ) l n p ( x ∣ y ) H(X|Y) = -\sum{p(x,y)ln{p(x|y)}} H(XY)=p(x,y)lnp(xy)
H ( X ∣ Y ) = H ( X , Y ) − H ( Y ) H(X|Y) = H(X, Y) - H(Y) H(XY)=H(X,Y)H(Y)
H ( X ∣ Y ) H(X|Y) H(XY):在 Y Y Y取不同值的前提下 X X X的条件熵;
H ( X , Y ) H(X, Y) H(X,Y) X X X Y Y Y同时出现时的信息熵;
H ( Y ) H(Y) H(Y) Y Y Y的信息熵;
p ( x , y ) p(x,y) p(x,y) x x x y y y同时出现的概率(联合概率分布);
p ( x ∣ y ) p(x|y) p(xy): y y y条件下, x x x出现的概率;

例如:“丢骰子,已知丢出的是偶数,那丢出的数字是多少?”
设偶数是 y y y,数字是 x x x;
解法1:
Y = { 奇 数 , 偶 数 } Y = \{奇数, 偶数\} Y={}, p ( 奇 数 ) = p ( 偶 数 ) = 1 2 p(奇数) = p(偶数) = \frac{1}{2} p()=p()=21
p ( 1 ∣ 奇 数 ) = p ( 3 ∣ 奇 数 ) = p ( 5 ∣ 奇 数 ) = 1 3 p(1|奇数)=p(3|奇数)=p(5|奇数)=\frac{1}{3} p(1)=p(3)=p(5)=31,
p ( 2 ∣ 奇 数 ) = p ( 4 ∣ 奇 数 ) = p ( 6 ∣ 奇 数 ) = 0 p(2|奇数)=p(4|奇数)=p(6|奇数)=0 p(2)=p(4)=p(6)=0,
p ( 1 ∣ 偶 数 ) = p ( 3 ∣ 偶 数 ) = p ( 5 ∣ 偶 数 ) = 0 p(1|偶数)=p(3|偶数)=p(5|偶数)=0 p(1)=p(3)=p(5)=0,
p ( 2 ∣ 偶 数 ) = p ( 4 ∣ 偶 数 ) = p ( 6 ∣ 偶 数 ) = 1 3 p(2|偶数)=p(4|偶数)=p(6|偶数)=\frac{1}{3} p(2)=p(4)=p(6)=31,
所以
H ( Y ) = − [ p ( 奇 数 ) l n p ( 奇 数 ) + p ( 偶 数 ) l n p ( 偶 数 ) ] H(Y) = - [p(奇数)ln{p(奇数)} + p(偶数)ln{p(偶数)}] H(Y)=[p()lnp()+p()lnp()]
= − ( 1 2 l n ( 1 2 ) + 1 2 l n ( 1 2 ) ) = - (\frac{1}{2}ln(\frac{1}{2}) + \frac{1}{2}ln(\frac{1}{2})) =(21ln(21)+21ln(21))
= l n 2 = ln{2} =ln2
X = { 1 , 2 , 3 , 4 , 5 , 6 } X = \{1, 2, 3, 4, 5, 6\} X={1,2,3,4,5,6}, 由 p ( x , y ) = p ( x ∣ y ) ∗ p ( y ) p(x, y) = p(x|y) * p(y) p(x,y)=p(xy)p(y),所以:
p ( X = 1 , Y = 奇 数 ) = 1 3 ∗ 1 2 = 1 6 p(X=1,Y=奇数) = \frac{1}{3} * \frac{1}{2}=\frac{1}{6} p(X=1Y=)=3121=61
p ( X = 2 , Y = 奇 数 ) = 0 ∗ 1 2 = 0 p(X=2,Y=奇数) =0 * \frac{1}{2}=0 p(X=2Y=)=021=0
p ( X = 3 , Y = 奇 数 ) = 1 3 ∗ 1 2 = 1 6 p(X=3,Y=奇数) = \frac{1}{3} * \frac{1}{2}=\frac{1}{6} p(X=3Y=)=3121=61
p ( X = 4 , Y = 奇 数 ) = 0 ∗ 1 2 = 0 p(X=4,Y=奇数) =0 * \frac{1}{2}=0 p(X=4Y=)=021=0
p ( X = 5 , Y = 奇 数 ) = 1 3 ∗ 1 2 = 1 6 p(X=5,Y=奇数) = \frac{1}{3} * \frac{1}{2}=\frac{1}{6} p(X=5Y=)=3121=61
p ( X = 6 , Y = 奇 数 ) = 0 ∗ 1 2 = 0 p(X=6,Y=奇数) =0 * \frac{1}{2}=0 p(X=6Y=)=021=0
p ( X = 1 , Y = 偶 数 ) = 0 ∗ 1 2 = 0 p(X=1,Y=偶数) = 0* \frac{1}{2}=0 p(X=1Y=)=021=0
p ( X = 2 , Y = 偶 数 ) = 1 3 ∗ 1 2 = 1 6 p(X=2,Y=偶数) = \frac{1}{3} * \frac{1}{2}=\frac{1}{6} p(X=2Y=)=3121=61
p ( X = 3 , Y = 偶 数 ) = 0 ∗ 1 2 = 0 p(X=3,Y=偶数) = 0* \frac{1}{2}=0 p(X=3Y=)=021=0
p ( X = 4 , Y = 偶 数 ) = 1 3 ∗ 1 2 = 1 6 p(X=4,Y=偶数) = \frac{1}{3} * \frac{1}{2}=\frac{1}{6} p(X=4Y=)=3121=61
p ( X = 5 , Y = 偶 数 ) = 0 ∗ 1 2 = 0 p(X=5,Y=偶数) =0 * \frac{1}{2}=0 p(X=5Y=)=021=0
p ( X = 6 , Y = 偶 数 ) = 1 3 ∗ 1 2 = 1 6 p(X=6,Y=偶数) = \frac{1}{3} * \frac{1}{2}=\frac{1}{6} p(X=6Y=)=3121=61

H ( X , Y ) = − [ 6 ∗ 1 6 ∗ l n 1 6 + 6 ∗ 0 ∗ l n 0 ] H(X, Y) = - [6 * \frac{1}{6}*ln{\frac{1}{6}} + 6*0*ln{0}] H(X,Y)=[661ln61+60ln0]
= l n 6 =ln{6} =ln6
H ( X ∣ Y ) = H ( X , Y ) − H ( Y ) = l n 6 − l n 2 = l n 3 H(X|Y) = H(X, Y) - H(Y)=ln{6} - ln{2} = ln{3} H(XY)=H(X,Y)H(Y)=ln6ln2=ln3

解法2:
H ( X ∣ Y ) H(X|Y) H(XY)
= − ∑ p ( x , y ) l n p ( x ∣ y ) = -\sum{p(x,y)ln{p(x|y)}} =p(x,y)lnp(xy)
= − [ p ( 1 , 奇 数 ) l n p ( 1 ∣ 奇 数 ) + p ( 2 , 奇 数 ) l n p ( 2 ∣ 奇 数 ) + p ( 3 , 奇 数 ) l n p ( 3 ∣ 奇 数 ) + . . . ] =-[p(1,奇数)ln{p(1|奇数)} + p(2,奇数)ln{p(2|奇数)} + p(3,奇数)ln{p(3|奇数)}+...] =[p(1,)lnp(1)+p(2,)lnp(2)+p(3,)lnp(3)+...]
= − [ 1 6 ∗ l n 1 3 + 0 ∗ l n 0 + 1 6 ∗ l n 1 3 + . . . ] =-[\frac{1}{6}*ln{\frac{1}{3}} + 0*ln{0} + \frac{1}{6}*ln{\frac{1}{3}} +...] =[61ln31+0ln0+61ln31+...]
= − ( 6 ∗ 1 6 ∗ l n 1 3 ) =-(6 * \frac{1}{6}*ln{\frac{1}{3}}) =(661ln31)
= − l n 1 3 =-ln{\frac{1}{3}} =ln31
= l n 3 =ln{3} =ln3

三、互信息

互信息:衡量两个信息的相关性;
I ( X ; Y ) = ∑ x ∈ X , y ∈ Y p ( x , y ) l n p ( x , y ) p ( x ) p ( y ) I(X;Y) = \sum_{x\in{X},y\in{Y}}{p(x,y)ln\frac{p(x,y)}{p(x)p(y)}} I(X;Y)=xX,yYp(x,y)lnp(x)p(y)p(x,y)
I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) I(X;Y) = H(X) - H(X|Y) I(X;Y)=H(X)H(XY)

例如:信息A:“丢骰子,那丢出的数字是多少?”, 信息B:“丢骰子,那丢出的数字是奇数还是偶数?”
设数字是 x x x,奇数、偶数是 y y y
解法1:
I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) = l n 6 − l n 3 = l n 2 I(X;Y) = H(X) - H(X|Y) = ln{6} - ln{3} = ln{2} I(X;Y)=H(X)H(XY)=ln6ln3=ln2

解法2:
I ( X ; Y ) I(X;Y) I(X;Y)
= ∑ x ∈ X , y ∈ Y p ( x , y ) l n p ( x , y ) p ( x ) p ( y ) = \sum_{x\in{X},y\in{Y}}{p(x,y)ln\frac{p(x,y)}{p(x)p(y)}} =xX,yYp(x,y)lnp(x)p(y)p(x,y)
= p ( 1 , 奇 数 ) l n p ( 1 , 奇 数 ) p ( 1 ) p ( 奇 数 ) + p ( 2 , 奇 数 ) l n p ( 2 , 奇 数 ) p ( 2 ) p ( 奇 数 ) + p ( 3 , 奇 数 ) l n p ( 3 , 奇 数 ) p ( 3 ) p ( 奇 数 ) + . . . =p(1,奇数)ln{\frac{p(1,奇数)}{p(1)p(奇数)}} +p(2,奇数)ln{\frac{p(2,奇数)}{p(2)p(奇数)}} + p(3,奇数)ln{\frac{p(3,奇数)}{p(3)p(奇数)}}+... =p(1,)lnp(1)p()p(1,)+p(2,)lnp(2)p()p(2,)+p(3,)lnp(3)p()p(3,)+...
= 1 6 ∗ l n 1 6 1 6 ∗ 1 2 + 0 ∗ l n 0 1 6 ∗ 1 2 + 1 6 ∗ l n 1 6 1 6 ∗ 1 2 + . . . =\frac{1}{6}*ln{\frac{\frac{1}{6}}{\frac{1}{6}*\frac{1}{2}}} +0*ln{\frac{0}{\frac{1}{6}*\frac{1}{2}}} + \frac{1}{6}*ln{\frac{\frac{1}{6}}{\frac{1}{6}*\frac{1}{2}}}+... =61ln612161+0ln61210+61ln612161+...
= 6 ∗ 1 6 ∗ l n 1 6 1 6 ∗ 1 2 = 6 * \frac{1}{6} * ln{\frac{\frac{1}{6}}{\frac{1}{6}*\frac{1}{2}}} =661ln612161
= l n 1 6 1 6 ∗ 1 2 =ln{\frac{\frac{1}{6}}{\frac{1}{6}*\frac{1}{2}}} =ln612161
= l n 2 =ln{2} =ln2

四、相对熵(交叉熵, Ralative Entropy, Kullback-Leibler Divergence)

相对熵:用于衡量两个取值为正数的函数的相似性;
K L ( f ( x ) ∣ ∣ g ( x ) ) = ∑ x ∈ X f ( x ) ∗ l n f ( x ) g ( x ) KL(f(x)||g(x))=\sum_{x\in{X}}{f(x)*ln{\frac{f(x)}{g(x)}}} KL(f(x)g(x))=xXf(x)lng(x)f(x)
定理:
1、对于两个完全相同的函数,它们的相对熵等于0;
2、相对熵越大,两个函数差异越大;反之,相对熵越小,两个函数差异越小;
3、对于概率分布或者概率密度函数,如果取值均大于零,相对熵可以度量两个随机分布的差异性。

由于 K L ( f ( x ) ∣ ∣ g ( x ) ) ≠ K L ( g ( x ) ∣ ∣ f ( x ) ) KL(f(x)||g(x))\not=KL(g(x)||f(x)) KL(f(x)g(x))=KL(g(x)f(x)),所以还可以使用下面的公式进行计算相对熵:
J S ( f ( x ) ∣ ∣ g ( x ) ) = 1 2 ∗ [ K L ( f ( x ) ∣ ∣ g ( x ) ) + K L ( g ( x ) ∣ ∣ f ( x ) ) ] JS(f(x)||g(x))=\frac{1}{2}*[KL(f(x)||g(x)) + KL(g(x)||f(x))] JS(f(x)g(x))=21[KL(f(x)g(x))+KL(g(x)f(x))]

例如:函数F:“丢一个正四面骰子,得到各数字的概率”,函数G:“丢一个正六面骰子,得到各数字的概率”;
X = { 1 , 2 , 3 , 4 , 5 , 6 } X=\{1, 2, 3, 4, 5, 6\} X={1,2,3,4,5,6}
f ( 1 ) = f ( 2 ) = f ( 3 ) = f ( 4 ) = 1 4 f(1)=f(2)=f(3)=f(4)=\frac{1}{4} f(1)=f(2)=f(3)=f(4)=41
f ( 5 ) = f ( 6 ) = 0 f(5)=f(6)=0 f(5)=f(6)=0
g ( 1 ) = g ( 2 ) = g ( 3 ) = g ( 4 ) = g ( 5 ) = g ( 6 ) = 1 6 g(1)=g(2)=g(3)=g(4)=g(5)=g(6)=\frac{1}{6} g(1)=g(2)=g(3)=g(4)=g(5)=g(6)=61
那么:
K L ( f ( x ) ∣ ∣ g ( x ) ) KL(f(x)||g(x)) KL(f(x)g(x))
= ∑ x ∈ X f ( x ) ∗ l n f ( x ) g ( x ) =\sum_{x\in{X}}{f(x)*ln{\frac{f(x)}{g(x)}}} =xXf(x)lng(x)f(x)
= f ( 1 ) ∗ l n f ( 1 ) g ( 1 ) + f ( 2 ) ∗ l n f ( 2 ) g ( 2 ) + f ( 3 ) ∗ l n f ( 3 ) g ( 3 ) + . . . =f(1)*ln{\frac{f(1)}{g(1)}}+f(2)*ln{\frac{f(2)}{g(2)}}+f(3)*ln{\frac{f(3)}{g(3)}}+... =f(1)lng(1)f(1)+f(2)lng(2)f(2)+f(3)lng(3)f(3)+...
= 1 4 ∗ l n 1 4 1 6 + 1 4 ∗ l n 1 4 1 6 + 1 4 ∗ l n 1 4 1 6 + . . . + 0 ∗ l n 0 1 6 =\frac{1}{4}*ln{\frac{\frac{1}{4}}{\frac{1}{6}}}+\frac{1}{4}*ln{\frac{\frac{1}{4}}{\frac{1}{6}}}+\frac{1}{4}*ln{\frac{\frac{1}{4}}{\frac{1}{6}}}+...+0*ln{\frac{0}{\frac{1}{6}}} =41ln6141+41ln6141+41ln6141+...+0ln610
= 4 ∗ 1 4 ∗ l n 1 4 1 6 =4 * \frac{1}{4}*ln{\frac{\frac{1}{4}}{\frac{1}{6}}} =441ln6141
= l n 3 2 =ln{\frac{3}{2}} =ln23
= l n 3 − l n 2 =ln{3} - ln{2} =ln3ln2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值