信息熵的计算与理解
郝伟 2022/02/015
在系统中,所有的情况可以表示成 。比如,
在这些示例中,每种情况都可以对应公式中的一个 。
每种情况发生的几率是不一样的使用 表示,比如
熵的本质就是描述一个封闭系统的混乱程度,越混乱熵越高,反之熵越低。具体可以看下面这样一个示例:
整个系统初始状态是是相对有序的,熵最低。随着时间的发展,最后变成为无序,此时熵最高。
根据实际情况得到的经验:整个宇宙都是在向着更混乱的方向发展的,即整个宇宙的熵是在不断增加的,这也就是热力学第二定律所表达的熵增定律。 使用香农的信息熵定律,可以表示为以下公式:
也就是说,整个系统的熵,可以是所有事件出现几率和此几率的对数的负数的总和。让我们再进一步分析一下,某事件的的发生的几率越小,即的值越小,那么其信息量越大,即 的值越大,此事件的熵为 ,由于几率是下降的,而信息量又是上升的,所以我们无法直接看出其变化情况。于是笔者以0.01为间隔,统计了 [0, 0.01, 0.02, …, 0.99, 1]这101个几率的信息熵,如下图所示 :
如上图所示,可见在几率0.35左右熵达到最大值。
最大熵模型
是在熵的概念上建立起来的,熵的定义最早来源于物理学科的热力学,用来表述物质在分子状态下的不确定程度。熵有好几种分类,最常用的是香农提出的信息熵,人工智能算法中提到熵也都是“香农信息熵”,如式(2)所示。 H (X ) = -åx p(x)log p(x) = -åi = 1 n p(xi)log p( xi) (2)其中,x 表示随机变量,p(x)表示 x 的概率分布,概率分布的不确定性越大,熵的值就越大。最大熵模型就是要取这个最大的熵值,做法就是假定概率分布都是均值。比如一个骰子有六面,每次抛投 1-6 朝上的概率都是六分之一;但如果对骰子做了手脚比如往里面加了铅,就会改变均值概率。在实际生活中,很多随机变量都和“做了手脚的骰子”一样并不是均值分布,会受到各种因素的影响。最大熵模型就是忽略掉这些未知的影响因素,假定均值分布,然后就能得出最大熵值。投资中的“不把鸡蛋放在一个篮子里面”也是运用了最大熵原理。最大熵模型已经成功运用于自然语言处理领域,如机器翻译、词性标注、分词、文本分类等。
[1] 能否尽量通俗地解释什么叫做熵? https://www.zhihu.com/question/24053383