【基础知识-熵】——1.熵的建模

感觉很多博客对于熵这个概念都说不明白,而且有直接能看出来的错误,这里为了深刻认识,故做此小结。

信息熵

直观理解

熵,我们知到:是不确定的度量、是信息的度量、是对事件的理想编码;

如果我们完全认识一个事件,那么我们获得了足够大的信息量;反之,则获得的信息量不足。

虽然我们已经用概率做了不确定的度量,但是熵和概率比,有什么区别呢?

如果我们知到一件事必然发生,虽然它的概率是1,但是熵却是0,没有不确定度。如果一件事必然不发生,虽然概率是0,但是熵也是0,因为没有不确定度。但是如果一个概率为1的事件没发生,或者概率为0的事件发生了,那么熵就是无穷大,因为这一事实所带来的信息量很大。
总之,概率和熵,对于不确定的度量采取了不同方式。

定义

直观理解上,如果某个概率的事件发生了,这一个事实带来极大的信息量。因此一个(原子)事件的信息量,就是:
S ( x ) = − l o g ( x ) S(x)=-log(x) S(x)=log(x)
其中,log的底,可以是任意大于1的底,换底等价于更换信息的单位。如果一个随机变量 X X X(一个事件)对应多个原子事件(对应 X = x i X=x_i X=xi),那么随机变量 X X X的熵是:
S ( x ) = − ∑ x p ( x ) l o g ( x ) S(x)=-\sum_x p(x)log(x) S(x)=xp(x)log(x)
上面是离散型随机变量,而连续性可以写作:
S ( x ) = − ∫ x p ( x ) l o g ( x ) d x S(x)=-\int_x p(x)log(x) dx S(x)=xp(x)log(x)dx
就是原子事件的信息熵的期望。

这意味着,事件 X X X发生,能够为我们带来的信息量。

理解建模

首先,为什么是对数呢?我认为有两个关键:

  1. 独立可加性;
  2. 理想视角下的编码长度;

如果我们认为两个事件 X X X Y Y Y是互相独立的,那么我们有:
p ( x , y ) = p ( x ) p ( y ) p(x,y)=p(x)p(y) p(x,y)=p(x)p(y)
对应的,我们认为联合事件 X Y XY XY发生的熵,其实就是 X X X的熵 加上 Y Y Y的熵。因为X和Y完全没关系,因此我们把他们两个联合在一起看,和分开看的不确定度是一样的。
S ( X Y ) = S ( X ) + S ( Y ) S(XY)=S(X)+S(Y) S(XY)=S(X)+S(Y)
而对数满足这种性质:
S ( X Y ) = − ∑ x , y p ( x , y ) l o g p ( x , y ) = − ∑ x , y p ( x ) p ( y ) ( l o g p ( x ) + l o g p ( y ) ) = − ∑ x p ( x ) l o g p ( x ) − ∑ y p ( y ) l o g p ( y ) = S ( X ) + S ( Y ) \begin{aligned} S(XY)=& -\sum_{x,y} p(x,y)log p(x,y) \\ =& -\sum_{x,y} p(x)p(y)(log p(x)+log p(y)) \\ =& -\sum_{x} p(x)log p(x) - \sum_{y} p(y)log p(y) \\ =& S(X)+S(Y) \\ \end{aligned} S(XY)====x,yp(x,y)logp(x,y)x,yp(x)p(y)(logp(x)+logp(y))xp(x)logp(x)yp(y)logp(y)S(X)+S(Y)

其次,理解一下 l o g 1 p ( x ) log {1 \over p(x)} logp(x)1的含义:
我们如果从频率派估计事件 x i x_i xi发生的概率,那么:
p ( x i ) = x i N p(x_i)= x_i \over N Np(xi)=xi
再思考,如果样本空间中有 M M M个事件,那么我们如果采用 k k k进制编码,理想情况,我们需要 l o g k M log_k M logkM长度的编码。
1 p ( x i ) = N x i {1 \over p(x_i)}=N \over x_i xip(xi)1=N,实际上是将 x i x_i xi发生次数归一化后,估计了样本空间大小,为 N x i N \over x_i xiN。也就是说,在 x i x_i xi的视角下,我们需要 l o g k N x i log_k N \over x_i xilogkN来对总体事件编码。
S ( X ) S(X) S(X)相当于求取这种“各自理想视角”下,最优编码的均值。

其实还有两件事,一是值域,而是“单调性”:

  1. 如果事件完全“确定”,那么我们没有不确定度,熵为0,对应的是 X X X只有确定事件或者不确定事件产生。
  2. 信息量越大,熵越大。确定性事件的熵肯定比不确定的事件的熵要小(不确定的事情蕴含的信息越大),确定性事件的概率分布也就是恒等于1,对应的熵是0,因此在这两种情况下,熵最小。

理论一些

如果我们希望把上述建模变得理论一些,那么我们可以算一算。实际上这就是数学建模,别紧张。
我们定义熵应该满足以下条件:
1、它是概率分布p(x)的函数,为了研究的方便,我们还希望它是一个光滑函数;
2、它具有独立可加性,这意味着熵满足:
S [ p ( x ) ] = ∑ x f ( p ( x ) ) S[p(x)] = \sum_x f(p(x)) S[p(x)]=xf(p(x))
3、信息量越大,熵越大。
我们需要确定函数 f f f的表达式。
我们先考虑二元分布(由于是理解,就不考虑多元了,多元的话考虑归纳就行).
我们再考虑二元分布下,非常简单的形式,即 p ( X ) = p , p ( X ˉ ) = 1 − p , p ( Y ) = q , p ( Y ˉ ) = 1 − q p(X)=p,p(\bar X)=1-p,p(Y)=q,p(\bar Y)=1-q p(X)=p,p(Xˉ)=1pp(Y)=q,p(Yˉ)=1q。这里我们就不得不解函数方程了,这里偷懒,暂时就不解了。但是可以解出:
f ( x ) = α x l n x f(x)=\alpha x lnx f(x)=αxlnx

我们根据这个定义,衍生出对于多元变量、联合分布的一些信息量讨论。

联合熵

如果我们知到随机变量 X X X Y Y Y,那么联合熵定义如下:
S [ x , y ] = − ∑ x ∑ y p ( x , y ) l n p ( x , y ) S[x,y]=-\sum_x \sum_y p(x,y) ln p(x,y) S[x,y]=xyp(x,y)lnp(x,y)
当然,直观的看,就是对上述熵定义的直接延拓,只不过变为多变量的情况。

条件熵

条件熵,其实就是可以进一步延拓:
S ( Y ∣ X ) = ∑ x p ( x ) S ( Y ∣ X = x ) = ∑ x p ( X = x ) ∑ y p ( Y = y ∣ X = x ) l o g p ( Y = y ∣ X = x ) \begin{aligned} S(Y|X)=& \sum_x p(x)S(Y|X=x) \\ =& \sum_x p(X=x) \sum_y p(Y=y|X=x) logp(Y=y|X=x) \end{aligned} S(YX)==xp(x)S(YX=x)xp(X=x)yp(Y=yX=x)logp(Y=yX=x)
意思是,当我们确定条件 x x x下,计算熵 S ( Y ∣ X = x ) S(Y|X=x) S(YX=x)的均值。

或者说,暴力的看就是:
S ( Y ∣ X ) = − ∑ x ∑ y p ( x , y ) l o g p ( y ∣ x ) S(Y|X)=-\sum_x \sum_y p(x,y)log p(y|x) S(YX)=xyp(x,y)logp(yx)

互信息

互信息(Mutual information )可以看作是两个随机事件的信息交集。可以从多个角度、公式看待这个变量。
I ( X , Y ) = H ( X ) + H ( Y ) − H ( X Y ) ≥ 0 I(X, Y) = \mathbb{H}(X)+ \mathbb{H}(Y) - \mathbb{H}(XY) \ge 0 I(X,Y)=H(X)+H(Y)H(XY)0
I ( X , Y ) = D K L ( P ( X , Y ) ∣ ∣ P ( X ) P ( Y ) ) = E P ( x , y ) [ log ⁡ P ( x , y ) P ( x ) P ( y ) ] I(X, Y) = \mathcal{D}_{KL}(P{(X,Y)} || P(X) P(Y)) = \mathbb{E}_{P_{(x,y)}} [\log \frac{P(x,y)}{P(x)P(y)}] I(X,Y)=DKL(P(X,Y)P(X)P(Y))=EP(x,y)[logP(x)P(y)P(x,y)]
I ( X , Y ) = H ( Y ) − H ( Y ∣ X ) = H ( X ) − H ( X ∣ Y ) I(X, Y) = \mathbb{H}(Y) - \mathbb{H}(Y|X)=\mathbb{H}(X) - \mathbb{H}(X|Y) I(X,Y)=H(Y)H(YX)=H(X)H(XY),其中 H ( Y ∣ X ) = ∫ x , y p ( x , y ) log ⁡ p ( x , y ) p ( x ) d x d y \mathbb{H}(Y|X) = \int_{x, y} p(x, y) \log \frac{p(x,y)}{p(x)} dxdy H(YX)=x,yp(x,y)logp(x)p(x,y)dxdy

如果类似熵的角度看, l o g p ( y ∣ x ) p ( y ) log {p(y|x) \over p(y)} logp(y)p(yx)是点互信息,即具体的考虑了 X = x , Y = y X=x,Y=y X=xY=y时,两个变量的相关性。而 I ( X , Y ) I(X,Y) I(X,Y)考虑的是所有的 X X X Y Y Y取值下,点互信息的期望,即:
I ( X , Y ) = ∫ x , y p ( x , y ) log ⁡ p ( x , y ) p ( x ) d x d y I(X,Y)=\int_{x, y} p(x, y) \log \frac{p(x,y)}{p(x)} dxdy I(X,Y)=x,yp(x,y)logp(x)p(x,y)dxdy

总结

我们可以用一张图,看明白这些关于熵的概念。
在这里插入图片描述
如果我们把熵看作是,某事件发生所能带来的信息量(不确定度),那么:

  1. 条件熵就是确定了另一事件 Y Y Y,将降低当前事件 X X X的信息量;
  2. 联合熵就是,两件事合起来的信息量;
  3. 互信息就是,两件事共同能确定的信息量。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值