互信息——事件相关性度量

延续上一次对熵的理解,今天来看看互信息。
先说概念:互信息(Mutual Information)也叫转移信息(transinformation),是两个随机变量间相互依赖性的量度。
顾名思义,互信息就是两件事为彼此提供的信息。当我知道了事件 A 之后,事件 B 的确定性增加多少,也就是让事件 B 减少多少的信息量。上一篇文章当中我们说一件事的信息量(或熵)就是你想知道这件事的发生需要多少信息。那么为什么相关的两件事会导致信息量的变化呢?举一个非常直观的例子,我们在做一个游戏,抛两枚硬币,然后猜两枚硬币分别是字还是花。每个人都会默认两枚硬币抛出字或花的概率相同,是1/2. 猜出最终结果,我们需要的信息量是:

也就是如果你先问我第一枚硬币是字吗,我回答是或不是,然后你再问我第二枚硬币是字吗,我再回答一次,你就知道了两枚硬币的结果,信息量为二比特。那假如现在我告诉你第二枚硬币是我特制的,两面都是字呢?明显抛一次硬币得到的结果的信息量发生了一些变化,之前你需要问我两个问题,而现在只需要问一个就可以了,因为你已经知道第二枚硬币的结果一定是字。
由此就可以看出,当一个事件为另一个事件减少越多不确定性,这两个事件的相关性就越强。如果是两个独立事件,它们之间的相关性就是 0(后面也可以用公式验证),完全不相关。 例如知道第三枚硬币抛出字的概率并不会对你猜结果的两枚硬币的信息量造成任何影响。
用概率去解释也是一样的,我们知道熵也可以代表事件的随机程度,事件发生概率越小,所携带的信息量就越大。而两个事件 A,B,有 p(A|B)≥p(A),当 A,B 独立时有 p(A|B)=p(A)。由此也可以看出两件事的相关性。
到了这儿,其实我们已经把互信息定义好了。

公式一

如果是连续随机变量就把求和替换为积分:

另一种定义方法是:

公式二

我更喜欢用公式二去推导公式一,因为公式二和我们直观上理解的互信息定义是完全一致的。

互信息——事件相关性度量_第1张图片

推导过程中有一个地方把自己绕晕了,那就是为什么

而不是

其实原因就是第二个公式是针对每种 y 可能的情况在计算熵,我们还要对每个 y 可能出现的概率做加权。

你可能感兴趣的:(机器学习)