PRML1-信息量&熵

信息量&熵

对于离散的随机变量\(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)\),其期望(也就是条件熵)为:

\[\begin{align} H(y|x) &= -\int p(x)H(y|x=x_1,x_2...)\,dx \nonumber \\ &= -\int p(x)\int p(y|x)\ln p(y|x)\,dy\,dx \nonumber \\ &= -\iint p(x)p(y|x)\ln p(y|x)\,dy\,dx\nonumber \\ &= -\iint p(y,x)\ln p(y|x)\,dy\,dx \nonumber \end{align} \]

这里我们使用了\(p(x)p(y|x)=p(x,y)\)

然后利用公式 \(\int p(x,y)\,dy=p(x)\),可以导出:

\[\begin{align} H(y|x)+H(x)&= -\iint p(x,y)\ln p(y|x)\,dy\,dx - \int p(x)\ln p(x) \,dx \nonumber \\ &= -\iint p(x,y)\ln p(y|x)\,dy\,dx - \iint p(x,y)\ln p(x)\,dy\,dx \nonumber \\ &= -\iint p(x,y)\ln[p(y|x)p(x)]\,dx\,dy \nonumber \\ &= -\iint p(x,y)\ln p(x,y) \,dx\,dy \nonumber \\ &=H(x,y) \end{align} \]

所以:

\[H(x,y)=H(x)+H(y|x) \]

可以看出,描述\(x,y\)所需的信息为描述\(x\)所需的信息加上描述\(y\)所需的附加信息。

posted @ 2020-01-15 19:55  Lyu1997  阅读(434)  评论(0编辑  收藏  举报