阅读目录
编程数学之信息论
信息熵
联合熵
条件熵
相对熵:信息增益
互信息
最大熵
 
编程数学之信息论
摘要:信息论(英语:information theory)是应用数学、电机工程学和计算机科学的一个分支,涉及信息的量化、存储和通信等。信息论是由香农发展,用来找出信号处理与通信操作的基本限制,如数据压缩、可靠的存储和数据传输等。自创立以来,它已拓展应用到许多其他领域,包括统计推断、自然语言处理、密码学、神经生物学、进化论和分子编码的功能、生态学的模式选择、热物理、量子计算、语言学、剽窃检测、模式识别、异常检测和其他形式的数据分析。(本文原创,转载必须注明出处.)
信息熵
熵是信息的一个关键度量,通常用一条消息中需要存储或传输一个符号的平均比特数来表示。熵衡量了预测随机变量的值时涉及到的不确定度的量。例如,指定掷硬币的结果(两个等可能的结果)比指定掷骰子的结果(六个等可能的结果)所提供的信息量更少(熵更少)。
1948年,香农引入信息熵,将其定义为离散随机事件的出现概率。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。所以说,信息熵可以被认为是系统有序化程度的一个度量。
信息度量
信息熵
如果一个随机变量X的可能取值为 ,其概率分布为 ,则随机变量X的熵定义为H(X):
其中 x是定义在 X上的随机变量。信息熵是随机事件不确定性的度量。
例子:若S为一个三个面的骰子,
P(面一)=1/5
P(面二)=2/5
P(面三)=2/5
计算其信息熵为:
联合熵
两个随机变量X和Y的联合分布可以形成联合熵,定义为联合自信息的数学期望,它是二维随机变量XY的不确定性的度量,用H(X,Y)表示:
条件熵
在随机变量X发生的前提下,随机变量Y发生新带来的熵,定义为Y的条件熵,用H(Y|X)表示:
条件熵用来衡量在已知随机变量X的条件下,随机变量Y的不确定性。
由贝氏定理,我们有 ,代入联合熵的定义,可以分离出条件熵,于是得到联合熵与条件熵的关系式:
推导过程如下:
上式中:
第二行推到第三行的依据是边缘分布P(x)等于联合分布P(x,y)的和;
第三行推到第四行的依据是把公因子logP(x)乘进去,然后把x,y写在一起;
第四行推到第五行的依据是:因为两个sigma都有P(x,y),故提取公因子P(x,y)放到外边,然后把里边的-(log P(x,y) log P(x))写成log (P(x,y) / P(x) ) ;
第五行推到第六行的依据是:P(x,y) = P(x) * P(y|x),故P(x,y) / P(x) = P(y|x)。
相对熵:信息增益
相对熵又称互熵、交叉熵、KL散度、信息增益,是描述两个概率分布P和Q差异的一种方法,记为D(P||Q)。在信息论中,D(P||Q)表示当用概率分布Q来拟合真实分布P时,产生的信息损耗,其中P表示真实分布,Q表示P的拟合分布。
对于一个离散随机变量的两个概率分布P和Q来说,它们的相对熵定义为:
注意:D(P||Q) ≠ D(Q||P)
互信息
两个随机变量X,Y的互信息定义为X,Y的联合分布和各自独立分布乘积的相对熵称为互信息,用I(X,Y)表示。互信息是信息论里一种有用的信息度量方式,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。互信息是两个事件集合之间的相关性。
互信息、熵和条件熵之间存在以下关系:
推导过程如下:
通过上面的计算过程发现有:H(Y|X) = H(Y) - I(X,Y),又由前面条件熵的定义有:H(Y|X) = H(X,Y) - H(X),于是有I(X,Y)= H(X) + H(Y) - H(X,Y),此结论被多数文献作为互信息的定义。
最大熵
最大熵原理是概率模型学习的一个准则,它认为:学习概率模型时,在所有可能的概率分布中,熵最大的模型是最好的模型。通常用约束条件来确定模型的集合,所以,最大熵模型原理也可以表述为:在满足约束条件的模型集合中选取熵最大的模型。
前面我们知道,若随机变量X的概率分布是 ,则其熵定义如下:
熵满足下列不等式:
式中,|X|是X的取值个数,当且仅当X的分布是均匀分布时右边的等号成立。也就是说,当X服从均匀分布时,熵最大。
直观地看,最大熵原理认为:要选择概率模型,首先必须满足已有的事实,即约束条件;在没有更多信息的情况下,那些不确定的部分都是“等可能的”。最大熵原理通过熵的最大化来表示等可能性;“等可能”不易操作,而熵则是一个可优化的指标。
参考文献
Python官网
中文维基百科
GitHub
图书:《机器学习实战》
图书:《自然语言处理理论与实战》
完整代码下载
源码请进【机器学习和自然语言QQ群:436303759】文件下载:自然语言处理和机器学习技术QQ交流
作者声明
本文版权归作者【白宁超】所有,转载请联系作者:1938036263@qq.com,但未经作者同意禁止转载,转载后需在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
 
 
作者:白宁超,工学硕士,现工作于四川省计算机研究院,研究方向是自然语言处理和机器学习。曾参与国家自然基金项目和四川省科技支撑计划等多个省级项目。著有《自然语言处理理论与实战》一书。 自然语言处理与机器学习技术交流群号:436303759 。 出处:http://www.cnblogs.com/baiboy/ 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
分类: Algorithm
好文要顶 关注我 收藏该文    
伏草惟存
关注 - 6
粉丝 - 530
+加关注
0 0
« 上一篇:天府大讲堂:5G时代的物联网发展趋势与产业变革
posted @ 2018-12-06 20:38 伏草惟存 阅读(85) 评论(0) 编辑 收藏
刷新评论刷新页面返回顶部
注册用户登录后才能发表评论,请 登录 或 注册,访问网站首页。
【推荐】超50万VC++源码: 大型组态工控、电力仿真CAD与GIS源码库!
【福利】华为云4核8G云主机免费试用
【活动】华为云会员节云服务特惠1折起
【活动】腾讯云+社区开发者大会12月15日首都北京盛大起航!
公告
【敬https://www.cnblogs.com/baiboy/p/bcsx.html