信息论的一些基础概念


一、信息量

信息是用不确定性的量度定义的。事件出现的概率小,不确定性越多,信息量就大,反之则少。

对于信息量与概率成负相关的理解:
当信源(产生消息的来源)中某一消息(事件)发生的不确定性越高,一旦它发生,并且被收信者接受,消除的不确定性也就越大,获得的信息也就越多。如果收信者接受到被干扰的消息,对一个消息(事件)发生的不确定性几乎没有消除,则收信者接受到的信息也就微乎其微。因此,获得信息量的大小与不确定性消除的大小有关,我们直观地将信息量定义为
    接受到了某消息(事件发生)所获得的信息量
    =不确定性减少量
    =(收到此消息前关于某事件发生的不确定性)-(收到此消息后关于某事件发生的不确定性)
举个例子:
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)=xXP(x)logP(x)1=xXP(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)=xXyYP(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(YX)=xXP(x)H(YX=x)=xXP(x)yYP(yx)logP(yx)1=xXyYP(x)P(yx)logP(yx)1=xXyYP(x,y)logP(yx)1=ElogP(YX)

五、相对熵(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} p\left(x_{i}\right) \cdot\left[\log \frac{1}{q\left(x_{i}\right)}-\log \frac{1}{p\left(x_{i}\right)}\right]=\sum_{i} p\left(x_{i}\right) \cdot \log \frac{p\left(x_{i}\right)}{q\left(x_{i}\right)} DKL(pq)=ip(xi)[logq(xi)1logp(xi)1]=ip(xi)logq(xi)p(xi)
性质:

  • 非负性
  • 不对称性,即 K L ( P ∥ Q ) ≠ K L ( Q ∥ P ) KL(P\|Q) \neq KL(Q\|P) KL(PQ)=KL(QP)

六、交叉熵(cross entropy)

也是用来衡量两个分布之间的差异性。
H C E ( p , q ) = ∑ i p ( x i ) ⋅ log ⁡ 1 q ( x i ) H_{C E}(p, q)=\sum_{i} p\left(x_{i}\right) \cdot \log \frac{1}{q\left(x_{i}\right)} HCE(p,q)=ip(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(pq)=H(p,q)H(p)
在神经网络所涉及到的范围内, H ( p ) H(p) H(p)不变,则 D K L ( p ∥ q ) D_{K L}(p \| q) DKL(pq)等价 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} p\left(x_{i}\right) \cdot \log \frac{2 p\left(x_{i}\right)}{p\left(x_{i}\right)+q\left(x_{i}\right)}+\sum_{i} q\left(x_{i}\right) \cdot \log \frac{2 q\left(x_{i}\right)}{p\left(x_{i}\right)+q\left(x_{i}\right)}\right] \end{aligned} DJS(pq)=0.5[DKL(p2p+q)+DKL(q2p+q)]=0.5[ip(xi)logp(xi)+q(xi)2p(xi)+iq(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(XY)
H ( X ) H(X) H(X)是X的信息熵
H ( Y ) H(Y) H(Y)是Y的信息熵
H ( X ∣ Y ) H(X | Y) H(XY)是已知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)=XYP(X,Y)logP(X)P(Y)P(X,Y)=XYP(X,Y)logP(X)P(X,Y)XYP(X,Y)logP(Y)=XYP(X)P(YX)logP(YX)YlogP(Y)XP(X,Y)=XP(X)YP(YX)logP(YX)YlogP(Y)P(Y)=XP(X)H(YX=x)+H(Y)=H(Y)H(YX)
当 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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值