博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最大熵原理
阅读量:4947 次
发布时间:2019-06-11

本文共 3956 字,大约阅读时间需要 13 分钟。

最近看到一位高手,说了最大熵原理应用在排名!让我倍感发抖!网上有个人连研究基本步骤都写完了,着实让蛋疼了一小下,就引用一下吧
       最大熵原理在1957 年由E.T.Jaynes 提出的
       主要思想是,在只掌握关于未知分布的部分知识时,应该选取符合这些知识但熵值最大的概率分布。因为在这种情况下,符合已知知识的概率分布可能不止一个。熵定义的实际上是一个随机变量的不确定性,熵最大时,表示随机变量最不确定,也就是随机变量最随机,对其行为做准确预测最困难。最大熵原理的实质就是,在已知部分知识的前提下,关于未知分布最合理的推断就是符合已知知识最不确定或最随机的推断,这是我们可以作出的唯一不偏不倚的选择,任何其它的选择都意味着我们增加了其它的约束和假设,这些约束和假设根据我们掌握的信息无法作出。
可查看《浅谈最大熵原理和统计物理学》——曾致远(Richard Chih-Yuan Tseng)

信息论研究发现利用信息熵最大再附加上一些约束,就可以得到例如著名的统计学中的高斯分布(即正态分布)。这件事提示我们高斯分布又多了一种论证的方法,也提示了把信息熵最大化是认识客观事物的规律性的新角度。

(我记得用聚类的方法能证明为什么高斯分布状态下分类情况是最好的!这里论证高斯分布是什么意思我不明白)

      最大熵(maximum entropy)模型相当于行星运动的椭圆模型。原理很简单,就是要保留全部的不确定性,将风险降到最小。让我们来看一个实际例子,一个色子。每个面朝上的概率分别是多少,各面的概率均为1/6。假它每一个朝上概率均等的。从投资的角度看,就是风险最小的做法。从信息论的角度讲,就是保留了最大的不确定性,也就是说让熵达到最大。当对一个随机事件的概率分布进行预测时,预测应当满足全部已知的条件,而对未知情况不做任何主观假设。这种情况下,概率分布最均匀,预测的风险最小。这时概率分布的信息熵最大,所以称这种模型叫“最大熵模型”。不要把所有的鸡蛋放在一个篮子里,其实就是最大熵原理的一个朴素的说法,因为当我们遇到不确定性时,就要保留各种可能性。

如何用最大熵      

这个最大熵方法的特点是在研究的问题中,尽量把问题与信息熵联系起来,再把信息熵最大做为一个有益的假设(原理),用于所研究的问题中。由于这个方法得到的结果或者公式往往(更)符合实际。

把最复杂原理与信息论中的最大熵方法联系起来,既是自然的逻辑推论也显示最复杂原理并不孤立。这样,最大熵方法过去取得的一切成就都在帮助人们理解最复杂原理的合理性。而最复杂原理的引入也使人们摆脱对神秘的熵概念和熵原理的敬畏。在理解了最复杂原理来源于概率公理以后,我们终于明白,神秘的熵原理本质上仅是“高概率的事物容易出现”这个再朴素不过的公理的一个推论。
 
网上有个写很全面,非常适合菜鸟入门!
 
一、熵
物理学概念
宏观上:热力学定律——体系的熵变等于可逆过程吸收或耗散的热量除以它的绝对温度(克劳修斯,1865)
微观上:熵是大量微观粒子的位置和速度的分布概率的函数,是描述系统中大量微观粒子的无序性的宏观参数(波尔兹曼,1872)
结论:熵是描述事物无序性的参数,熵越大则无序。
二、熵在自然界的变化规律——熵增原理
一个孤立系统的熵,自发性地趋于极大,随着熵的增加,有序状态逐步变为混沌状态,不可能自发地产生新的有序结构。
当熵处于最小值, 即能量集中程度最高、有效能量处于最大值时, 那么整个系统也处于最有序的状态,相反为最无序状态。
熵增原理预示着自然界越变越无序
三、信息熵
(1)和熵的联系——熵是描述客观事物无序性的参数。香农认为信息是人们对事物了解的不确定性的消除或减少,他把不确定的程度称为信息熵(香农,1948 )。
随机事件的信息熵:设随机变量ξ,它有A1,A2,A3,A4,……,An共n种可能的结局,每个结局出现的概率分别为p1,p2,p3,p4,……,pn,则其不确定程度,即信息熵为
(2)信息熵是数学方法和语言文字学的结合。一个系统的熵就是它的无组织程度的度量。熵越大,事件越不确定。熵等于0,事件是确定的。
举例:抛硬币,
p(head)=0.5,p(tail)=0.5
H(p)=-0.5log
2(0.5)+(-0.5log
2(0.5)
)=1
说明:熵值最大,正反面的概率相等,事件最不确定。
四、最大熵理论
在无外力作用下,事物总是朝着最混乱的方向发展。事物是约束和自由的统一体。事物总是在约束下争取最大的自由权,这其实也是自然界的根本原则。在已知条件下,熵最大的事物,最可能接近它的真实状态。
五、基于最大熵的统计建模:建模理论
以最大熵理论为基础的统计建模。
为什么可以基于最大熵建模?
Jaynes证明:对随机事件的所有相容的预测中,熵最大的预测出现的概率占绝对优势。
Tribus证明,正态分布、伽马分布、指数分布等,都是最大熵原理的特殊情况。
结论:最大熵统计建模是以最大熵理论为基础的方法,即从符合条件的分布中选择熵最大的分布作为最优秀的分布。
最大熵统计模型需要解决的问题:
(1)特征空间的确定——问题域
(2)特征选择——寻找约束条件
(3)建立统计模型——基于最大熵理论建立熵最大的模型
六、基于最大熵的统计模型:数学描述
(1)问题描述:设最终输出值构成的语言学类别有限集为Y,对于每个y∈Y,其生成均受上下文信息x的影响和约束。已知与y有关的所有上下文信息组成的集合为X,则模型的目标是:给定上下文x∈X,计算输出为y∈Y的条件概率p(y|x)。
(2)训练样例
例子:我们的任务是为词“打”的词性标注过程建立模型,标注模型为p,每个可能的词性为p(t)。
“打”的可能词性:{动词,量词,介词}。
由此,模型p的第一个约束:p(动词)+p(量词)+(介词)=1
在训练最大熵模型时,任务选连系统通过数据转换程序或者模式识别中通常所说的特征抽取器,把真实世界的,原始训练数据通过特定的方法或者算法转化为多特征或属性表示的训练样例。
条件最大熵方法是一种有监督的机器学习方法,所以每个训练样例由一个实例x以及他的目标概念类y组成。
七、基于最大熵的统计建模:数学推导
(1)模型输入:从人工标注的训练数据中抽取的训练样本集T={(x1,y1),(x2,y2),...,(xn,yn)},(xi,yi)表示在语料库中出现yi时其上下文信息为xi。
(2)从训练样例中得到经验概率分布:其中Count(x,y)是语料中出现的次数,N为总词数。则
(3)特征f是指x与y之间存在的某种特定的关系,用二值函数表示:
(4)特征的经验概率期望值是所有满足特征要求的经验概率之和,即:
最大熵理论及其应用
引入1个特征:
(5)特征的期望概率是特征在所学习的随机事件中的真实分布为:
其中, 是指x出现的情况下,y的经验概率。 是指x出现的情况下,y的真实概率。
(6)特征的经验概率与期望概率应该一致,即:
即:
上面的式子即成为约束等式。
(7)设存在k个特征f
i(i=1,2,...,k),多个约束等式构成的集合叫做约束集,可表示为:
(8)最大熵模型,是满足约束条件的所有模型中熵最大的模型,即:
其中p为满足约束集C条件下的某一统计模型。argmax表示寻找具有最大评分的参量。
(9)于是我们可以把这个最大熵模型表示为:在满足约束条件中选择熵最大的那个。
这是一个有约束的优化问题
我们可以用拉格朗日乘数法来解决这个优化问题。
具体步骤如下:
为每一个特征f
i引入一个参数λ
i(称为拉格朗日算子),另外由于p(y|x)是条件概率,所以有 ,所以也要为每个实例x引入一个参数k(x)。那么拉格朗日函数可定义为:
然后对它求导,就可以求出 最大时 。
(10)特征f
i的权重用相对应的参数λ
i表示,则满足最大熵条件p(y|x)用指数形式表示为:
其中: 称为归一化因子。
(11)此时,最大值
(12) 称为归一化因子,它的引入是为了保证 的概率。
(13)这样我们就把一个有约束的优化问题转化为一个没有约束优化的问题。
八、最大熵模型的求解
许多自然语言处理问题都可以归结为分类问题,其任务是估计目标概念类y在实例或上下文或条件x的概率,即
p(y|x)。
最大熵模型有两个基本的任务:特征选择和模型选择。
特征选择:选择一个能表达随机过程的统计特征的特征集合。
模型选择:即模型估计或者参数估计,就是为每个入选的特征估计权重λ。九、基于最大熵的统计建模:参数估计 Input:特征函数集合{f},特征经验分布 。
Output:最优参数值集合{λ},最优模型 。
GIS算法、IIS算法、SCGIS算法
十、基于最大熵的统计建模:特征选择
在所有的特征中选择最有代表性的特征,构造约束集合。
数据稀疏的问题。
特征选择的步骤:特征模板—>候选特征->选择特征
特征选择的方法:(1)增量式特征选择算法,基本算法和近似算法。(2)基于频数阈值的特征选择算法。
十一、最大熵模型的优缺点
优点:
(1)建模时,试验者只需集中精力选择特征,而不需要花费精力考虑如何使用这些特征。
(2)特征选择灵活,且不需要额外的独立假定或者内在约束。
(3)模型应用在不同领域时的可移植性强。
(4)可结合更丰富的信息。
缺点:
(1)时空开销大
(2)数据稀疏问题严重
(3)对语料库的依赖性较强
十二、最大熵模型的应用
词性标注、短语识别、指代消解、语法分析、机器翻译、文本分类、问题回答、语言模型......

转载于:https://www.cnblogs.com/cl1024cl/archive/2013/03/20/6205728.html

你可能感兴趣的文章
springBoot整合mybatis、jsp 或 HTML
查看>>
新浪微博---首页技术点二.轮播图的实现
查看>>
6.高性能NIO框架netty
查看>>
线程锁
查看>>
Oracle语句补充
查看>>
vuex使用方法
查看>>
eclipse添加easyExport插件,打开本地文件
查看>>
Docker CE 安装
查看>>
HR面试总结
查看>>
Yahoo!团队:网站性能优化的35条黄金守则(转)
查看>>
redis 基本操作
查看>>
Windows下安装Redis服务
查看>>
Sublime的Package Control的安装
查看>>
【HDOJ】2155 小黑的镇魂曲
查看>>
Mininet实验 脚本实现控制交换机行为
查看>>
c# 获取程序运行的根目录
查看>>
Java之匿名内部类详解
查看>>
adb 命令模拟按键事件
查看>>
Codeforces Round #436 D. Make a Permutation!
查看>>
scp的使用
查看>>