熵增 熵

雷锋网 AI 科技评论按:「熵」大概是统计学、信息学里最让初学者愁肠百结的基本概念之一 。我们都知道熵可以用来描述含有的信息丰富程度的多少,但是具体是怎么回事呢?这篇文章中雷锋网 AI 科技评论将带大家重新系统认识一下「熵」倒是在讲什么 。

熵增  熵

文章插图
假设你在医生办公室中与三个等待的病人交流 。三个病人都刚刚完成药物测试,他们面临着两种可能的结果:患病或者未患病 。假设这三个病人都充满好奇心而且数学好 。他们提前各自研究得到了自己患病的风险,并且想通过这些来确认自己的诊断结果 。
病人 A 知道他自己有 95% 的可能会患病 。对于病人 B,患病概率为 30%,病人 C 的患病未患病的概率都为 50% 。
熵增  熵

文章插图
病房中的不确定性
首先我们专注于一个简单的问题 。在其他条件都相同的情况下,这三个病人中的哪个面临着更大的不确定性?
这个问题的答案是显而易见的,病人 C 。他所面临的是在这种情况下可能呢存在的更大程度的不确定性:就像医疗版本的抛硬币试验一样 。
对于病人 A 来说,虽然他的情况不容乐观,但是至少他对于是否患病这个问题有最小的不确定性 。对于病人 B,他的不确定性在病人 A 和病人 C 之间 。
这就是为什么要引入熵这个概念的原因:描述一个状况下的不确定性为在xx和xx之间,在日常生活环境下这种精细程度可能足够了,但是对于机器学习任务来说,这种描述太宽泛了 。
不确定性度量熵允许我们对于生活中的一个重要问题:事情最终会发展到什么样的结果,进行精确度量和计算 。
换种说法,熵是一种不确定性的度量 。
在本篇文章中,熵都是指代香农熵(Shannon entropy) 。其实还有几种其他类型的熵,但是在自然语言处理或者机器学习领域中,我们提到的熵都是香农熵 。
所以在没有特意说明的情况下,下面就是熵的公式 。对于事件X,有n种可能结果,且概率分别为p_1, ... p_n,公式为:
基本性质如果你是之一次看到这个公式,你可能会提出一个问题:为什么要用对数?为什么这个公式就能够度量不确定性?当然,还有为什么要用字母H来表示熵?(表面上这个英文字母H是从希腊大写字母Eta上演变过来的,但实际上为什么采用了字母H来表示,还是有一段复杂的历史的,感兴趣的可以看这个问题:Why use H for entropy?)
对于很多情况下的问题,我认为从以下两点切入是很好的选择:(1)我所面对的这个数学结构有那些理想的属性?(2)是否有其他结构也能够满足所有这些理想的属性?
对于香农熵作为不确定性的度量来说,这两个问题的答案分别是:(1)很多,(2)没有 。
我们来一个一个看我们希望熵的公式应该具有哪些性质 。
基本性质1:均匀分布具有更大的不确定性如果你的目标是减小不确定性,那么一定要远离均匀概率分布 。
简单回顾一下概率分布:概率分布是一个函数,对于每个可能的结果都有一个概率,且所有的概率相加等于 1 。当所有可能的结果具有相同的可能性时,该分布为均匀分布 。例如:抛硬币实验(50% 和 50% 的概率),均匀的骰子(每个面朝上的概率都为六分之一) 。
熵增  熵

文章插图
均匀分布具有更大的熵
一个好的不确定性度量会在均匀分布时达到更大的值 。熵满足这个要求 。给定 n 个可能的结果,更大的熵在所有结果的概率相同时得到 。
熵增  熵

文章插图
下面是对于伯努利试验中熵的图像 。(伯努利试验有两种可能的结果:p和1-p):
熵增  熵

文章插图
在伯努利试验中,当p=0.5时,熵达到更大
基本性质2:对于独立事件,不确定性是可加的假设 A 和 B 是独立事件 。换句话讲,知道事件 A 的结果并不会丝毫影响 B 的结果 。
关于这两个事件的不确定性应该是两个事件单独的不确定性的和,这也是我们希望熵的公式应该具备的性质 。
对于独立事件,不确定性是可加的
让我们使用抛两个硬币的试验作为例子来使这个概念更加具体 。我们既可以两个硬币同时抛,也可以先抛一个硬币再抛另一个硬币 。在两种情况下,不确定性是相同的 。

推荐阅读