同步于Buracag的博客
信息论(Information Theory)是数学、物理、统计、计算机科学等多个学科的交叉领域。信息论是由Claude Shannon 最早提出的,主要研究信息的量化、存储和通信等方法。这里,“信息”是指一组消息的集合。假设在一个噪声通道上发送消息,我们需要考虑如何对每一个信息进行编码、传输以及解码,使得接收者可以尽可能准确地重构出消息。
在机器学习相关领域,信息论也有着大量的应用。比如特征抽取、统计推断、自然语言处理等。
1. 自信息和熵
**熵(Entropy)**最早是物理学的概念,用于表示一个热力学系统的无序程度。在信息论中,熵用来衡量一个随机事件的不确定性。假设对一个随机变量
X
X
X(取值集合为
X
X
X,概率分布为
p
(
x
)
,
x
∈
X
p(x), x \in X
p(x),x∈X)进行编码,自信息(Self Information)
I
(
x
)
I(x)
I(x)是变量
X
=
x
X = x
X=x时的信息量或编码长度,定义为
(1)
I
(
x
)
=
−
l
o
g
(
p
(
x
)
)
I(x) = −log(p(x)) \tag{1}
I(x)=−log(p(x))(1)
那么随机变量
X
X
X的平均编码长度,即熵定义为
(2)
H
(
X
)
=
E
X
[
I
(
x
)
]
=
E
X
[
−
l
o
g
(
p
(
x
)
)
]
=
−
∑
x
∈
X
p
(
x
)
l
o
g
p
(
x
)
H(X) = \Bbb{E}_X[I(x)] = \Bbb{E}_X[−log(p(x))] = −\sum_{x \in X}p(x) log p(x) \tag{2}
H(X)=EX[I(x)]=EX[−log(p(x))]=−x∈X∑p(x)logp(x)(2)
其中当
p
(
x
i
)
=
0
p(x_i) = 0
p(xi)=0时,我们定义
0
l
o
g
0
=
0
0 log 0 = 0
0log0=0,与极限一致,
lim
p
→
0
+
p
l
o
g
p
=
0
\lim_{p\to 0+} p log p = 0
limp→0+plogp=0。
熵是一个随机变量的平均编码长度,即自信息的数学期望。熵越高,则随机变量的信息越多,熵越低;则信息越少。如果变量 X X X当且仅当在 x x x时 p ( x ) = 1 p(x) = 1 p(x)=1,则熵为0。也就是说,对于一个确定的信息(不确定概率为0),其熵为0,信息量也为0。如果其概率分布为一个均匀分布,则熵最大。假设一个随机变量X 有三种可能值 x 1 , x 2 , x 3 x_1, x_2, x_3 x1,x2,x3,不同概率分布对应的熵如下:
p(x1) | p(x2) | p(x3) | 熵 |
---|---|---|---|
1 | 0 | 0 | 0 |
1/2 | 1/4 | 1/4 | 3 2 ( l o g 2 ) \frac{3}{2}(log2) 23(log2) |
1/3 | 1/3 | 1/3 | log3 |
2. 联合熵和条件熵
对于两个离散随机变量 X X X和 Y Y Y ,假设 X X X取值集合为 X X X; Y Y Y取值集合为 Y Y Y,其联合概率分布满足为 p ( x , y ) p(x, y) p(x,y),
则
X
X
X和
Y
Y
Y的**联合熵(Joint Entropy)为
(3)
H
(
X
,
Y
)
=
−
∑
x
∈
X
∑
y
∈
Y
p
(
x
,
y
)
l
o
g
p
(
x
,
y
)
H(X, Y) = −\sum_{x \in X} \sum_{y \in Y}p(x, y) log p(x, y) \tag{3}
H(X,Y)=−x∈X∑y∈Y∑p(x,y)logp(x,y)(3)
X
X
X和
Y
Y
Y的条件熵(Conditional Entropy)**为
(4)
H
(
X
∣
Y
)
=
−
∑
x
∈
X
∑
y
∈
Y
p
(
x
,
y
)
l
o
g
p
(
x
∣
y
)
=
−
∑
x
∈
X
∑
y
∈
Y
p
(
x
,
y
)
l
o
g
p
(
x
,
y
)
p
(
y
)
H(X|Y) = −\sum_{x \in X} \sum_{y \in Y}p(x, y) log p(x|y) = −\sum_{x \in X} \sum_{y \in Y}p(x, y) log \frac{p(x,y)}{p(y)} \tag{4}
H(X∣Y)=−x∈X∑y∈Y∑p(x,y)logp(x∣y)=−x∈X∑y∈Y∑p(x,y)logp(y)p(x,y)(4)
根据其定义,条件熵也可以写为
(5)
H
(
X
∣
Y
)
=
H
(
X
,
Y
)
−
H
(
Y
)
H(X|Y) = H(X, Y) − H(Y) \tag{5}
H(X∣Y)=H(X,Y)−H(Y)(5)
3. 互信息
互信息(Mutual Information)是衡量已知一个变量时,另一个变量不确定性的减少程度。两个离散随机变量X 和Y 的互信息定义为
(6)
I
(
X
;
Y
)
=
∑
x
∈
X
∑
y
∈
Y
p
(
x
,
y
)
l
o
g
p
(
x
,
y
)
p
(
x
)
p
(
y
)
I(X; Y ) =\sum_{x \in X} \sum_{y \in Y}p(x, y) \frac{log p(x, y)}{p(x)p(y)} \tag{6}
I(X;Y)=x∈X∑y∈Y∑p(x,y)p(x)p(y)logp(x,y)(6)
互信息的一个性质为
(7)
I
(
X
;
Y
)
=
H
(
X
)
−
H
(
X
∣
Y
)
=
H
(
Y
)
−
H
(
Y
∣
X
)
=
H
(
X
)
+
H
(
Y
)
−
H
(
X
,
Y
)
I(X;Y) = H(X) − H(X|Y) \\ = H(Y) − H(Y|X) \\ = H(X) + H(Y) - H(X, Y) \tag{7}
I(X;Y)=H(X)−H(X∣Y)=H(Y)−H(Y∣X)=H(X)+H(Y)−H(X,Y)(7)
如果X和Y相互独立,即X不对Y提供任何信息,反之亦然,因此它们的互信息最小, 即 I ( X ; Y ) I(X;Y) I(X;Y)为零。