【直观详解】信息熵、交叉熵和相对熵

2017 年 11 月 7 日 机器学习研究会

【阅读时间】

    10min - 13min


【内容简介】

    使用一个现实中直观的例子详解信息熵、交叉熵及相对熵的核心概念,读完后,希望能帮助你建立起这三个概念的固有直觉,不再疑惑。


要完成题目的最终解释,必须从这个神奇的概念开始讲起。



1
什么是熵 - Entropy




词源 — 最初来源于热力学


Entropy来源于希腊语,原意:内向,即:一个系统不受外部干扰时往内部稳定状态发展的特性。定义的其实是一个热力学的系统变化的趋势。

1923年,德国科学家普朗克来中国讲学用到entropy这个词,胡刚复教授看到这个公式,创造了“熵”字,因为“火”和热量有关,定义式又是热量比温度,相当自洽。


            信息论            


信息论中,熵是接受的每条消息中包含的信息的平均值。又被称为信息熵、信源熵、平均自信息量。可以被理解为不确定性的度量,熵越大,信源的分布越随机。

1948年,由克劳德·爱尔伍德·香农将热力学中的熵引入信息论,所以也叫做:香农熵。


            生态学            


在生态学中,熵表示生物多样性的指标。


        广义的定义        


熵是描述一个系统的无序程度的变量;同样的表述还有,熵是系统混乱度的度量,一切自发的不可逆过程都是从有序无序的变化过程,向熵增的方向进行。

我们接下来要讨论的信息熵 交叉熵 相对熵 更多的着眼于信息论的角度,换句话说,更加关注概率和不确定性。


2
 什么是信息熵、交叉熵、相对熵



可以将对熵的理解从简单到复杂依次分解成三个层次来理解。


如何衡量不确定事物的发生?


数学是一种工具,使用数学来描述现实中的各种事物是一个数学家本质的工作目标。而现实中不确定性,或者说不太确定是否会发生的事件必须要找到一种抽象的符号化公式化的手段去表示。

比如天气情况,假设可能有【阴、晴、雨、雪】四种情况,使用概率符号表示P=[p1, p2, p3, p4],接下来自然而然的思考:那么,什么条件(情况)会影响这些值呢?

假设有一下三种描述,或者说条件

  • 今天是晴天,所以明天可能也是晴天

  • 天气预报说明天下雨

  • 9月12日苹果公司举行发布会

那么这三个描述中,很明显,第二条的信息量更大,因为它可以使得不确定事件发生在p3概率更大。类似的,第三条对判断毫无帮助,信息量为0。注意,信息量不等于信息熵,如果是这样,那么直接用概率来衡量就可以了,不需要在重新定义一个概念。

其实信息熵是信息量的期望(均值),它不是针对每条信息,而是针对整个不确定性结果集而言,信息熵越大,事件不确定性就越大。单条信息只能从某种程度上影响结果集概率的分布。


考虑到信息冗余,信息量存储下来究竟需要多大空间?


我们已经有了P=[p1, p2, p3, p4],来表示天气情况,那么用计算机来存储每天的天气,那该如何编码呢?

常见的做法是,4个不同的信息,只需要2bit就能做到,00 01 11 10,假设我们在南方城市,肯定要把00编码成雨天,这样可以节省存储空间,至于为什么能节省存储空间,这就要讨论编码方式。可以简单的理解为,如果一串信息一串0很多,可以通过编码压缩这一群0来节省空间

之后我们发现这个公式中有个除法非常讨厌,我们想着去掉它,脑海中第一反应出来的满足这个条件的一定是取对数,至于为什么取对数,那说道就很多,取对数是指数的逆操作

  • 对数操作可以让原本不符合正态分布的模型符合正态分布,比如随着模型自变量的增加,因变量的方差也增大的模型取对数后会更加稳定。

  • 取对数操作可以rescale(原谅我,这里思前想后还是感觉一个英文单词更加生动)其实本质来说都是因为第一点。说人话版本,人不喜欢乘法,对数可以把乘法变加法。

那么我们结束清楚之后,就很容易就可以定义出



a作为底数,可以取2(处理2bit数据),10(万金油),e(处理正态分布相关的数据)


结合对信息熵的定义(第一节最后的粗体字)然后把(2-2)带入(2-1),就会发现,哦!看着有点眼熟啊


这这这,就是信息熵的定义式吧?总结就发现,信息熵其实从某种意义上反映了信息量存储下来需要多少存储空间。

总结为:根据真实分布,我们能够找到一个最优策略,以最小的代价消除系统的不确定性(比如编码),而这个代价的大小就是信息熵。


理解基于信息熵的交叉熵和相对熵



因为是我们用2bit模式存储,为了计算方便,这里取a = 2


直观的来考虑上面不同的两种情况,明显当事件的不确定性变小时候,我们可以改变存储策略(00 雨天 01 阴天),再通过编码,节省存储空间。信息熵的大小就是用来度量这个不确定大小的。

关于编码的方式,这里提一下,哈夫曼树与哈夫曼编码 ,有兴趣的读者可以去研究一下。


转自:机器学习算法与自然语言处理


完整内容请点击“阅读原文”

登录查看更多
10

相关内容

信息理论的鼻祖之一Claude E. Shannon把信息(熵)定义为离散随机事件的出现概率。所谓信息熵,是一个数学上颇为抽象的概念,在这里不妨把信息熵理解成某种特定信息的出现概率。而信息熵和热力学熵是紧密相关的。
【新书册】贝叶斯神经网络,41页pdf
专知会员服务
177+阅读 · 2020年6月3日
《强化学习》简介小册,24页pdf
专知会员服务
272+阅读 · 2020年4月19日
 图像内容自动描述技术综述
专知会员服务
86+阅读 · 2019年11月17日
小孩都看得懂的主成分分析
平均机器
4+阅读 · 2019年9月22日
从信息论的角度来理解损失函数
深度学习每日摘要
17+阅读 · 2019年4月7日
详解常见的损失函数
七月在线实验室
20+阅读 · 2018年7月12日
从最大似然到EM算法:一致的理解方式
PaperWeekly
18+阅读 · 2018年3月19日
干货 | 一文搞懂极大似然估计
AI100
7+阅读 · 2017年12月3日
【直观详解】什么是PCA、SVD
机器学习研究会
4+阅读 · 2017年11月10日
【直观详解】支持向量机SVM
机器学习研究会
18+阅读 · 2017年11月8日
机器学习(13)之最大熵模型详解
机器学习算法与Python学习
7+阅读 · 2017年8月24日
Bivariate Beta LSTM
Arxiv
5+阅读 · 2019年10月7日
Arxiv
3+阅读 · 2018年10月8日
Arxiv
6+阅读 · 2018年3月12日
Arxiv
4+阅读 · 2018年2月19日
Arxiv
23+阅读 · 2017年3月9日
VIP会员
相关资讯
小孩都看得懂的主成分分析
平均机器
4+阅读 · 2019年9月22日
从信息论的角度来理解损失函数
深度学习每日摘要
17+阅读 · 2019年4月7日
详解常见的损失函数
七月在线实验室
20+阅读 · 2018年7月12日
从最大似然到EM算法:一致的理解方式
PaperWeekly
18+阅读 · 2018年3月19日
干货 | 一文搞懂极大似然估计
AI100
7+阅读 · 2017年12月3日
【直观详解】什么是PCA、SVD
机器学习研究会
4+阅读 · 2017年11月10日
【直观详解】支持向量机SVM
机器学习研究会
18+阅读 · 2017年11月8日
机器学习(13)之最大熵模型详解
机器学习算法与Python学习
7+阅读 · 2017年8月24日
Top
微信扫码咨询专知VIP会员