信息论(信息量&熵)

信息论(信息量&熵)

对于离散的随机变量\(x\),在我们观察这个\(x\)的值的时候,我们接受的信息如何计算?

信息量

信息量表示学习到\(x\)值时的“惊讶程度”,计算如下:
\[ h(x)=-\log_2p(x) \]
\(p(x)\)表示\(x\)发生的概率,\(h(x)\)表示信息量,单位为bit。基于传统我们选择以2为底的\(log\)函数,使\(h(x)\)\(p(x)\)的递增函数。

若我们将这个信息传输给其他人,在传输过程中,信息量的期望值(我们称之为熵)为:
\[ H(x)=-\sum_xp(x)\log_2p(x) \]
例如对于某个随机变量有八种等可能的状态,则:\(H(x)=-8*\frac{1}{8}\log_2\frac{1}{8}=3 bit\)。所以我们共需要传输3bit的消息。

注意我们规定 \(0\log_2 0 =0\)

若该随机变量的8中状态\([a,b,c,d,e,f,g,h]\)其可能性为:\([\frac{1}{2},\frac{1}{4},\frac{1}{8},\frac{1}{16},\frac{1}{64},\frac{1}{64},\frac{1}{64},\frac{1}{64}]\),那么经过计算,其熵为\(2bit\)

为什么是\(2bit\)呢?我们对于状态的概率由高到底表示:0(表示状态\(a\)),10,110,1110,111100,111101,111110,111111。这些编码的加权长度即为\(2bit\)。11001110唯一的表示状态序列:\(c,a,d\)

无噪声编码定理(noiseless coding theorem)表明熵是传输一个随机变量状态值所需的比特位的下界。

之后我们会用自然对数\(\ln\)来定义熵,此时其单位为\(nat\),不再是\(bit\),原因就是其底数的不同。

另一种方式理解熵

熵是描述统计力学中无序程度的度量。

对于N个相同的物体,分配至若干个箱子中,使得第\(i\)个箱子中有\(n_i\)个物体,若不考虑每个箱子中物体的排序\(n_i!\)

那么此时我们的方案数量为:
\[ W =\frac{N!}{\prod_in_i!} \]
这里\(W\)被称为乘数。

熵为放缩后的对数乘数:
\[ H = \frac{1}{N}\ln W = \frac{1}{N!}-\frac{1}{N}\sum_i \ln (n_i!) \]
对于\(N\to \infty\)并且固定\(\frac{n_i}{N}\)的值,我们有:\(\ln(N!)\simeq N\ln N - N\)

所以:
\[ H = -\lim_{N\to \infty}\sum_i\frac{n_i}{N}\ln \frac{n_i}{N}=-\sum_ip_i\ln p_i \]

连续变量的熵

设连续变量的概率分布为\(p(X)\),对于\(x\)的一个微小的变化量(箱子的宽度)\(\triangle\to 0\)有:
\[ \int_{i\triangle}^{i+1 \triangle}p(x)\,dx=p(x_i)\triangle \]
右侧是随机变量,可以想象成只要\(x\)落入第\(i\)个箱子,我们就把赋值\(x=x_i\),因此观察到\(x_i\)的概率为\(p(x_i)\triangle\)。这是熵的形式为:
\[ H_{\triangle} =-\sum_i(p(x_i)\triangle)\ln (p(x_i)\triangle)=-\sum_i(p(x_i)\triangle)\ln p(x_i) - \ln \triangle \]
\(\triangle\to 0\)的情况下,省略\(\ln \triangle\)
\[ H_{\triangle} =-\sum_i(p(x_i)\triangle)\ln p(x_i)=-\int p(x)\ln p(x)\,dx \]
我们称之为微分熵。这也表明了传输一个连续变量需要大量的比特位(因为\(\triangle \to \infty\))。

条件熵:抽取一对变量\((x,y)\),当\(x\)已知,那么确定\(y\)所需的附加信息为\(-\ln p(y|x)\),其期望(也就是条件熵)为:
\[ H(y|x) = -\iint p(y,x)\ln p(y|x)\,dy\,dx \]
可以看出,描述\(x,y\)所需的信息为描述\(x\)所需的信息加上描述\(y\)所需的附加信息。
\[ H(x,y)=H(y|x)+H(x) \]

猜你喜欢

转载自www.cnblogs.com/LvBaiYang/p/12198499.html