信息熵与互信息的概念

信息熵与互信息的概念

本文主要介绍信息论中最基础但同时也是贯穿始终的四个概念,分别是信息熵、条件熵、互信息以及条件互信息。尝试着使用通俗易懂的语言,简单浅显的例子来使得大家对理解这几个数学概念提供一些帮助。

1.    信息熵

现在是信息爆炸的时代,我们都可以通过手机接入互联网,有可能你早上睁开眼睛的第一件事情就是刷个微博、看看新闻(虽然我很不赞同这么做^_^),我们接触到海量的各种消息,从当中我们获取信息,那么你有没有想过你到底得到了多少信息量呢?是不是我们看的新闻越多、读的材料越多就等同获取的信息量越多呢?虽然不排除它们之间存在一定的相关性,但是我相信很多人跟我一样,你阅读的这些消息如果不加以深入的思考的话,在你关上手机的时候这些平淡无奇的消息也随之在你的大脑中消失(- - !)。相反,如果某些小概率事件发生了,比如“马云,宣布到今年过年的时候给每一位淘宝用户发放1000元的红包”你在惊奇之余肯定不会忘了这件事情,除了猜想马云这样做的各种理由也给马云点赞!所以有理由相信,一个消息或者事件所能传递的信息的多少跟这件事情的发生概率有关系!那么现在要让你定义信息熵的数学表达式,你可能会用p(x)(x表示一个事件)来进行衡量,比如取个倒数,或者倒数的平方等等(因为p(x)是大于0小于1的)。然而香农这位数学家是利用的log(1/p(x)),这个表达式来进行度量的,至于他为什么这么做,我唯一能想到的就是为了之后数学推导上的便利(log可以把乘除法变成加减法),当然不排除香农老人家是为了让他的数学表达式看上去高大上一些(*_*)!!

那么信息熵的定义是不是到这里就结束了呢,很明显不是,虽然小概率事件的发生所能传递的信息量更多,但是它毕竟是小概率事件,发生的概率极低极低,所以在你的数学定义表达式当中必须有个因子来控制这种因素,最简单的做法就是直接相乘啦,用p(x) · log(1/(p(x)))来表示当前事件对整体信息熵的贡献值,香农他老人家也跟你的想法是一样的,信息论中信息熵的数学表达式:

$$H(x)=-\sum_{x}^{}p(x)log(p(x))$$

当log以2作为底时,信息量的单位就是bit。

到了这里,我们至少对什么是信息量,信息量为什么这么定义,这两个问题有了一定的认识,接下来举个例子对信息熵的应用做个简单的介绍!

试想离散均匀分布,其大小为N(表示每个事件发生的概率为1/N),那么你很容易套用上面的公式计算出这个随机变量所能传达的信息量为 log2(N) bits(这个结论还是蛮重要的)。从结果来看,好像是在说,离散均匀分布的size越大,其信息量越大。这个是不是能够很好的解释“世界之大,无奇不有”这句话呢!!

2.    条件熵

在定义了信息熵之后,信息论又引入了条件熵的概念,为什么这样呢?举个简单的例子。

比如我现在告诉你我在纸上准备写一个英文的单词,第一个字母我写下来是a,事实上以字母a作为开头的单词数以千计,现在你还不能猜到我想写什么单词,你或许可以翻下英文字典,发现以字母a开头的单词有1000个,假设各个英文单词服从均匀分布(事实上并非如此,因为有些常用词,有些生僻词),那么现在我写单词这个事情的信息量就是log(1000)bits(上文得出的结论)。那我接下来又写了一个字母p,你又接着查字典,发现以字母ap开头的单词一共有100个,那么现在这个事件的信息量只有log(100)bits,那我接下来又继续写单词,一直写到这个单词的前四个字母都出来了,appl,到了这个时候,你或许已经猜出来我想写的单词就是apple。所以我已经没有必要往下继续写啦。从这个例子可以看到,因为一定条件的发生,某个事情所能表示的信息量已经没有那么多了!到此,你应该明白了为什么要定义条件熵这个概念,那么我们到底怎么在数学上定义这个概念呢?很简单呀,如果要定义H(x|y)的话,参考H(x)的定义,把log(p(x))变成log(p(x|y))表示在y发生的条件下,x发生的概率。这个表示信息量的大小。再把p(x)变成p(x, y)表示x, y同时发生的概率,这个表示权值。再进行求和就可以得到最后的结果了。

$$H(x|y)=-\sum_{x,y}^{}p(x,y)log(p(x|y))$$

3.    互信息

上面有提到,当一定条件下,某件事情所能表示的信息量已经没那么多了,事物之间的相互关联性导致了这种”不确定的减小“。那么,你现在也可以很清楚的知道$H(X)-H(X|Y)$这个数学表达式所代表的含义是什么了。没错,就是那些减小了的(消失不见)的“不确定性”。信息论中把这个叫做互信息,用$I(x;y)$来表示。它的数学上的定义是这样的:

$$I(X;Y)=\sum_{x,y}^{}p(x,y)log(\frac{p(x,y)}{p(x)p(y)})$$

关于它为什么这么定义,也很好解释,p(x,y)表示两者同时发生的概率,用来控制这个事件对信息量的贡献值,后面的$\frac{p(x,y)}{p(x)p(y)}$看似复杂,可以用条件概率公式把它换个形式$\frac{p(x|y)}{p(x)}$,它表示在$y$的条件下$x$继续发生的概率占原来概率$p(x)$的多少,以此来表示相关性,当$x$,$y¥相互独立时,$(x|y)=p(x)$,相除为$1$,计算值为$0$(表示不相关)。当$y$发生时$x$必然发生,那么$p(x|y)=1$,计算值就为$H(x)$,不确定性就完全消除了。

互信息这个物理量来表示事物之间的相关性到底是多大,它的应用范围可就大了。这里只阐述个自然语言处理领域的简单例子(参考这里[1])。

在自然语言处理中,经常要度量一些语言现象的相关性。比如在机器翻译中,最难的问题是词义的二义性(歧义性)问题。比如 Bush一词可以是美国总统的名字,也可以是灌木丛。那么如何正确地翻译这个词呢?具体的解决办法大致如下:首先从大量文本中找出和总统布什一起出现的互信息最大的一些词,比如总统、美国、国会、华盛顿等等,当然,再用同样的方法找出和灌木丛一起出现的互信息最大的词,比如土壤、植物、野生等等。有了这两组词,在翻译 Bush时,看看上下文中哪类相关的词多就可以了。

下面的一张图让你看懂信息熵与互信息之间的关系($H(x,y)$表示$X$,$Y$的联合熵,相对于$H(x)$只是增加了个变量而已):

4.    条件互信息

条件互信息表示在某个条件发生的情况下,事物之间的相关性还有多少,是变得更加相关呢?还是更加不相关呢?条件互信息的定义就是为了解决这个问题,它的定义与条件熵类似。

$$I(X;Y|Z)=\sum_{x,y,z}^{}p(X,Y,Z)log\frac{p(x,y|z)}{p(x|z)p(y|z)}$$

这个就不做过多的阐述了!

[1]:数学之美系列七:信息论在信息处理中的应用

http://www.kuqin.com/math/20071204/2781.html

时间: 2024-10-05 22:20:25

信息熵与互信息的概念的相关文章

互信息的概念和定理

关的东西.为了了解一下互信息相关的东西.查阅了一些资料,有一个课件自己感觉写的不错.可是下载不下来,我就对它们进行了截图,希望对大家有帮助.这个课件中讲的内容比較基础,可是对于非通信.信息类的同学来说还是非常有帮助的,并且不仅通俗易懂,并且证明过程详尽.是不可多得的好材料.其重要包含互信息概念.定理.经常使用的结论,已经一些应用中经经常使用到的性质,闲言少叙,直接上图.

AI机器学习-信息熵,条件熵,信息增益

信息熵 信息熵是系统有序化程度的一个度量.比如说,我们要搞清楚一件非常非常不确定的事,或是我们一无所知的事情,就需要了解大量的信息.相反,如果我们对某件事已经有了较多的了解,我们不需要太多的信息就能把它搞清楚. 所以,从这个角度,我们可以认为,信息量的度量就等于不确定性的多少.一个系统越是有序,信息熵就越低:反之,一个系统越是混乱,信息熵就越高.1948 年,香农提出了"信息熵"(shāng) 的概念,所以信息熵也叫香农熵,假设在一个集合D中第i类样本所占的比例为pi(i=1,2,3-

决策树算法

利用ID3算法来判断某天是否适合打网球. (1)类别属性信息熵的计算由于未分区前,训练数据集中共有14个实例, 其中有9个实例属于yes类(适合打网球的),5个实例属于no类(不适合打网球), 因此分区前类别属性的熵为: (2)非类别属性信息熵的计算,若先选择Outlook属性. (3)Outlook属性的信息增益为: (4)同理计算出其他3个非类别属性的信息增益,取最大的那个属性作为分裂节点,此例中最大的是Outlook,进而得到如下图所示: (5)上图中,针对sunny中的子训练数据集分支,

第六章:信息的度量和作用

1.信息熵 我们用一个生动的例子来说明这个概念:刚好这几天举行世界杯,我们都会猜谁会获得冠军.假设有32支球队,编号从1-32.然后问:“冠军是在1-16中吗?”,不是的话就是在6-32中,一次类推.我们最多需要猜测5次就能猜出谁是冠军(log32).但事实上,我们可能不需要5次就能猜出来,因为像巴西,德国,意大利这样的强队获得冠军的可能性比其他的要高.然后分组的时候,把少数几支强队放在一组.,以此类推,就不需要5次就能算出来.香农不用次,而是用“比特”(Bit)这个概念来衡量信息量.他指出,以

数学之美札记:信息的度量和作用

1948年,香农在著名论文"通信的数学原理"中提出了"信息熵"的概念,解决了信息的度量问题,并且量化出信息的作用. 香农使用了"比特"(Bit)这个概念来度量信息量.一个比特是一位二进制数,计算机中的一个字节是8比特.举个例子,32支球队参加世界杯,赛后猜测谁是冠军,通常只需要5五次,就可以得到答案.(把球队编号1-32,然后提问类似的问题:"冠军在1-16号中吗?",只需要提问五次),可以发现,信息量的比特数和所有情况的对数

数学之美读书随笔

最近在读吴军的<数学之美>,书里很多内容之前已经略有了解,这次有了新体会,随手记下,算是开卷有益吧. --20160701 1. Hidden Markov Model 从对(相对静态的)随机变量的研究发展到对随机变量的时间序列S1,S2,S3..., 即随机过程(动态的)的研究. 2.   信息的作用 消除不确定性.也就是说,收集更多的相关信息,可以得到更明确的结论. joint probability:X和Y一起出现的概率 conditional probability:在Y取不同值的前提

5中常用的相关分析方法

一.折线图分析法和散列图分析法 二.协方差(两个参数)与协方差矩阵(参数大于两个) 三.相关系数法(可以直接用excel求相关系数) 四.一元回归(两个参数)和多元回归(多余两个参数) 五.信息熵及互信息 互信息指的是两个随机变量之间的关联程度,即给定一个随机变量后,另一个随机变量不确定性的削弱程度,因而互信息取值最小为0,意味着给定一个随机变量对确定一另一个随机变量没有关系,最大取值为随机变量的熵,意味着给定一个随机变量,能完全消除另一个随机变量的不确定性 通俗的讲就是: 原来我对X有些不确定

决策树 -- ID3算法小结

ID3算法(Iterative Dichotomiser 3 迭代二叉树3代),是一个由Ross Quinlan发明的用于决策树的算法:简单理论是越是小型的决策树越优于大的决策树. 算法归纳: 1.使用所有没有使用的属性并计算与之相关的样本熵值: 2.选取其中熵值最小的属性 3.生成包含该属性的节点 4.使用新的分支表继续前面步骤 ID3算法以信息论为基础,以信息熵和信息增益为衡量标准,从而实现对数据的归纳分类:所以归根结底,是为了从一堆数据中生成决策树而采取的一种归纳方式: 具体介绍: 1.信

基于随机变量的熵来进行数据建模和分析

转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/thinkgamer 写在前边的话 首次接触信息熵,信息增益的概念是在阅读<机器学习实战>这本书的时候了解到的,那个时候对这几个概念还是一知半解,虽然当时可以理解,但是记忆却保持不了太久,几个月后,再次阅读一个数据专家的代码时发现人家对于用户异常行为检测的算法模型采用的就是随机变量的熵来建模的 机器学习