• Home
  • About
    • dancingline photo

      dancingline

      Moon is a minimal, one column jekyll theme for your blog.

    • Learn More
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

互信息与KL散度

28 May 2021

Reading time ~1 minute

前阵子看论文遇见了KL散度,碰巧文章的metrics用的是互信息(mutual information,MI),总觉得这两个东西长得很像,于是尝试从KL散度的方向来解读一下互信息。

KL散度

KL散度用来量化两种概率分配之间的差异,形式上像一个相对熵,可以理解为期望的信息损失,KL散度的公式

\[\mathrm{D_{KL}}(P \| Q)=\sum_{i=1}^{N} p_{x_{i}} \log \frac{p_{x_{i}}}{q_{x_{i}}}\]

KL散度表示有一组观察到的数据\(x_{1}, x_{2}, ..., x_{n}\),满足概率分布P,在用另一个概率分布Q来估计P的情况下,期望造成的信息损失,改写一下就是

\[\begin{align} \mathrm{D_{KL}}(P \| Q) &= \sum_{i=1}^{N} p_{x_{i}} (\log {p_{x_{i}}} - \log {q_{x_{i}}}) \\ &= \sum_{i=1}^{N} p_{x_{i}} \log {p_{x_{i}}} - \sum_{i=1}^{N} p_{x_{i}} \log {q_{x_{i}}}\\ &= H(P \| Q) - H(P) \end{align}\]

其中H表示香农信息熵,\(H(P \| Q)\)表示用Q估计P的熵。

互信息

互信息是用来评估预测的聚类结果\(C^{\dagger}\)和真实的类标签\(C\)之间相关程度的指标,公式如下

\[\operatorname{MI}\left(C, C^{\dagger}\right)=\sum_{c_{i} \in C, c_{j}^{\dagger} \in C^{\dagger}} p\left(c_{i}, c_{j}^{\dagger}\right) \log _{2} \frac{p\left(c_{i}, c_{j}^{\dagger}\right)}{p\left(c_{i}\right) p\left(c_{j}^{\dagger}\right)}\]

其中\(p\left(c_{i}\right) / p\left(c_{j}^{\dagger}\right) / p\left(c_{i}, c_{j}^{\dagger}\right)\)分别表示任取一个数据点属于对应类的概率。

我们发现这个式子跟KL散度的很像,从信息论和KL散度的角度来解读这个公式,对于观察到的一个关于\(C\)和\(C^{\dagger}\)的联合分布,用独立假设来估计它,所造成的信息损失越大,说明\(C\)和\(C^{\dagger}\)越不独立,也就是越相关。



信息论聚类 Share Tweet +1