湛江网站优化广州市新闻最新消息
信息熵
公式
-
一个离散随机变量 X X X的可能取值为 X = x 1 , x 2 , . . . , x n X=x_1,x_2,...,x_n X=x1,x2,...,xn,而对应的概率为 p i = p ( X = x i ) p_i=p(X=x_i) pi=p(X=xi),如下
x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4 … x n x_n xn p( x 1 x_1 x1) p( x 2 x_2 x2) p( x 3 x_3 x3) p( x 4 x_4 x4) … p( x n x_n xn) 在信息论中,某个信息 x i x_i xi 出现的不确定性的大小定义为 x i x_i xi 所携带的信息量,用 I ( x i ) I(x_i) I(xi) 表示。 I ( x i ) I(x_i) I(xi) 与信息 x i x_i xi 出现的概率 p ( x i ) p(x_i) p(xi) 之间的关系为
I ( x i ) = log 1 p ( x i ) = − log p ( X i ) \begin{aligned} I(x_i) &= \log\frac{1}{p(x_i)} \\ &= -\log p(X_i) \end{aligned} I(xi)=logp(xi)1=−logp(Xi)
以上是求单一信息的信息量;求全部信息的平均信息量,即离散型随机变量的信息熵
定义为:
H ( x ) = − ∑ i = 1 n p ( x i ) log p ( x i ) = H ( P ) \begin{aligned} H(x) &= -\sum\limits_{i=1}^n p(x_i) \log p(x_i) \\ &= H(P) \end{aligned} H(x)=−i=1∑np(xi)logp(xi)=H(P)
连续型随机变量的信息熵
定义为:
H ( x ) = − ∫ f ( x ) log ( f ( x ) ) d x H(x) = -\int f(x) \log(f(x))dx H(x)=−∫f(x)log(f(x))dx
规定当 p ( x i ) = 0 p(x_i) = 0 p(xi)=0 时, p ( x i ) log p ( x i ) = 0 p(x_i)\log p(x_i) = 0 p(xi)logp(xi)=0。
-
信息熵
是一个平均信息量,可以解释为:用基于P的编码去编码来自P的样本,其最优编码平均所需要的比特个数。
例子
-
以《数学之美》中一个小例子来理解上述的公式,世界杯有32支球队,赛后我问一个知道比赛的观众“哪支球队是冠军”?他不愿告诉我,让我猜,并且没猜一次,他需要收一块钱(一块钱能买1G流量,上网查它不香吗?)才肯告诉我是否才对,我可以吧球队编号从1到32,然后提问“冠军是在1-16号球队中吗?”假如他告诉我猜错了,那么肯定就在17-32号球队中,这样只需要提问5次( 2 5 = 32 2^5=32 25=32),就能知道哪只球队是冠军。所以谁是世界杯冠军这条消息只值5元( log 2 32 = 5 \log_2^{32}=5 log232=5)。
香农用“比特”(Bit)来度量信息量,一个比特是一位二进制数,在计算机中,一个字节是8比特。则在上面的例子中,这条信息量是5比特,信息量的比特数和所有可能情况的对数函数有关。即信息量
I ( x i ) = log 2 1 p ( x i ) = − log 2 p ( X i ) = log 2 1 1 32 = − log 2 1 32 = 5 ( b i t ) \begin{aligned} I(x_i) &= \log_2\frac{1}{p(x_i)} \\ &= -\log_2 p(X_i)\\ &=\log_2\frac{1}{\frac{1}{32}}\\ &=-\log_2\frac{1}{32} \\ &=5(bit) \end{aligned} I(xi)=log2p(xi)1=−log2p(Xi)=log23211=−log2321=5(bit)
当然我们发现实际上可能并不需要5次才能猜中,因为巴西,德国,意大利这样的球队会比其他球队更有可能夺冠,所以第一次猜测时不需要等分,而可以将少数热门球队分为一份,其他的另分为一份,重复这个过程,有可能3次或者4次就能猜出结果。所以,当没只球队夺冠的可能性(概率)不等时(使用 p 1 , p 2 , … , p 32 分别表示这 32 只球队夺冠的概率 p_1,p_2,\dots,p_{32}分别表示这32只球队夺冠的概率 p1,p2,…,p32分别表示这32只球队夺冠的概率),“谁是世界杯冠军”的信息量比5比特少。香农指出,它准确的信息量是
H ( x ) = − ∑ i = 1 n p ( x i ) log p ( x i ) = H ( P ) = − ( p 1 ⋅ log p 1 + p 2 ⋅ log p 2 + ⋯ + p 32 ⋅ log p 32 ) \begin{aligned} H(x) &= -\sum\limits_{i=1}^n p(x_i) \log p(x_i) \\ &= H(P)\\ &=-(p_1\cdot\log p_1 + p_2\cdot\log p_2 + \cdots + p_{32}\cdot\log p_{32} ) \end{aligned} H(x)=−i=1∑np(xi)logp(xi)=H(P)=−(p1⋅logp1+p2⋅logp2+⋯+p32⋅logp32)
香农称之为信息熵,一般用H表示,单位是比特。当这32支球队夺冠概率相同时,对应的信息熵等于5比特。 -
汉字编码
有一本50万字的书,假设每个字出现的概率相同,那么每个字携带的信息量是
log 2 500000 ≈ 18.93 b i t \log_2^{500000} \approx 18.93 bit log2500000≈18.93bit
即加入每个字等概率,大约需要19比特(19位二进制数)表示一个汉字这本书总携带的信息量为
500000 ∗ log 2 500000 ≈ 500000 ∗ 18.93 Bit = 9465000 Bit = ( 9465000 / 8 ) Byte = 1183125 Byte = ( 1183125 / 1024 / 1024 ) G ≈ 1.13 G \begin{aligned} 500000*\log_2^{500000} &\approx 500000*18.93 ~\text{Bit} \\ &=9465000~\text{Bit}\\ &=(9465000 / 8)~ \text{Byte} \\ &=1183125~\text{Byte}\\ &=(1183125/1024/1024) \text{G}\\ &\approx 1.13\text{G} \end{aligned} 500000∗log2500000≈500000∗18.93 Bit=9465000 Bit=(9465000/8) Byte=1183125 Byte=(1183125/1024/1024)G≈1.13G
即在假设每个字出现的概率相同的情况下,50万字的书携带的信息量为9465000比特;但是汉子使用频率不均等,10%的汉字占常用文本的95%以上。且在考虑上下文的情况下,每个汉字的信息熵只有5bit左右,即50万字携带250万比特的信息,采用较好的算法压缩,整本书可以存成一个320k的文件,若直接用两字节的国标编码存储这本书,大约需要1MB大小,是压缩文件的3倍,这两个数据量的差异在信息论中叫冗余度,且250万比特在这只是一个平均数,同样两本50万字的书,所含的信息量可以相差很多。如果一本书重复的内容很多,它的信息量就小,冗余度就大。且不同语言的冗余度差别也很大,一本很厚的英文书翻译成中译本一般会薄很多。
伯努利分布的熵
-
伯努利分布(两点分布、0-1分布)
x 1 0 概率 p 1-p H ( x ) = − ∑ x p ( x ) log p ( x ) = − p log p − ( 1 − p ) log ( 1 − p ) \begin{aligned} H(x)&=-\sum_x p(x)\log p(x)\\ &=-p\log p-(1-p)\log(1-p) \end{aligned} H(x)=−x∑p(x)logp(x)=−plogp−(1−p)log(1−p)
熵的性质
- 对于离散型随机变量,当其服从均匀分布时,熵有极大值;
- 对与离散型随机变量,取某一个值的概率为1,其他所有值的概率为0时,熵有极小值。