浏览笔记
信息论为量化不确定性和通信极限提供了一套标准语言。建议按以下顺序构建这一知识分支:
自信息与熵;
联合熵与条件熵;
互信息与独立性;
交叉熵与 Kullback–Leibler 散度;
信源编码与压缩极限;
噪声信道与信道容量;
与概率建模及机器学习目标的关联。
下面的速查限定于有限离散分布,以及它们在编码和预测中的用途。先掌握概率、条件概率与期望 。MIT OpenCourseWare 6.050J 则继续讲解上述通信与物理系统主题。
自信息与平均不确定性
概率为 p > 0 p>0 p > 0 的结果,其自信息为 − log 2 p -\log_2 p − log 2 p 比特。独立结果的概率相乘,对应的信息量相加。必然发生的结果携带零比特信息,概率为 1 / 8 1/8 1/8 的结果携带 3 比特。这衡量的是模型下的意外程度,不是真实性、用途或语义。
若随机变量 X X X 的概率为 p ( x ) p(x) p ( x ) ,熵就是自信息的期望:
H ( X ) = − ∑ x p ( x ) log 2 p ( x ) , 0 log 2 0 : = 0. H(X)=-\sum_x p(x)\log_2 p(x),\qquad 0\log_2 0:=0. H ( X ) = − x ∑ p ( x ) log 2 p ( x ) , 0 log 2 0 := 0.
若有 k k k 种可能结果,则 0 ≤ H ( X ) ≤ log 2 k 0\le H(X)\le\log_2 k 0 ≤ H ( X ) ≤ log 2 k ,均匀分布取得最大值。公平硬币的熵为 1 比特;概率为 ( 3 / 4 , 1 / 4 ) (3/4,1/4) ( 3/4 , 1/4 ) 的偏置硬币,熵约为 0.811 0.811 0.811 比特。较少见结果的自信息是 2 比特,但熵要对两种结果加权平均。
条件熵与共享信息
联合熵衡量数对 ( X , Y ) (X,Y) ( X , Y ) 的不确定性。条件熵则对观察 X X X 后 Y Y Y 剩余的不确定性取平均:
H ( X , Y ) = H ( X ) + H ( Y ∣ X ) , I ( X ; Y ) = H ( Y ) − H ( Y ∣ X ) . H(X,Y)=H(X)+H(Y\mid X),\qquad
I(X;Y)=H(Y)-H(Y\mid X). H ( X , Y ) = H ( X ) + H ( Y ∣ X ) , I ( X ; Y ) = H ( Y ) − H ( Y ∣ X ) .
互信息 I ( X ; Y ) I(X;Y) I ( X ; Y ) 非负,且仅在 X , Y X,Y X , Y 独立时为零。平均而言 ,条件化不会增加熵,但某次特定观测可能增加不确定性。若 X X X 是公平硬币且 Y = X Y=X Y = X ,则 H ( Y ∣ X ) = 0 H(Y\mid X)=0 H ( Y ∣ X ) = 0 ,I ( X ; Y ) = 1 I(X;Y)=1 I ( X ; Y ) = 1 比特。若是两枚独立的公平硬币,则 H ( X , Y ) = 2 H(X,Y)=2 H ( X , Y ) = 2 ,I ( X ; Y ) = 0 I(X;Y)=0 I ( X ; Y ) = 0 。存在依赖关系本身不能证明因果关系。
交叉熵与模型偏差
设 p p p 是真实分布,q q q 是同一组结果上的预测分布。采用以 2 为底的对数,有:
H ( p , q ) = − ∑ x p ( x ) log 2 q ( x ) = H ( p ) + D K L ( p ∥ q ) , H(p,q)=-\sum_x p(x)\log_2 q(x)
=H(p)+D_{\mathrm{KL}}(p\|q), H ( p , q ) = − x ∑ p ( x ) log 2 q ( x ) = H ( p ) + D KL ( p ∥ q ) ,
D K L ( p ∥ q ) = ∑ x : p ( x ) > 0 p ( x ) log 2 p ( x ) q ( x ) . D_{\mathrm{KL}}(p\|q)=\sum_{x:p(x)>0}p(x)\log_2\frac{p(x)}{q(x)}. D KL ( p ∥ q ) = x : p ( x ) > 0 ∑ p ( x ) log 2 q ( x ) p ( x ) .
p ( x ) = 0 p(x)=0 p ( x ) = 0 的项贡献为零,求和时略去。若某处 p ( x ) > 0 p(x)>0 p ( x ) > 0 而 q ( x ) = 0 q(x)=0 q ( x ) = 0 ,交叉熵和 KL 散度均为无穷大。否则 KL 散度非负,只有两分布一致时才为零。它不是距离度量:通常不对称,也不满足三角不等式。
例如 p = ( 3 / 4 , 1 / 4 ) p=(3/4,1/4) p = ( 3/4 , 1/4 ) 、q = ( 1 / 2 , 1 / 2 ) q=(1/2,1/2) q = ( 1/2 , 1/2 ) 时,交叉熵为 1 比特,KL 散度约为 0.189 0.189 0.189 比特。因为 H ( p ) H(p) H ( p ) 固定,对 q q q 最小化交叉熵就等于最小化 KL 散度。在分类任务中,对观测标签求 − log q ( y i ∣ x i ) -\log q(y_i\mid x_i) − log q ( y i ∣ x i ) 的平均值,可估计期望对数损失;使用自然对数时,单位是纳特而非比特。训练损失低,并不能单独说明模型在新数据上的表现。
熵如何约束压缩?
对于已知的有限信源分布,最优二进制前缀码的平均码长 L L L 满足 H ( X ) ≤ L < H ( X ) + 1 H(X)\le L<H(X)+1 H ( X ) ≤ L < H ( X ) + 1 。熵是平均下界,不承诺每个符号都能用小数位比特编码。对偏置硬币逐个符号使用二进制前缀码,仍需每个符号一比特。若符号独立同分布,对长度为 n n n 的块编码,可把每个符号相对熵的额外开销降至 1 / n 1/n 1/ n 比特以下。相关信源需要利用条件结构或熵率,单符号熵未必是最佳的每符号极限。
连续变量需要另行处理:微分熵依赖坐标,可以为负,因此不能直接解释为存储一个实数所需的比特数。讨论这类存储成本前,必须先指定精度。