信息是个抽象的概念,我们知道一个句子里的信息多或者少,但不知道具体是多少,如何使用数据去衡量一条信息的信息量是多少?熵刚好可以衡量信息的多少。
信息量等于不确定性的多少,例如(如无特殊说明骰子都是指正六面骰子):
A: “丢一次骰子,数字小于等于6的概率是多少?”:骰子上的数字是1、2、3、4、5、6,丢一次骰子,它的数字肯定是小于等于6的,它的不确定性是0,所以它的信息量也是0;
B: “丢一次骰子,数字小于等于3的概率是多少?”:丢一次骰子,它的数字小于等于3的概率是
1
2
\frac{1}{2}
21,这信息是有不确定性的,所以它的信息量不等于0 。
一、信息熵
信息熵:用于信息
X
X
X的信息量;
H
(
X
)
=
−
∑
p
(
x
)
log
2
p
(
x
)
H(X) = -\sum{p(x)\log_2{p(x)}}
H(X)=−∑p(x)log2p(x)
X
X
X:变量空间;
H
(
X
)
H(X)
H(X):
X
X
X的信息熵;
p
(
x
)
p(x)
p(x):
X
=
x
X=x
X=x时的概率;
例如:“丢一次骰子得到的数字是多少?”
丢一次骰子,可能得到的数字有1、2、3、4、5、6,得到每个数字的概率都相等,因此
X
=
{
1
,
2
,
3
,
4
,
5
,
6
}
X = \{1, 2, 3, 4, 5, 6\}
X={1,2,3,4,5,6},
p
(
1
)
=
p
(
2
)
=
p
(
3
)
=
p
(
4
)
=
p
(
5
)
=
p
(
6
)
=
1
6
p(1) = p(2) = p(3) = p(4) = p(5) = p(6) = \frac{1}{6}
p(1)=p(2)=p(3)=p(4)=p(5)=p(6)=61;
那这条信息的信息熵为:
H
(
X
)
H(X)
H(X)
=
−
[
p
(
1
)
∗
l
o
g
2
p
(
1
)
+
p
(
2
)
∗
l
o
g
2
p
(
2
)
+
p
(
3
)
∗
l
o
g
2
p
(
3
)
+
p
(
4
)
∗
l
o
g
2
p
(
4
)
+
p
(
5
)
∗
l
o
g
2
p
(
5
)
+
p
(
6
)
∗
l
o
g
2
p
(
6
)
]
= -[p(1) * log_2{p(1)} + p(2) * log_2{p(2)} + p(3) * log_2{p(3)} + p(4) * log_2{p(4)} + p(5) * log_2{p(5)} + p(6) * log_2{p(6)}]
=−[p(1)∗log2p(1)+p(2)∗log2p(2)+p(3)∗log2p(3)+p(4)∗log2p(4)+p(5)∗log2p(5)+p(6)∗log2p(6)]
=
−
1
6
∗
l
o
g
2
1
6
∗
6
= - \frac{1}{6} * log_2{\frac{1}{6} } * 6
=−61∗log261∗6
=
−
l
o
g
2
1
6
= - log_2{\frac{1}{6} }
=−log261
=
l
o
g
2
6
= log_2{6}
=log26
特别地,在算法中,计算熵的时候都是使用底数为
e
e
e 的对数,因此
H
(
X
)
=
−
∑
p
(
x
)
ln
p
(
x
)
H(X) = -\sum{p(x)\ln{p(x)}}
H(X)=−∑p(x)lnp(x)
二、条件熵
条件熵:在给定一个信息
Y
Y
Y的前提下
X
X
X的信息熵;
H
(
X
∣
Y
)
=
−
∑
p
(
x
,
y
)
l
n
p
(
x
∣
y
)
H(X|Y) = -\sum{p(x,y)ln{p(x|y)}}
H(X∣Y)=−∑p(x,y)lnp(x∣y)
H
(
X
∣
Y
)
=
H
(
X
,
Y
)
−
H
(
Y
)
H(X|Y) = H(X, Y) - H(Y)
H(X∣Y)=H(X,Y)−H(Y)
H
(
X
∣
Y
)
H(X|Y)
H(X∣Y):在
Y
Y
Y取不同值的前提下
X
X
X的条件熵;
H
(
X
,
Y
)
H(X, Y)
H(X,Y):
X
X
X和
Y
Y
Y同时出现时的信息熵;
H
(
Y
)
H(Y)
H(Y):
Y
Y
Y的信息熵;
p
(
x
,
y
)
p(x,y)
p(x,y):
x
x
x和
y
y
y同时出现的概率(联合概率分布);
p
(
x
∣
y
)
p(x|y)
p(x∣y):
y
y
y条件下,
x
x
x出现的概率;
例如:“丢骰子,已知丢出的是偶数,那丢出的数字是多少?”
设偶数是
y
y
y,数字是
x
x
x;
解法1:
则
Y
=
{
奇
数
,
偶
数
}
Y = \{奇数, 偶数\}
Y={奇数,偶数},
p
(
奇
数
)
=
p
(
偶
数
)
=
1
2
p(奇数) = p(偶数) = \frac{1}{2}
p(奇数)=p(偶数)=21,
p
(
1
∣
奇
数
)
=
p
(
3
∣
奇
数
)
=
p
(
5
∣
奇
数
)
=
1
3
p(1|奇数)=p(3|奇数)=p(5|奇数)=\frac{1}{3}
p(1∣奇数)=p(3∣奇数)=p(5∣奇数)=31,
p
(
2
∣
奇
数
)
=
p
(
4
∣
奇
数
)
=
p
(
6
∣
奇
数
)
=
0
p(2|奇数)=p(4|奇数)=p(6|奇数)=0
p(2∣奇数)=p(4∣奇数)=p(6∣奇数)=0,
p
(
1
∣
偶
数
)
=
p
(
3
∣
偶
数
)
=
p
(
5
∣
偶
数
)
=
0
p(1|偶数)=p(3|偶数)=p(5|偶数)=0
p(1∣偶数)=p(3∣偶数)=p(5∣偶数)=0,
p
(
2
∣
偶
数
)
=
p
(
4
∣
偶
数
)
=
p
(
6
∣
偶
数
)
=
1
3
p(2|偶数)=p(4|偶数)=p(6|偶数)=\frac{1}{3}
p(2∣偶数)=p(4∣偶数)=p(6∣偶数)=31,
所以
H
(
Y
)
=
−
[
p
(
奇
数
)
l
n
p
(
奇
数
)
+
p
(
偶
数
)
l
n
p
(
偶
数
)
]
H(Y) = - [p(奇数)ln{p(奇数)} + p(偶数)ln{p(偶数)}]
H(Y)=−[p(奇数)lnp(奇数)+p(偶数)lnp(偶数)]
=
−
(
1
2
l
n
(
1
2
)
+
1
2
l
n
(
1
2
)
)
= - (\frac{1}{2}ln(\frac{1}{2}) + \frac{1}{2}ln(\frac{1}{2}))
=−(21ln(21)+21ln(21))
=
l
n
2
= ln{2}
=ln2
X
=
{
1
,
2
,
3
,
4
,
5
,
6
}
X = \{1, 2, 3, 4, 5, 6\}
X={1,2,3,4,5,6}, 由
p
(
x
,
y
)
=
p
(
x
∣
y
)
∗
p
(
y
)
p(x, y) = p(x|y) * p(y)
p(x,y)=p(x∣y)∗p(y),所以:
p
(
X
=
1
,
Y
=
奇
数
)
=
1
3
∗
1
2
=
1
6
p(X=1,Y=奇数) = \frac{1}{3} * \frac{1}{2}=\frac{1}{6}
p(X=1,Y=奇数)=31∗21=61
p
(
X
=
2
,
Y
=
奇
数
)
=
0
∗
1
2
=
0
p(X=2,Y=奇数) =0 * \frac{1}{2}=0
p(X=2,Y=奇数)=0∗21=0
p
(
X
=
3
,
Y
=
奇
数
)
=
1
3
∗
1
2
=
1
6
p(X=3,Y=奇数) = \frac{1}{3} * \frac{1}{2}=\frac{1}{6}
p(X=3,Y=奇数)=31∗21=61
p
(
X
=
4
,
Y
=
奇
数
)
=
0
∗
1
2
=
0
p(X=4,Y=奇数) =0 * \frac{1}{2}=0
p(X=4,Y=奇数)=0∗21=0
p
(
X
=
5
,
Y
=
奇
数
)
=
1
3
∗
1
2
=
1
6
p(X=5,Y=奇数) = \frac{1}{3} * \frac{1}{2}=\frac{1}{6}
p(X=5,Y=奇数)=31∗21=61
p
(
X
=
6
,
Y
=
奇
数
)
=
0
∗
1
2
=
0
p(X=6,Y=奇数) =0 * \frac{1}{2}=0
p(X=6,Y=奇数)=0∗21=0
p
(
X
=
1
,
Y
=
偶
数
)
=
0
∗
1
2
=
0
p(X=1,Y=偶数) = 0* \frac{1}{2}=0
p(X=1,Y=偶数)=0∗21=0
p
(
X
=
2
,
Y
=
偶
数
)
=
1
3
∗
1
2
=
1
6
p(X=2,Y=偶数) = \frac{1}{3} * \frac{1}{2}=\frac{1}{6}
p(X=2,Y=偶数)=31∗21=61
p
(
X
=
3
,
Y
=
偶
数
)
=
0
∗
1
2
=
0
p(X=3,Y=偶数) = 0* \frac{1}{2}=0
p(X=3,Y=偶数)=0∗21=0
p
(
X
=
4
,
Y
=
偶
数
)
=
1
3
∗
1
2
=
1
6
p(X=4,Y=偶数) = \frac{1}{3} * \frac{1}{2}=\frac{1}{6}
p(X=4,Y=偶数)=31∗21=61
p
(
X
=
5
,
Y
=
偶
数
)
=
0
∗
1
2
=
0
p(X=5,Y=偶数) =0 * \frac{1}{2}=0
p(X=5,Y=偶数)=0∗21=0
p
(
X
=
6
,
Y
=
偶
数
)
=
1
3
∗
1
2
=
1
6
p(X=6,Y=偶数) = \frac{1}{3} * \frac{1}{2}=\frac{1}{6}
p(X=6,Y=偶数)=31∗21=61
H
(
X
,
Y
)
=
−
[
6
∗
1
6
∗
l
n
1
6
+
6
∗
0
∗
l
n
0
]
H(X, Y) = - [6 * \frac{1}{6}*ln{\frac{1}{6}} + 6*0*ln{0}]
H(X,Y)=−[6∗61∗ln61+6∗0∗ln0]
=
l
n
6
=ln{6}
=ln6
H
(
X
∣
Y
)
=
H
(
X
,
Y
)
−
H
(
Y
)
=
l
n
6
−
l
n
2
=
l
n
3
H(X|Y) = H(X, Y) - H(Y)=ln{6} - ln{2} = ln{3}
H(X∣Y)=H(X,Y)−H(Y)=ln6−ln2=ln3
解法2:
H
(
X
∣
Y
)
H(X|Y)
H(X∣Y)
=
−
∑
p
(
x
,
y
)
l
n
p
(
x
∣
y
)
= -\sum{p(x,y)ln{p(x|y)}}
=−∑p(x,y)lnp(x∣y)
=
−
[
p
(
1
,
奇
数
)
l
n
p
(
1
∣
奇
数
)
+
p
(
2
,
奇
数
)
l
n
p
(
2
∣
奇
数
)
+
p
(
3
,
奇
数
)
l
n
p
(
3
∣
奇
数
)
+
.
.
.
]
=-[p(1,奇数)ln{p(1|奇数)} + p(2,奇数)ln{p(2|奇数)} + p(3,奇数)ln{p(3|奇数)}+...]
=−[p(1,奇数)lnp(1∣奇数)+p(2,奇数)lnp(2∣奇数)+p(3,奇数)lnp(3∣奇数)+...]
=
−
[
1
6
∗
l
n
1
3
+
0
∗
l
n
0
+
1
6
∗
l
n
1
3
+
.
.
.
]
=-[\frac{1}{6}*ln{\frac{1}{3}} + 0*ln{0} + \frac{1}{6}*ln{\frac{1}{3}} +...]
=−[61∗ln31+0∗ln0+61∗ln31+...]
=
−
(
6
∗
1
6
∗
l
n
1
3
)
=-(6 * \frac{1}{6}*ln{\frac{1}{3}})
=−(6∗61∗ln31)
=
−
l
n
1
3
=-ln{\frac{1}{3}}
=−ln31
=
l
n
3
=ln{3}
=ln3
三、互信息
互信息:衡量两个信息的相关性;
I
(
X
;
Y
)
=
∑
x
∈
X
,
y
∈
Y
p
(
x
,
y
)
l
n
p
(
x
,
y
)
p
(
x
)
p
(
y
)
I(X;Y) = \sum_{x\in{X},y\in{Y}}{p(x,y)ln\frac{p(x,y)}{p(x)p(y)}}
I(X;Y)=x∈X,y∈Y∑p(x,y)lnp(x)p(y)p(x,y)
I
(
X
;
Y
)
=
H
(
X
)
−
H
(
X
∣
Y
)
I(X;Y) = H(X) - H(X|Y)
I(X;Y)=H(X)−H(X∣Y)
例如:信息A:“丢骰子,那丢出的数字是多少?”, 信息B:“丢骰子,那丢出的数字是奇数还是偶数?”
设数字是
x
x
x,奇数、偶数是
y
y
y;
解法1:
I
(
X
;
Y
)
=
H
(
X
)
−
H
(
X
∣
Y
)
=
l
n
6
−
l
n
3
=
l
n
2
I(X;Y) = H(X) - H(X|Y) = ln{6} - ln{3} = ln{2}
I(X;Y)=H(X)−H(X∣Y)=ln6−ln3=ln2
解法2:
I
(
X
;
Y
)
I(X;Y)
I(X;Y)
=
∑
x
∈
X
,
y
∈
Y
p
(
x
,
y
)
l
n
p
(
x
,
y
)
p
(
x
)
p
(
y
)
= \sum_{x\in{X},y\in{Y}}{p(x,y)ln\frac{p(x,y)}{p(x)p(y)}}
=∑x∈X,y∈Yp(x,y)lnp(x)p(y)p(x,y)
=
p
(
1
,
奇
数
)
l
n
p
(
1
,
奇
数
)
p
(
1
)
p
(
奇
数
)
+
p
(
2
,
奇
数
)
l
n
p
(
2
,
奇
数
)
p
(
2
)
p
(
奇
数
)
+
p
(
3
,
奇
数
)
l
n
p
(
3
,
奇
数
)
p
(
3
)
p
(
奇
数
)
+
.
.
.
=p(1,奇数)ln{\frac{p(1,奇数)}{p(1)p(奇数)}} +p(2,奇数)ln{\frac{p(2,奇数)}{p(2)p(奇数)}} + p(3,奇数)ln{\frac{p(3,奇数)}{p(3)p(奇数)}}+...
=p(1,奇数)lnp(1)p(奇数)p(1,奇数)+p(2,奇数)lnp(2)p(奇数)p(2,奇数)+p(3,奇数)lnp(3)p(奇数)p(3,奇数)+...
=
1
6
∗
l
n
1
6
1
6
∗
1
2
+
0
∗
l
n
0
1
6
∗
1
2
+
1
6
∗
l
n
1
6
1
6
∗
1
2
+
.
.
.
=\frac{1}{6}*ln{\frac{\frac{1}{6}}{\frac{1}{6}*\frac{1}{2}}} +0*ln{\frac{0}{\frac{1}{6}*\frac{1}{2}}} + \frac{1}{6}*ln{\frac{\frac{1}{6}}{\frac{1}{6}*\frac{1}{2}}}+...
=61∗ln61∗2161+0∗ln61∗210+61∗ln61∗2161+...
=
6
∗
1
6
∗
l
n
1
6
1
6
∗
1
2
= 6 * \frac{1}{6} * ln{\frac{\frac{1}{6}}{\frac{1}{6}*\frac{1}{2}}}
=6∗61∗ln61∗2161
=
l
n
1
6
1
6
∗
1
2
=ln{\frac{\frac{1}{6}}{\frac{1}{6}*\frac{1}{2}}}
=ln61∗2161
=
l
n
2
=ln{2}
=ln2
四、相对熵(交叉熵, Ralative Entropy, Kullback-Leibler Divergence)
相对熵:用于衡量两个取值为正数的函数的相似性;
K
L
(
f
(
x
)
∣
∣
g
(
x
)
)
=
∑
x
∈
X
f
(
x
)
∗
l
n
f
(
x
)
g
(
x
)
KL(f(x)||g(x))=\sum_{x\in{X}}{f(x)*ln{\frac{f(x)}{g(x)}}}
KL(f(x)∣∣g(x))=x∈X∑f(x)∗lng(x)f(x)
定理:
1、对于两个完全相同的函数,它们的相对熵等于0;
2、相对熵越大,两个函数差异越大;反之,相对熵越小,两个函数差异越小;
3、对于概率分布或者概率密度函数,如果取值均大于零,相对熵可以度量两个随机分布的差异性。
由于
K
L
(
f
(
x
)
∣
∣
g
(
x
)
)
≠
K
L
(
g
(
x
)
∣
∣
f
(
x
)
)
KL(f(x)||g(x))\not=KL(g(x)||f(x))
KL(f(x)∣∣g(x))=KL(g(x)∣∣f(x)),所以还可以使用下面的公式进行计算相对熵:
J
S
(
f
(
x
)
∣
∣
g
(
x
)
)
=
1
2
∗
[
K
L
(
f
(
x
)
∣
∣
g
(
x
)
)
+
K
L
(
g
(
x
)
∣
∣
f
(
x
)
)
]
JS(f(x)||g(x))=\frac{1}{2}*[KL(f(x)||g(x)) + KL(g(x)||f(x))]
JS(f(x)∣∣g(x))=21∗[KL(f(x)∣∣g(x))+KL(g(x)∣∣f(x))]
例如:函数F:“丢一个正四面骰子,得到各数字的概率”,函数G:“丢一个正六面骰子,得到各数字的概率”;
X
=
{
1
,
2
,
3
,
4
,
5
,
6
}
X=\{1, 2, 3, 4, 5, 6\}
X={1,2,3,4,5,6}
f
(
1
)
=
f
(
2
)
=
f
(
3
)
=
f
(
4
)
=
1
4
f(1)=f(2)=f(3)=f(4)=\frac{1}{4}
f(1)=f(2)=f(3)=f(4)=41
f
(
5
)
=
f
(
6
)
=
0
f(5)=f(6)=0
f(5)=f(6)=0
g
(
1
)
=
g
(
2
)
=
g
(
3
)
=
g
(
4
)
=
g
(
5
)
=
g
(
6
)
=
1
6
g(1)=g(2)=g(3)=g(4)=g(5)=g(6)=\frac{1}{6}
g(1)=g(2)=g(3)=g(4)=g(5)=g(6)=61
那么:
K
L
(
f
(
x
)
∣
∣
g
(
x
)
)
KL(f(x)||g(x))
KL(f(x)∣∣g(x))
=
∑
x
∈
X
f
(
x
)
∗
l
n
f
(
x
)
g
(
x
)
=\sum_{x\in{X}}{f(x)*ln{\frac{f(x)}{g(x)}}}
=∑x∈Xf(x)∗lng(x)f(x)
=
f
(
1
)
∗
l
n
f
(
1
)
g
(
1
)
+
f
(
2
)
∗
l
n
f
(
2
)
g
(
2
)
+
f
(
3
)
∗
l
n
f
(
3
)
g
(
3
)
+
.
.
.
=f(1)*ln{\frac{f(1)}{g(1)}}+f(2)*ln{\frac{f(2)}{g(2)}}+f(3)*ln{\frac{f(3)}{g(3)}}+...
=f(1)∗lng(1)f(1)+f(2)∗lng(2)f(2)+f(3)∗lng(3)f(3)+...
=
1
4
∗
l
n
1
4
1
6
+
1
4
∗
l
n
1
4
1
6
+
1
4
∗
l
n
1
4
1
6
+
.
.
.
+
0
∗
l
n
0
1
6
=\frac{1}{4}*ln{\frac{\frac{1}{4}}{\frac{1}{6}}}+\frac{1}{4}*ln{\frac{\frac{1}{4}}{\frac{1}{6}}}+\frac{1}{4}*ln{\frac{\frac{1}{4}}{\frac{1}{6}}}+...+0*ln{\frac{0}{\frac{1}{6}}}
=41∗ln6141+41∗ln6141+41∗ln6141+...+0∗ln610
=
4
∗
1
4
∗
l
n
1
4
1
6
=4 * \frac{1}{4}*ln{\frac{\frac{1}{4}}{\frac{1}{6}}}
=4∗41∗ln6141
=
l
n
3
2
=ln{\frac{3}{2}}
=ln23
=
l
n
3
−
l
n
2
=ln{3} - ln{2}
=ln3−ln2