概述
目录
- 一、信息量
- 二、熵(entropy)
- 三、联合熵
- 四、条件熵
- 五、相对熵(KL散度)
- 六、交叉熵(cross entropy)
- 七、JS散度(Jensen-Shannon divergence)
- 八、互信息
一、信息量
信息是用不确定性的量度定义的。事件出现的概率小,不确定性越多,信息量就大,反之则少。
对于信息量与概率成负相关的理解:
当信源(产生消息的来源)中某一消息(事件)发生的不确定性越高,一旦它发生,并且被收信者接受,消除的不确定性也就越大,获得的信息也就越多。如果收信者接受到被干扰的消息,对一个消息(事件)发生的不确定性几乎没有消除,则收信者接受到的信息也就微乎其微。因此,获得信息量的大小与不确定性消除的大小有关,我们直观地将信息量定义为
接受到了某消息(事件发生)所获得的信息量
=不确定性减少量
=(收到此消息前关于某事件发生的不确定性)-(收到此消息后关于某事件发生的不确定性)
举个例子:
2020年7月25日太阳从东边升起这个事件(必然事件),这件事发生前你知道了这件事情必然会发生(不确定性是0),发生后(不确定性也是0),不确定性减少量是0,因此我们所接受到的信息量是0。
上面几段话的总结:一个事件发生的概率越小,不确定性越大,(因为事件发生了,并且被接收了,事件发生所消除的不确定性就越大了),事件发生所带来的信息量也就越大。(可以看出来信息量与概率成负相关了)
香农提出了一个定量衡量信息量的公式:
log
1
p
=
−
log
p
log frac{1}{p}=-log p
logp1=−logp
二、熵(entropy)
其实就是一个系统所有变量信息量的均值(期望),是衡量一个系统的稳定程度。当一个系统越不稳定,或者事件发生的不确定性越高,它的熵就越高。
公式:
对于离散变量:
H
(
X
)
=
∑
x
∈
X
P
(
x
)
log
1
P
(
x
)
=
−
∑
x
∈
X
P
(
x
)
log
P
(
x
)
=
−
E
log
P
(
X
)
H(X)=sum_{x in X} P(x) log frac{1}{P(x)}=-sum_{x in X} P(x) log P(x)=-E log P(X)
H(X)=x∈X∑P(x)logP(x)1=−x∈X∑P(x)logP(x)=−ElogP(X)
对于连续变量:
H
(
X
)
=
∫
P
(
x
)
⋅
log
1
P
(
x
)
d
x
H(X)=int P(x) cdot log frac{1}{P(x)} d x
H(X)=∫P(x)⋅logP(x)1dx
三、联合熵
多个联合变量的熵,也就是将熵的定义推广到多变量的范围。
H
(
X
,
Y
)
=
∑
x
∈
X
∑
y
∈
Y
P
(
x
,
y
)
log
1
P
(
x
,
y
)
=
−
E
log
P
(
X
,
Y
)
H(X, Y)=sum_{x in X} sum_{y in Y} P(x, y) log frac{1}{P(x, y)}=-E log P(X, Y)
H(X,Y)=x∈X∑y∈Y∑P(x,y)logP(x,y)1=−ElogP(X,Y)
四、条件熵
一个随机变量在给定的情况下,系统的熵,即假设在给定一个变量下,该系统信息量的期望。
H
(
Y
∣
X
)
=
∑
x
∈
X
P
(
x
)
H
(
Y
∣
X
=
x
)
=
∑
x
∈
X
P
(
x
)
[
∑
y
∈
Y
P
(
y
∣
x
)
log
1
P
(
y
∣
x
)
]
=
∑
x
∈
X
∑
y
∈
Y
P
(
x
)
P
(
y
∣
x
)
log
1
P
(
y
∣
x
)
=
∑
x
∈
X
∑
y
∈
Y
P
(
x
,
y
)
log
1
P
(
y
∣
x
)
=
−
E
log
P
(
Y
∣
X
)
begin{aligned} H(Y mid X) &=sum_{x in X} P(x) H(Y mid X=x) \ &=sum_{x in X} P(x)left[sum_{y in Y} P(y mid x) log frac{1}{P(y mid x)}right] \ &=sum_{x in X} sum_{y in Y} P(x) P(y mid x) log frac{1}{P(y mid x)} \ &=sum_{x in X} sum_{y in Y} P(x, y) log frac{1}{P(y mid x)} \ &=-E log P(Y mid X) end{aligned}
H(Y∣X)=x∈X∑P(x)H(Y∣X=x)=x∈X∑P(x)⎣⎡y∈Y∑P(y∣x)logP(y∣x)1⎦⎤=x∈X∑y∈Y∑P(x)P(y∣x)logP(y∣x)1=x∈X∑y∈Y∑P(x,y)logP(y∣x)1=−ElogP(Y∣X)
五、相对熵(KL散度)
Kullback-Leibler Divergence,即K-L散度,是一种量化两种概率分布P和Q之间差异的方式,又叫相对熵。在概率学和统计学上,我们经常会使用一种更简单的、近似的分布来替代观察数据或太复杂的分布。K-L散度能帮助我们度量使用一个分布来近似另一个分布时所损失的信息量。
设p为观察得到的概率分布,q为另一分布来近似p,则p、q的K-L散度为:
D
K
L
(
p
∥
q
)
=
∑
i
p
(
x
i
)
⋅
[
log
1
q
(
x
i
)
−
log
1
p
(
x
i
)
]
=
∑
i
p
(
x
i
)
⋅
log
p
(
x
i
)
q
(
x
i
)
D_{K L}(p | q)=sum_{i} pleft(x_{i}right) cdotleft[log frac{1}{qleft(x_{i}right)}-log frac{1}{pleft(x_{i}right)}right]=sum_{i} pleft(x_{i}right) cdot log frac{pleft(x_{i}right)}{qleft(x_{i}right)}
DKL(p∥q)=i∑p(xi)⋅[logq(xi)1−logp(xi)1]=i∑p(xi)⋅logq(xi)p(xi)
性质:
- 非负性
- 不对称性,即 K L ( P ∥ Q ) ≠ K L ( Q ∥ P ) KL(P|Q) neq KL(Q|P) KL(P∥Q)=KL(Q∥P)
六、交叉熵(cross entropy)
也是用来衡量两个分布之间的差异性。
H
C
E
(
p
,
q
)
=
∑
i
p
(
x
i
)
⋅
log
1
q
(
x
i
)
H_{C E}(p, q)=sum_{i} pleft(x_{i}right) cdot log frac{1}{qleft(x_{i}right)}
HCE(p,q)=i∑p(xi)⋅logq(xi)1
显然交叉熵是相对熵的第一部分,因为在通常情况下我们是已知第二部分,即第二部分是常量,此时交叉熵和相对熵是一个线性关系,在考虑计算量的情况下,所以我们通常都用这部分交叉熵来做。
为什么在神经网络中使用交叉熵损失函数,而不是K-L散度?
K-L散度=交叉熵-熵,即 D K L ( p ∥ q ) = H ( p , q ) − H ( p ) D_{K L}(p | q)=H(p, q)-H(p) DKL(p∥q)=H(p,q)−H(p)。
在神经网络所涉及到的范围内, H ( p ) H(p) H(p)不变,则 D K L ( p ∥ q ) D_{K L}(p | q) DKL(p∥q)等价 H ( p , q ) H(p,q) H(p,q)。
七、JS散度(Jensen-Shannon divergence)
为了解决相对熵(KL散度不对称的问题),对KL散度进行变体。一般地,JS散度是对称的,其取值是 0 到 1 之间。
如果两个分布 P,Q 离得很远,完全没有重叠的时候,那么KL散度值是没有意义的,而JS散度值是一个常数(缺陷)。这在学习算法中是比较致命的,这就意味这这一点的梯度为 0,梯度消失了,无法更新。
D
J
S
(
p
∥
q
)
=
0.5
∗
[
D
K
L
(
p
∥
p
+
q
2
)
+
D
K
L
(
q
∥
p
+
q
2
)
]
=
0.5
∗
[
∑
i
p
(
x
i
)
⋅
log
2
p
(
x
i
)
p
(
x
i
)
+
q
(
x
i
)
+
∑
i
q
(
x
i
)
⋅
log
2
q
(
x
i
)
p
(
x
i
)
+
q
(
x
i
)
]
begin{aligned} D_{J S}(p | q) &=0.5 *left[D_{K L}left(p | frac{p+q}{2}right)+D_{K L}left(q | frac{p+q}{2}right)right] \ &=0.5 *left[sum_{i} pleft(x_{i}right) cdot log frac{2 pleft(x_{i}right)}{pleft(x_{i}right)+qleft(x_{i}right)}+sum_{i} qleft(x_{i}right) cdot log frac{2 qleft(x_{i}right)}{pleft(x_{i}right)+qleft(x_{i}right)}right] end{aligned}
DJS(p∥q)=0.5∗[DKL(p∥2p+q)+DKL(q∥2p+q)]=0.5∗[i∑p(xi)⋅logp(xi)+q(xi)2p(xi)+i∑q(xi)⋅logp(xi)+q(xi)2q(xi)]
八、互信息
定义: 互信息(Mutual Information)是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不确定性。
数学上的解释:
随机变量 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)
H
(
X
)
H(X)
H(X)是X的信息熵
H
(
Y
)
H(Y)
H(Y)是Y的信息熵
H
(
X
∣
Y
)
H(X | Y)
H(X∣Y)是已知Y的条件下,X的信息熵
用图来表示是这样的:
公式为:
I
(
X
;
Y
)
=
∫
X
∫
Y
P
(
X
,
Y
)
log
P
(
X
,
Y
)
P
(
X
)
P
(
Y
)
=
∫
X
∫
Y
P
(
X
,
Y
)
log
P
(
X
,
Y
)
P
(
X
)
−
∫
X
∫
Y
P
(
X
,
Y
)
log
P
(
Y
)
=
∫
X
∫
Y
P
(
X
)
P
(
Y
∣
X
)
log
P
(
Y
∣
X
)
−
∫
Y
log
P
(
Y
)
∫
X
P
(
X
,
Y
)
=
∫
X
P
(
X
)
∫
Y
P
(
Y
∣
X
)
log
P
(
Y
∣
X
)
−
∫
Y
log
P
(
Y
)
P
(
Y
)
=
−
∫
X
P
(
X
)
H
(
Y
∣
X
=
x
)
+
H
(
Y
)
=
H
(
Y
)
−
H
(
Y
∣
X
)
begin{aligned} I(X ; Y) &=int_{X} int_{Y} P(X, Y) log frac{P(X, Y)}{P(X) P(Y)} \ &=int_{X} int_{Y} P(X, Y) log frac{P(X, Y)}{P(X)}-int_{X} int_{Y} P(X, Y) log P(Y) \ &=int_{X} int_{Y} P(X) P(Y mid X) log P(Y mid X)-int_{Y} log P(Y) int_{X} P(X, Y) \ &=int_{X} P(X) int_{Y} P(Y mid X) log P(Y mid X)-int_{Y} log P(Y) P(Y) \ &=-int_{X} P(X) H(Y mid X=x)+H(Y) \ &=H(Y)-H(Y mid X) end{aligned}
I(X;Y)=∫X∫YP(X,Y)logP(X)P(Y)P(X,Y)=∫X∫YP(X,Y)logP(X)P(X,Y)−∫X∫YP(X,Y)logP(Y)=∫X∫YP(X)P(Y∣X)logP(Y∣X)−∫YlogP(Y)∫XP(X,Y)=∫XP(X)∫YP(Y∣X)logP(Y∣X)−∫YlogP(Y)P(Y)=−∫XP(X)H(Y∣X=x)+H(Y)=H(Y)−H(Y∣X)
当 X 和 Y 独立时,
P
(
X
,
Y
)
=
P
(
X
)
P
(
Y
)
P(X,Y) = P(X) P(Y)
P(X,Y)=P(X)P(Y),因此:
I
(
X
;
Y
)
=
0
I(X ; Y)=0
I(X;Y)=0
参考资料:
https://blog.csdn.net/coolyuan/article/details/107564080
https://zhuanlan.zhihu.com/p/240676850
https://www.jianshu.com/p/43318a3dc715
https://blog.csdn.net/park_bomu/article/details/108829270
最后
以上就是饱满唇膏为你收集整理的信息论的一些基础概念一、信息量二、熵(entropy)三、联合熵四、条件熵五、相对熵(KL散度)六、交叉熵(cross entropy)七、JS散度(Jensen-Shannon divergence)八、互信息的全部内容,希望文章能够帮你解决信息论的一些基础概念一、信息量二、熵(entropy)三、联合熵四、条件熵五、相对熵(KL散度)六、交叉熵(cross entropy)七、JS散度(Jensen-Shannon divergence)八、互信息所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复