熵
关于信息量、信息熵可以参考我的这篇文章https://blog.csdn.net/blank_tj/article/details/82056413
信息量:
I(x)=−log2 p(x)
I
(
x
)
=
−
l
o
g
2
p
(
x
)
我们把这个公式叫做信息量的公式,前面的负号确保了信息一定是正数或者是0(低概率事件带来高的信息量)。
底是2的时候,单位为bit。底是e的时候,单位为nat。
联合信息量:
I(xi,yi)=−log p(xi,yi)
I
(
x
i
,
y
i
)
=
−
l
o
g
p
(
x
i
,
y
i
)
条件信息量:
I(yi|xi)=−log p(yi|xi)
I
(
y
i
|
x
i
)
=
−
l
o
g
p
(
y
i
|
x
i
)
信息量度量的是一个具体事件发生了所带来的信息,而熵则是在结果出来之前对可能产生的信息量的期望——考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。
信息熵公式:
H(x)=−∑p(x)log2 p(x)
H
(
x
)
=
−
∑
p
(
x
)
l
o
g
2
p
(
x
)
复合熵(联合熵):
H(x,y)=−∑ni=1∑mj=1p(xi,yj)log p(xi,yj)
H
(
x
,
y
)
=
−
∑
i
=
1
n
∑
j
=
1
m
p
(
x
i
,
y
j
)
l
o
g
p
(
x
i
,
y
j
)
也可以推广到更多维度,同理。
条件熵:
H(x,y)=−∑ni=1∑mj=1p(yj)p(xi|yj)log p(xi|yj)
H
(
x
,
y
)
=
−
∑
i
=
1
n
∑
j
=
1
m
p
(
y
j
)
p
(
x
i
|
y
j
)
l
o
g
p
(
x
i
|
y
j
)
离散型
H(x,y)=−∬f(y)f(x|y)log(x|y)dxdy H ( x , y ) = − ∬ f ( y ) f ( x | y ) l o g ( x | y ) d x d y 连续型
当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到的时候,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)。
上面的式子表明,只要你能够得到联合分布和y的分布就能够求出条件熵了。事实上,还能够更加简化成为常见的形式:
这里利用上面的公式(以离散型为例子)直接推导,有
H(x|y)=H(x,y)−H(y)
H
(
x
|
y
)
=
H
(
x
,
y
)
−
H
(
y
)
同理:
H(y|x)=H(x,y)−H(x)
H
(
y
|
x
)
=
H
(
x
,
y
)
−
H
(
x
)
合并上式得:
H(y|x)+H(x)=H(x,y)=H(x|y)+H(y)
H
(
y
|
x
)
+
H
(
x
)
=
H
(
x
,
y
)
=
H
(
x
|
y
)
+
H
(
y
)
相对熵
相对熵又称互熵,交叉熵,鉴别信息,Kullback熵,Kullback-Leible散度(即KL散度)等。
设p(x)和q(x)是取值的两个概率分布,则p对q的相对熵为:
D(p||q)=∑xp(x)logp(x)q(x)=Ep(x)(logp(x)q(x))
D
(
p
|
|
q
)
=
∑
x
p
(
x
)
l
o
g
p
(
x
)
q
(
x
)
=
E
p
(
x
)
(
l
o
g
p
(
x
)
q
(
x
)
)
在一定程度上面,相对熵可以度量两个随机变量的距离。当两个随机分布相同的时候,他们的相对熵为0,当两个随机分布的差别增大的时候,他们之间的相对熵也会增大。 但是事实上面,他并不是一个真正的距离。因为相对熵是不具有对称性的,而且都不为负。
D(p||q)≠D(q||p)
D
(
p
|
|
q
)
≠
D
(
q
|
|
p
)
D(p||q)≥0,D(q||p)≥0
D
(
p
|
|
q
)
≥
0
,
D
(
q
|
|
p
)
≥
0
互信息
互信息(Mutual Information)是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不确定性。
I(X,Y)=D(P(X<Y)||P(X)P(Y)) =∑x,yp(x,y)logp(x,y)p(x)p(y) I ( X , Y ) = D ( P ( X < Y ) | | P ( X ) P ( Y ) ) = ∑ x , y p ( x , y ) l o g p ( x , y ) p ( x ) p ( y )
H(X)−I(X,Y)=−∑xp(x)log p(x)−∑x,yp(x,y)logp(x,y)p(x)p(y)=−∑x(∑yp(x,y))log p(x)−∑x,yp(x,y)logp(x,y)p(x)p(y)=−∑x,yp(x,y)log p(x)−∑x,yp(x,y)logp(x,y)p(x)p(y)=−∑x,y(log p(x)∗p(x,y)p(x)p(y))=−∑x,yp(x,y)logp(x,y)p(y)=−∑x,yp(x,y)log p(x|y)=H(X|Y) H ( X ) − I ( X , Y ) = − ∑ x p ( x ) l o g p ( x ) − ∑ x , y p ( x , y ) l o g p ( x , y ) p ( x ) p ( y ) = − ∑ x ( ∑ y p ( x , y ) ) l o g p ( x ) − ∑ x , y p ( x , y ) l o g p ( x , y ) p ( x ) p ( y ) = − ∑ x , y p ( x , y ) l o g p ( x ) − ∑ x , y p ( x , y ) l o g p ( x , y ) p ( x ) p ( y ) = − ∑ x , y ( l o g p ( x ) ∗ p ( x , y ) p ( x ) p ( y ) ) = − ∑ x , y p ( x , y ) l o g p ( x , y ) p ( y ) = − ∑ x , y p ( x , y ) l o g p ( x | y ) = H ( X | Y )
从这个公式可以知道,X的熵减去X和Y的互信息之后,可以得到在Y给定的情况下X的熵。
所以:
H(X|Y)=H(X)−I(X,Y)I(X,Y)=H(X)−H(X|Y)
H
(
X
|
Y
)
=
H
(
X
)
−
I
(
X
,
Y
)
I
(
X
,
Y
)
=
H
(
X
)
−
H
(
X
|
Y
)