信息论学习

  1. 自信息定义

I ( x ) = − l o g n P ( x ) \color{red}I(x) = - log_{n}{P(x)} I(x)=lognP(x)
注意:
若n = 2,叫做bit
若n = 3,叫做tet
若n = e,叫做nat
若n = 10,叫做hat

离散定义:

H ( x ) = E x [ I ( x ) ] = − ∑ i = 1 n [ P ( x i ) l o g n P ( x i ) ] \color{blue} H(x) = E_x[I(x)]=-\sum^{ n }_{i=1} [P(x_i)log_nP(x_i)] H(x)=Ex[I(x)]=i=1n[P(xi)lognP(xi)]

连续定义:

H ( x ) = E x [ I ( x ) ] = − ∫ + ∞ − ∞ P ( x ) l o g n P ( x ) d x \color{green}H(x) = E_{x}[I(x)] = - \int_{+\infty}^{-\infty}P(x)log_{n}P(x)dx H(x)=Ex[I(x)]=+P(x)lognP(x)dx

注意:积分中是对x微分而不是P(x)

根据极限相关知识,可得:

lim ⁡ P ( x ) → 0 − P ( x ) l o g n P ( x ) = lim ⁡ x → 0 l o g n P ( x ) 1 − P ( x ) = 1 P ( x ) P ( x ) 2 = P ( x ) = 0 \color{red}\lim_{P(x) \to 0}-P(x)log_nP(x) = \lim_{x \to 0} \frac {log_nP(x)} {\frac{1}{-P(x)}} = \frac{1}{P(x)} P(x)^2 = P(x) = 0 P(x)0limP(x)lognP(x)=x0limP(x)1lognP(x)=P(x)1P(x)2=P(x)=0

同时,当P(x)= 1时,H(x) = 0。

另外,根绝高数知识,当熵的导数为0时,可求得熵的极值。
H ′ ( x ) = − P ( x ) l o g n P ( x ) = 0 H'(x) = -P(x) log_nP(x) = 0 H(x)=P(x)lognP(x)=0
从上式可得:
(1)当熵的导数为0时,可取得P(x) = 1或者P(x) = 0,因此熵在该点处取得极值。
(2)此时,考察熵的导数在P(x) = 1 左右处的值。在P(x) = 1的左侧,导数大于0,在P(x) = 1的右侧,导数小于0,因此在P(x) = 1处函数取得最大值。
(3)熵的值总是大于0。由于P(x)代表x的概率,总是大于0小于1的,又 − P ( x ) l o g n P ( x ) = P ( x ) l o g n 1 P ( x ) -P(x)log_nP(x) =P(x)log_n \frac{1}{P(x)} P(x)lognP(x)=P(x)lognP(x)1,根据log函数的特征, l o g n 1 P ( x ) log_n\frac{1}{P(x)} lognP(x)1也是大于0的,故熵的值必然大于0。

另外,还有几个重要的结论:
(1)当已知分布上下限时均匀分布的熵最大,当知道均值和方差时正态分布的熵最大。
(2)给定一串数据,其中数据元 x 出现的概率为p(x),则最佳编码长度为 − l o g 2 P ( x ) -log_2P(x) log2P(x),整段文本的平均编码长度为 − ∑ i = 1 n P ( x i ) l o g 2 P ( x i ) -\sum_{i=1}^{n}P(x_i)log_2P(x_i) i=1nP(xi)log2P(xi),即底为2的熵。

参考链接:
https://zhuanlan.zhihu.com/p/309831227

你可能感兴趣的:(信息论,学习,信号处理)