概率公式、条件熵、交叉熵、相对熵、互信息

本文深入探讨概率论核心公式,如条件概率、全概率及贝叶斯公式,并解析信息论关键概念,涵盖信息熵、条件熵、交叉熵、相对熵(KL散度)与互信息,揭示其数学本质与应用价值。

搞清概念是学习的重点工作,其实知识就是由一个又一个宝贵的概念堆叠出来的。

概率公式

  • 条件概率: P ( A ∣ B ) = P ( A , B ) P ( B ) P(A|B)=\frac{P(A,B)}{P(B)} P(AB)=P(B)P(A,B)
  • 全概率公式: P ( A ) = ∑ B i P ( A , B i ) = ∑ B i P ( A ∣ B i ) P ( B i ) P(A)=\sum_{B_i}P(A,B_i)=\sum_{B_i}P(A|B_i)P(B_i) P(A)=BiP(A,Bi)=BiP(ABi)P(Bi)仔细体会其中的构成关系,对于固定 A A A事件的所有 P ( A , B i ) P(A,B_i) P(A,Bi)构成了 P ( A ) P(A) P(A)。你可能会说:那也许有可能存在 P ( A , C i ) P(A,C_i) P(A,Ci)。这么想不奇怪,但是这里的 B i B_i Bi 包含了除 A A A 以外的任何事件,包括所谓的 C i 、 D i C_i、D_i CiDi等情况。
  • 贝叶斯(Bayes)公式: P ( B i ∣ A ) = P ( A ∣ B i ) P ( B i ) ∑ B j P ( A ∣ B j ) P ( B j ) P(B_i|A)=\frac{P(A|B_i)P(B_i)}{\sum_{B_j}P(A|B_j)P(B_j)} P(BiA)=BjP(ABj)P(Bj)P(ABi)P(Bi)

熵之 [一.信息熵、二.条件熵、三.交叉熵、四.相对熵(KL散度)、五.互信息]

一.信息熵

声明:详情还需细看一篇精彩的博客: https://blog.youkuaiyun.com/Hearthougan/article/details/76192381。
尊重原创好文,下面是我取一瓢饮进行的记录。

  1. 信息量
    欲谈信息熵,那必须从信息量说起。何为“信息量”?
    简言之,狭义来说,信息量是在随机事件 X X X中表达某一个具体事件 x i x_i xi需要花费的信息的多少,单位是比特

  2. 信息熵
    信息量期望,我们给这个期望一个名字,就是信息熵

  3. 如何抽象成数学模型呢?

    1)信息量:随机变量取某个值时,其概率倒数的对数就是信息量 I i = log ⁡ 2 1 p i = − log ⁡ 2 ( p i ) I_i=\log_2\frac{1}{p_i}=-\log_2\left(p_i\right) Ii=log2pi1=log2(pi)其中底数可以是2,单位是比特,底数也可以是其他,单位也相应不同。

    2)信息熵:信息量的期望 H ( X ) = − ∑ i = 1 n p i log ⁡ 2 p i H(X)=-\sum^n_{i=1}p_i\log_2p_i H(X)=i=1npilog2pi

二. 条件熵

定义:条件熵 H ( Y ∣ X ) H(Y|X) H(YX)表示在随机变量 X X X 已知的条件下,随机变量 Y Y Y 的不确定性,数学公式为: (2.1) H ( Y ∣ X ) = ∑ i = 1 n p ( x i ) H ( Y ∣ X = x i ) H(Y|X)=\sum^n_{i=1}p(x_i)H(Y|X=x_i)\tag{2.1} H(YX)=i=1np(xi)H(YX=xi)(2.1),可以从集合的角度辅助理解。

下面进行条件熵公式的推导 H ( Y ∣ X ) = H ( X , Y ) − H ( X ) = − ∑ x ,   y p ( x , y ) log ⁡ p ( x , y ) + ∑ x p ( x ) log ⁡ p ( x ) = − ∑ x ,   y p ( x , y ) log ⁡ p ( x , y ) + ∑ x ( ∑ y p ( x , y ) ) log ⁡ p ( x ) = − ∑ x ,   y p ( x , y ) log ⁡ p ( x , y ) + ∑ x ,   y p ( x , y ) log ⁡ p ( x ) = − ∑ x ,   y p ( x , y ) log ⁡ p ( x , y ) p ( x ) = − ∑ x ,   y p ( x , y ) log ⁡ p ( y ∣ x ) = H ( Y ∣ X ) \begin{aligned} H(Y|X)&=H(X,Y)-H(X)\\ &=-\sum_{x,\ y}p(x,y)\log p(x,y)+\sum_x p(x)\log p(x)\\ &=-\sum_{x,\ y}p(x,y)\log p(x,y)+\sum_x\left(\sum_y p(x,y)\right)\log p(x)\\ &=-\sum_{x,\ y}p(x,y)\log p(x,y)+\sum_{x,\ y}p(x,y)\log p(x)\\ &=-\sum_{x,\ y}p(x,y)\log \frac{p(x,y)}{p(x)}\\ &=-\sum_{x,\ y}p(x,y)\log p(y|x)\\ &=H(Y|X) \end{aligned} H(YX)=H(X,Y)H(X)=x, yp(x,y)logp(x,y)+xp(x)logp(x)=x, yp(x,y)logp(x,y)+x(yp(x,y))logp(x)=x, yp(x,y)logp(x,y)+x, yp(x,y)logp(x)=x, yp(x,y)logp(x)p(x,y)=x, yp(x,y)logp(yx)=H(YX)如果继续化简就可以得到我们式(2.1)定义的条件熵公式 H ( Y ∣ X ) = − ∑ x ,   y p ( x , y ) log ⁡ p ( y ∣ x ) = − ∑ x ∑ y p ( y ∣ x ) p ( x ) log ⁡ p ( y ∣ x ) = − ∑ x p ( x ) ∑ y p ( y ∣ x ) log ⁡ p ( y ∣ x ) = ∑ x p ( x ) H ( Y ∣ X = x ) \begin{aligned} H(Y|X)&=-\sum_{x,\ y}p(x,y)\log p(y|x)\\ &=-\sum_x\sum_yp(y|x)p(x)\log p(y|x)\\ &=-\sum_x p(x)\sum_y p(y|x)\log p(y|x)\\ &=\sum_x p(x)H(Y|X=x) \end{aligned} H(YX)=x, yp(x,y)logp(yx)=xyp(yx)p(x)logp(yx)=xp(x)yp(yx)logp(yx)=xp(x)H(YX=x)证毕。
为什么要证明呢,主要目的是要熟练掌握概率公式、深入理解概率公式。

三. 交叉熵

详细请参考:https://blog.youkuaiyun.com/Hearthougan/article/details/77879784
假设有这样一个样本集, p p p为它的真实分布, q q q为它的估计分布。

  • 如果按照真实分布 p p p 来度量表达一个样本的信息量,所需要的平均编码长度的期望为:(如果对编码长度不了解的,请看优秀博主的博文(我只是搬运工):http://blog.youkuaiyun.com/hearthougan/article/details/77774948) H ( p ) = − ∑ i p i log ⁡ p i H(p)=-\sum_i p_i\log p_i H(p)=ipilogpi这里是假设编码采用二叉树进行的。
  • 如果使用估计的分布 q q q 计算来自真实分布 p p p 的平均编码长度,则每一个随机变量的信息量为 − log ⁡ q i -\log q_i logqi,而我们编码的样本的真实的分布是 p p p,因此花费的平均编码长度: H ( p , q ) = − ∑ i p i log ⁡ q i H(p,q)=-\sum_i p_i\log q_i H(p,q)=ipilogqi这就是交叉熵的定义,有 p p p q q q,所以是交叉。交叉熵可以这么理解:用估计的分布对来自真实分布的样本进行编码所需要的平均长度。

根据吉布斯不等式,交叉熵要大于等于真实分布的信息熵(最优编码),集体描述为:对于样本服从分布 P = { p 1 , p 2 , ⋯   , p n } P=\{p_1,p_2,\cdots,p_n\} P={p1,p2,,pn},其他任何一个概率分布 Q = { q 1 , q 2 , ⋯   , q n } Q=\{q_1,q_2,\cdots,q_n\} Q={q1,q2,,qn},都有 − ∑ i p i log ⁡ p i ≤ − ∑ i p i log ⁡ q i -\sum_i p_i\log p_i\leq -\sum_i p_i\log q_i ipilogpiipilogqi,当且仅当 p i = q i , i = 1 , 2 , ⋯   , n p_i=q_i,i=1,2,\cdots,n pi=qi,i=1,2,,n时,等号成立。

下面进行证明:

  • 方法一:泰勒展开证明。我们知道, log ⁡ a x \log_ax logax是凹函数,因为其二阶导函数 − 1 x 2 ln ⁡ a &lt; 0 -\frac{1}{x^2\ln a}&lt;0 x2lna1<0,因此其上每一点的切线都是全局上估计,即切线上的每一点的函数值都要大于等于该对数函数值,当且仅当在切点出函数值相等。因此对 log ⁡ a x \log_ax logax x = 1 x=1 x=1点进行泰勒展开,就会有 log ⁡ a x ≤ 1 ln ⁡ a ( x − 1 ) \log_ax\leq\frac{1}{\ln a}(x-1) logaxlna1(x1)构造函数 F ( p , q ) F(p,q) F(p,q) F ( p , q ) = ∑ i p i log ⁡ a ( p i q i ) = − ∑ i p i log ⁡ a ( q i p i ) ≥ − 1 ln ⁡ a ∑ i p i ( q i p i − 1 ) = 1 ln ⁡ a ∑ i ( p i − q i ) = 1 ln ⁡ a ( ∑ i p i − ∑ i q i ) = 0 \begin{aligned} F(p,q)&amp;=\sum_i p_i\log_a\left(\frac{p_i}{q_i}\right)\\ &amp;=-\sum_i p_i\log_a\left(\frac{q_i}{p_i}\right)\\ &amp;\geq -\frac{1}{\ln a}\sum_i p_i\left(\frac{q_i}{p_i}-1\right)\\ &amp;=\frac{1}{\ln a}\sum_i(p_i-q_i)\\ &amp;=\frac{1}{\ln a}\left(\sum_i p_i-\sum_i q_i\right)\\ &amp;=0 \end{aligned} F(p,q)=ipiloga(qipi)=ipiloga(piqi)lna1ipi(piqi1)=lna1i(piqi)=lna1(ipiiqi)=0故有 ∑ i p i log ⁡ p i − ∑ i p i log ⁡ q i ≥ 0 \sum_i p_i\log p_i-\sum_i p_i\log q_i\geq0 ipilogpiipilogqi0所以吉布斯不等式成立。

  • 方法二:Jensen不等式。Jensen不等式是说,如果在凸集定义域内,如果 f ( x ) f(x) f(x)是凸函数,则有 E f ( x ) ≥ f ( E ( x ) ) {\rm E}f(x)\geq f\left({\rm E}(x)\right) Ef(x)f(E(x))这里我们不妨把 − log ⁡ a x -\log_a x logax看成是 x &gt; 0 x&gt;0 x>0时的凸函数。则有: E f ( q i p i ) = − ∑ i p i log ⁡ a ( q i p i ) ≥ f ( E ( q i p i ) ) = − log ⁡ a ( ∑ i p i ( q i p i ) ) = − log ⁡ a ( ∑ i q i ) = 0 \begin{aligned}{\rm E}f\left(\frac{q_i}{p_i}\right)&amp;=-\sum_i p_i \log_a\left(\frac{q_i}{p_i}\right)\\ &amp;\geq f\left({\rm E}\left(\frac{q_i}{p_i}\right)\right)\\ &amp;=-\log_a\left(\sum_i p_i\left(\frac{q_i}{p_i}\right)\right)\\ &amp;=-\log_a\left(\sum_i q_i\right)\\ &amp;=0 \end{aligned} Ef(piqi)=ipiloga(piqi)f(E(piqi))=loga(ipi(piqi))=loga(iqi)=0同样证明了吉布斯不等式的成立。

五. 相对熵(KL散度)

由交叉熵可知,用估计的概率分布所计算的交叉熵产生的编码长度,比基于真实分布所计算的信息熵的编码长,但是长多少呢?这个就需要另一个度量,相对熵,也称KL散度。 D ( p ∣ ∣ q ) = H ( p , q ) − H ( p ) = − ∑ i = 1 n p i log ⁡ ( q i ) − ( − ∑ i = 1 n p i log ⁡ ( p i ) ) = ∑ i = 1 n p i log ⁡ p i q i D(p||q)=H(p,q)-H(p)=-\sum^n_{i=1}p_i\log(q_i)-\left(-\sum^n_{i=1}p_i\log(p_i)\right)=\sum^n_{i=1}p_i\log\frac{p_i}{q_i} D(pq)=H(p,q)H(p)=i=1npilog(qi)(i=1npilog(pi))=i=1npilogqipi相对熵:用估计的概率分布 q q q 计算的交叉熵减去真实分布 p p p 的信息熵,含义为:用估计分布计算的平均编码长度比最短平均编码长度长多少。因此有:
交 叉 熵 = 信 息 熵 + 相 对 熵 交叉熵=信息熵+相对熵 =+前面已经证明 D ( p ∣ ∣ q ) = ∑ i = 1 n p i log ⁡ p i q i ≥ 0 D(p||q)=\sum^n_{i=1}p_i\log\frac{p_i}{q_i}\geq0 D(pq)=i=1npilogqipi0因此,相对熵始终是大于等于0的。

六. 互信息

两个随机变量 X , Y X,Y X,Y的互信息,定义为: X , Y X,Y X,Y的联合分布 P ( X , Y ) P(X,Y) P(X,Y)与边缘分布的乘积 P ( X ) P ( Y ) P(X)P(Y) P(X)P(Y)的相对熵: I ( X , Y ) = D ( P ( X , Y ) ∣ ∣ P ( X ) P ( Y ) ) = ∑ x ,   y p ( x , y ) log ⁡ p ( x , y ) p ( x ) p ( y ) \begin{aligned}I(X,Y)&amp;=D\left(P(X,Y)||P(X)P(Y)\right)\\ &amp;=\sum_{x,\ y}p(x,y)\log\frac{p(x,y)}{p(x)p(y)} \end{aligned} I(X,Y)=D(P(X,Y)P(X)P(Y))=x, yp(x,y)logp(x)p(y)p(x,y)怎么看待呢?也就是用边缘分布乘积 P ( X ) P ( Y ) P(X)P(Y) P(X)P(Y)的交叉熵,减去联合分布 P ( X , Y ) P(X,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(XY)

下面证明两种定义等价:
I ( X , Y ) = H ( X ) − H ( X ∣ Y ) = H ( X ) + H ( Y ) − H ( X , Y ) = ∑ x p ( x ) log ⁡ 1 p ( x ) + ∑ y p ( y ) log ⁡ 1 p ( y ) + ∑ x ,   y p ( x , y ) log ⁡ p ( x , y ) = ∑ x ( ∑ y p ( x , y ) ) log ⁡ 1 p ( x ) + ∑ y ( ∑ x p ( x , y ) ) log ⁡ 1 p ( y ) + ∑ x ,   y p ( x , y ) log ⁡ p ( x , y ) = ∑ x ,   y p ( x , y ) log ⁡ 1 p ( x ) + ∑ x ,   y p ( x , y ) log ⁡ 1 p ( y ) + ∑ x ,   y p ( x , y ) log ⁡ p ( x , y ) = ∑ x ,   y p ( x , y ) log ⁡ p ( x , y ) p ( x ) p ( y ) \begin{aligned} I(X,Y)&amp;=H(X)-H(X|Y)\\ &amp;=H(X)+H(Y)-H(X,Y)\\ &amp;=\sum_x p(x)\log\frac{1}{p(x)}+\sum_y p(y)\log\frac{1}{p(y)}+\sum_{x,\ y}p(x,y)\log p(x,y)\\ &amp;=\sum_x\left(\sum_y p(x,y)\right)\log\frac{1}{p(x)}+\sum_y\left(\sum_x p(x,y)\right)\log\frac{1}{p(y)}+\sum_{x,\ y}p(x,y)\log p(x,y)\\ &amp;=\sum_{x,\ y}p(x,y)\log\frac{1}{p(x)}+\sum_{x,\ y}p(x,y)\log\frac{1}{p(y)}+\sum_{x,\ y}p(x,y)\log p(x,y)\\ &amp;=\sum_{x,\ y}p(x,y)\log\frac{p(x,y)}{p(x)p(y)} \end{aligned} I(X,Y)=H(X)H(XY)=H(X)+H(Y)H(X,Y)=xp(x)logp(x)1+yp(y)logp(y)1+x, yp(x,y)logp(x,y)=x(yp(x,y))logp(x)1+y(xp(x,y))logp(y)1+x, yp(x,y)logp(x,y)=x, yp(x,y)logp(x)1+x, yp(x,y)logp(y)1+x, yp(x,y)logp(x,y)=x, yp(x,y)logp(x)p(y)p(x,y)

声明:此文参考自:https://blog.youkuaiyun.com/Hearthougan/article/details/77879784
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值