熵与互信息

信息量

如果有人告诉我们一个相当不可能的时间发生了,我们收到的信息要多于我们被告知某个很可能发生的事件发生时收到的信息,如果我们知道某件事情一定会发生,那么我们就不会接收到信息。

于是,我们对于信息内容的度量将依赖于概率分布 $p(x)$ ,因此我们想要寻找一个函数 $h(x)$ ,它是概率 $p(x)$ 的单调递减函数,表达了信息的内容。 h(·) 的形式可以这样寻找: 如果我们有两个不相关的事件 $x$ 和 $y$ ,那么我们观察到两个事件同时发生时获得的信息应该等于观察到事件各自发生时获得的信息之和(采用概率分布的对数作为信息的量度的原因是其可加性)

因此,信息量的公式可以为:

序号 事件 概率p 信息量I
A 电脑正常开机 0.7 -log(p(A))=0.36
B 电脑无法开机 0.2 -log(p(B))=1.61
C 电脑爆炸了 0.1 -log(p(C))=2.30

假设一个发送者想传输一个随机变量的值给接收者。这个过程中,他们传输的平均信息量是关于概率分布 p(x) 的期望得到。即事件的概率分布和每个事件的信息量构成了一个随机变量,这个随机变量的均值(即期望)就是这个分布产生的信息量的平均值(即)。

熵可以理解为不确定性的量度(或者说是多样性diversity的度量)。当所有态概率相等的时候最大,这个时候系统对取什么态没有偏向性,所以混乱度最大。

相对熵(KL离散度)

相对熵又称KL散度,如果我们对于同一个随机变量 x 有两个单独的概率分布 $P(x)$ 和 $Q(x)$,我们可以使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异。

直观的理解就是如果用P来描述样本,那么就非常完美。而用Q来描述样本,虽然可以大致描述,但是不是那么的完美,信息量不足,需要额外的一些“信息增量”才能达到和P一样完美的描述。如果我们的Q通过反复训练,也能完美的描述样本,那么就不再需要额外的“信息增量”,Q等价于P。

交叉熵

对 KL离散度变形可得:

等式的前一部分恰巧就是p的熵,等式的后一部分,就是交叉熵:

在机器学习中,我们需要评估label和predicts之间的差距,使用KL散度刚刚好,即$D_{KL}(y||\hat{y})$,由于KL散度中的前一部分$-H(y)$不变,故在优化过程中,只需要关注交叉熵就可以了。所以一般在机器学习中直接用用交叉熵做loss,评估模型。

互信息

互信息实际上是更广泛的相对熵的特殊情形。如果变量不是独立的,那么我们可以通过考察联合概率分布与边缘概率分布乘积之间的 Kullback-Leibler 散度来判断它们是否“接近”于相互独立。如果 $(X, Y) \sim p(x, y)$, X, Y 之间的互信息 $I(X; Y)$定义为:

点互信息PMI(Pointwise Mutual Information)

互信息其实就是对X和Y的所有可能的取值情况的点互信息PMI的加权和,点互信息只是对其中两个点进行相关性判断

reference from https://blog.csdn.net/pipisorry/article/details/51695283
reference from https://blog.csdn.net/tsyccnh/article/details/79163834

Donate article here