一、信息熵
1. 定义
衡量一个随机变量 X X X的信息量,用 H H H表示
根据这个定义,这应该是个不确定的值(随机变量是变化的),而数学上使用期望来将这种不确定性量化:
H = ∑ x ∈ X P ( x ) ∗ x H = \sum_{x \in X}P(x)*x H=∑x∈XP(x)∗x的信息量
其中 x x x为随机变量 X X X的不同取值
那么问题就变成了如何在具体的情形(即一个事件)下,估算随机变量的信息量
2. 语义理解
先从语义上理解信息量应该满足的条件,当一件事的不确定性越大(概率越小),那么它所包含的信息量就应该越大,相反,不确定性越小(概率越大),包含的信息量就越小;比如太阳从东边升起这件事是非常确定的,不确定性很小,那么你告诉我也不会改变什么,也就是没什么信息量。由此得知,信息量应该是关于概率的连续函数,其大小应该跟概率成反比,概率的范围是 [ 0 , 1 ] [0, 1] [0,1],那么信息量就应该是以 [ 0 , 1 ] [0, 1] [0,1]为定义域的连续函数
另外,信息量还应该保证不是负值(一件事揭露的信息量应该至少为0,不可能是负值)(也就是说信息量在定义域 [ 0 , 1 ] [0, 1] [0,1]上应为非负值);具有可加性(同时告知两件事,应该比告知一件事的信息量大或相等)(其实可加性就指示了应该使用 l o g log log函数了);概率越小,信息量的增加速度越快,反之,信息量增加速度越慢,也就是说在定义域 [ 0 , 1 ] [0, 1] [0,1]上斜率应该递减(仍然参考太阳的例子)
3. 公式
那么满足上诉四个条件的函数,也就是负对数函数(或许还有别的吧,但是负对数函数非常常用),公式为 − l o g ( x ) -log(x) −log(x)。而具体事件 x x x的信息量,在信息论中也称为自信息。综上所述,信息熵的整体公式应为:
H = − ∑ x ∈ X P ( x ) ∗ l o g P ( x ) H = -\sum_{x \in X}P(x)*logP(x) H=−∑x∈XP(x)∗logP(x)
4. 自信息与信息熵
自信息表示一个确定事件的信息量,即一个事件的不确定性;而信息熵表示随机变量或整个系统的不确定性,是随机变量在不同事件下的信息量的期望,所以信息熵越大,表示该系统的不确定性越大
二、条件熵
H ( Y ∣ X ) H(Y|X) H(Y∣X),定义为 X X X给定条件下 Y Y Y的条件分布的熵对 X X X的数学期望
这个定义也太拧巴了,可以理解为,在已知 X X X事件的情况下,事件 Y Y Y的信息量。而 X X X是一个不确定事件,因此需要通过将 X X X化为具体事件 x x x,分别计算不同 x x x下Y的信息量,则公式应为:
H ( Y ∣ X ) = ∑ x ∈ X P ( x ) H ( Y ∣ X = x ) H(Y|X) = \sum_{x \in X}P(x)H(Y|X=x) H(Y∣X)=∑x∈XP(x)H(Y∣X=x)
那么就要计算 H ( Y ∣ X = x ) H(Y|X=x) H(Y∣X=x),即,在确定事件 x x x下,计算 Y Y Y的信息量,同样的,需要化为 Y Y Y的具体事件:
H ( Y ∣ X ) = − ∑ x ∈ X P ( x ) ∑ y ∈ Y P ( y ∣ x ) l o g P ( y ∣ x ) H(Y|X) = -\sum_{x \in X}P(x) \sum_{y \in Y}P(y|x)logP(y|x) H(Y∣X)=−∑x∈XP(x)∑y∈YP(y∣x)logP(y∣x)
根据条件概率的转化公式:
H ( Y ∣ X ) = − ∑ x ∈ X ∑ y ∈ Y P ( x , y ) l o g P ( y ∣ x ) H(Y|X) = -\sum_{x \in X} \sum_{y \in Y}P(x, y)logP(y|x) H(Y∣X)=−∑x∈X∑y∈YP(x,y)logP(y∣x)
三、互信息
1. 定义
衡量随机变量之间相互依赖程度的度量
2. 公式
假如有两个随机变量 X X X, Y Y Y,那么要衡量 Y Y Y变量对 X X X变量的影响,就应该去计算,在未知 Y Y Y变量的情况下 X X X变量的信息量,和已知 Y Y Y变量的情况下 X X X变量的信息量,即:
I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) I(X;Y) = H(X) - H(X|Y) I(X;Y)=H(X)−H(X∣Y)
结合上面对于信息熵和条件熵的解释,我们对齐进行整理:
I ( X ; Y ) = − ∑ x ∈ X P ( x ) ∗ l o g P ( x ) + ∑ x ∈ X ∑ y ∈ Y P ( x , y ) l o g P ( x ∣ y ) I(X;Y) = -\sum_{x \in X}P(x)*logP(x) + \sum_{x \in X} \sum_{y \in Y}P(x, y)logP(x|y) I(X;Y)=−∑x∈XP(x)∗logP(x)+∑x∈X∑y∈YP(x,y)logP(x∣y)
其中根据全概率公式 P ( x ) = ∑ y ∈ Y P ( x , y ) P(x) = \sum_{y \in Y}P(x, y) P(x)=∑y∈YP(x,y),得到:
I ( X ; Y ) = − ∑ x ∈ X ∑ y ∈ Y P ( x , y ) ∗ l o g P ( x ) + ∑ x ∈ X ∑ y ∈ Y P ( x , y ) l o g P ( x ∣ y ) I(X;Y) = -\sum_{x \in X}\sum_{y \in Y}P(x, y)*logP(x) + \sum_{x \in X} \sum_{y \in Y}P(x, y)logP(x|y) I(X;Y)=−∑x∈X∑y∈YP(x,y)∗logP(x)+∑x∈X∑y∈YP(x,y)logP(x∣y)
然后可以合并同类项 P ( x , y ) P(x, y) P(x,y):
I ( X ; Y ) = ∑ x ∈ X ∑ y ∈ Y P ( x , y ) ∗ l o g P ( x , y ) P ( x ) P ( y ) I(X;Y) = \sum_{x \in X}\sum_{y \in Y}P(x, y)*log \frac{P(x, y)}{P(x)P(y)} I(X;Y)=∑x∈X∑y∈YP(x,y)∗logP(x)P(y)P(x,y)
3. 应用
互信息和信息熵的关系可以通过下图表示:
经常见到的目标是,要使互信息最大化,就是最大化两个随机事件的相关性,在深度学习中,就是最大化数据集所拟合出的分布的相关性
当两个随机变量相同时,互信息最大,公式:
I ( X ; X ) = H ( X ) − H ( X ∣ X ) = H ( X ) I(X;X) = H(X) - H(X|X) = H(X) I(X;X)=H(X)−H(X∣X)=H(X)
四、交叉熵
这里先引入对信息熵的另一种理解,即为了消除某随机变量的不确定性要付出的最小努力。当你正确估计随机变量的分布(即真实分布,记为 p ( x ) p(x) p(x))时,这种努力会达到最小;相反,当你得到的是非真实分布(记为 q ( x ) q(x) q(x))时,就要为了消除随机变量的不确定性付出更多努力。而我们要衡量这种非真实分布下要付出的努力,就用到了交叉熵:
H ( p , q ) = − ∑ x ∈ X p ( x ) l o g q ( x ) H(p, q) = -\sum_{x \in X}p(x)log q(x) H(p,q)=−∑x∈Xp(x)logq(x)
p ( x ) p(x) p(x)为随机变量的特定取值下的概率,这个是不变的,而 l o g q ( x ) logq(x) logq(x)表示随机变量特定取值下,为了消除不确定性所付出的努力,这一点是与对分布的估计相关的,当你正确估计,则付出的努力小,反之,付出的努力大;
而许多地方消除了负号,写作下面的形式:
H ( p , q ) = ∑ x ∈ X p ( x ) l o g 1 q ( x ) H(p,q) = \sum_{x \in X}p(x)log\frac{1}{q(x)} H(p,q)=∑x∈Xp(x)logq(x)1
五、相对熵,也称为KL散度
上一部分我们谈到,信息熵可以理解为,为了消除不确定性所付出的最小努力,而交叉熵衡量了错误估计随机变量的分布时,消除不确定性所付出的努力;那么如何去衡量这种错误估计时的努力,与需要付出的最小努力,他们之间的差异呢?就用到了相对熵。
根据这种理解,我们可以结合信息熵和交叉熵的公式(仍然假设 p p p为真实分布):
D K L ( p ∣ ∣ q ) = H ( p , q ) − H ( p ) D_{KL}(p||q) = H(p,q) - H(p) DKL(p∣∣q)=H(p,q)−H(p)
代入,
D K L ( p ∣ ∣ q ) = − ∑ x ∈ X p ( x ) l o g q ( x ) + ∑ x ∈ X p ( x ) l o g p ( x ) D_{KL}(p||q) = -\sum_{x \in X}p(x)logq(x) + \sum_{x \in X}p(x) logp(x) DKL(p∣∣q)=−∑x∈Xp(x)logq(x)+∑x∈Xp(x)logp(x)
稍作整理,
D K L ( p ∣ ∣ q ) = ∑ x ∈ X p ( x ) l o g p ( x ) q ( x ) D_{KL}(p||q) = \sum_{x \in X}p(x)log \frac{p(x)}{q(x)} DKL(p∣∣q)=∑x∈Xp(x)logq(x)p(x)
六、结束语
两天了,终于整理完confuse我两年的小登西。谢谢下面参考: