最大熵模型

  我的理解:在限制的条件下,根据已知情况求解未知情况,最优解的选择就是使得未知的熵最大的那个概率

  我们在投资时常常讲不要把所有的鸡蛋放在一个篮子里,这样可以降低风险。在信息处理中,这个原理同样适用。在数学上,这个原理称为最大熵原理(the maximum entropy principle)。

  让我们看一个拼音转汉字的简单的例子。假如输入的拼音是"wang-xiao-bo",利用语言模型,根据有限的上下文(比如前两个词),我们能给出两个最常见的名字“王小波”和“王晓波 ”。至于要唯一确定是哪个名字就难了,即使利用较长的上下文也做不到。当然,我们知道如果通篇文章是介绍文学的,作家王小波的可能性就较大;而在讨论两岸关系时,台湾学者王晓波的可能性会较大。在上面的例子中,我们只需要综合两类不同的信息,即主题信息和上下文信息。虽然有不少凑合的办法,比如:分成成千上万种的不同的主题单独处理,或者对每种信息的作用加权平均等等,但都不能准确而圆满地解决问题,这样好比以前我们谈到的行星运动模型中的小圆套大圆打补丁的方法。在很多应用中,我们需要综合几十甚至上百种不同的信息,这种小圆套大圆的方法显然行不通。

  数学上最漂亮的办法是最大熵(maximum entropy)模型,它相当于行星运动的椭圆模型。“最大熵”这个名词听起来很深奥,但是它的原理很简单,我们每天都在用。说白了,就是要保留全部的不确定性,将风险降到最小。

  回到我们刚才谈到的拼音转汉字的例子,我们已知两种信息,第一,根据语言模型,wangxiao-bo可以被转换成王晓波和王小波;第二,根据主题,王小波是作家,《黄金时代》的作者等等,而王晓波是台湾研究两岸关系的学者。因此,我们就可以建立一个最大熵模型,同时满足这两种信息。现在的问题是,这样一个模型是否存在。匈牙利著名数学家、信息论最高奖香农奖得主希萨(Csiszar)证明,对任何一组不自相矛盾的信息,这个最大熵模型不仅存在,而且是唯一的。而且它们都有同一个非常简单的形式 -- 指数函数。下面公式是根据上下文(前两个词)和主题预测下一个词的最大熵模型,其中 w3 是要预测的词(王晓波或者王小波)w1 和 w2 是它的前两个字(比如说它们分别是“出版”,和“”),也就是其上下文的一个大致估计,subject 表示主题。

  我们看到,在上面的公式中,有几个参数 lambda 和 Z ,他们需要通过观测数据训练出来。最大熵模型在形式上是最漂亮的统计模型,而在实现上是最复杂的模型之一。

  我们上次谈到用最大熵模型可以将各种信息综合在一起。我们留下一个问题没有回答,就是如何构造最大熵模型。我们已经所有的最大熵模型都是指数函数的形式,现在只需要确定指数函数的参数就可以了,这个过程称为模型的训练。

  最原始的最大熵模型的训练方法是一种称为通用迭代算法 GIS(generalized iterative scaling) 的迭代 算法。GIS 的原理并不复杂,大致可以概括为以下几个步骤: 
1. 假定第零次迭代的初始模型为等概率的均匀分布。 
2. 用第 N 次迭代的模型来估算每种信息特征在训练数据中的分布,如果超过了实际的,就把相应的模型参数变小;否则,将它们便大。 
3. 重复步骤 2 直到收敛

  GIS 最早是由 Darroch 和 Ratcliff 在七十年代提出的。但是,这两人没有能对这种算法的物理含义进行很好地解释。后来是由数学家希萨(Csiszar)解释清楚的,因此,人们在谈到这个算法时,总是同时引用 Darroch 和Ratcliff 以及希萨的两篇论文。GIS 算法每次迭代的时间都很长,需要迭代很多次才能收敛,而且不太稳定,即使在 64 位计算机上都会出现溢出。因此,在实际应用中很少有人真正使用 GIS。大家只是通过它来了解最大熵模型的算法。 
     八十年代,很有天才的孪生兄弟的达拉皮垂(Della Pietra)在 IBM 对 GIS 算法进行了两方面的改进,提出了改进迭代算法 IIS(improved iterative scaling)。这使得最大熵模型的训练时间缩短了一到两个数量级。这样最大熵模型才有可能变得实用。即使如此,在当时也只有 IBM 有条件是用最大熵模型。

  由于最大熵模型在数学上十分完美,对科学家们有很大的诱惑力,因此不少研究者试图把自己的问题用一个类似最大熵的近似模型去套。谁知这一近似,最大熵模型就变得不完美了,结果可想而知,比打补丁的凑合的方法也好不了多少。于是,不少热心人又放弃了这种方法。第一个在实际信息处理应用中验证了最大熵模型的优势的,是宾夕法尼亚大学马库斯的另一个高徒原 IBM 现微软的研究员拉纳帕提(Adwait Ratnaparkhi)。拉纳帕提的聪明之处在于他没有对最大熵模型进行近似,而是找到了几个最适合用最大熵模型、而计算量相对不太大的自然语言处理问题,比如词性标注和句法分析。拉纳帕提成功地将上下文信息、词性(名词、动词和形容词等)、句子成分(主谓宾)通过最大熵模型结合起来,做出了当时世界上最好的词性标识系统和句法分析器。拉纳帕提的论文发表后让人们耳目一新。拉纳帕提的词性标注系统,至今仍然是使用单一方法最好的系统。科学家们从拉纳帕提的成就中,又看到了用最大熵模型解决复杂的文字信息处理的希望。

  但是,最大熵模型的计算量仍然是个拦路虎。我在学校时花了很长时间考虑如何简化最大熵模型的计算量。终于有一天,我对我的导师说,我发现一种数学变换,可以将大部分最大熵模型的训练时间在 IIS 的基础上减少两个数量级。我在黑板上推导了一个多小时,他没有找出我的推导中的任何破绽,接着他又回去想了两天,然后告诉我我的算法是对的。从此,我们就建造了一些很大的最大熵模型。这些模型比修修补补的凑合的方法好不少。即使在我找到了快速训练算法以后,为了训练一个包含上下文信息,主题信息和语法信息的文法模型(language model),我并行使用了20 台当时最快的 SUN 工作站,仍然计算了三个月。由此可见最大熵模型的复杂的一面。

  最大熵模型,可以说是集简与繁于一体,形式简单,实现复杂。值得一提的是,在Google的很多产品中,比如机器翻译,都直接或间接地用到了最大熵模型。 
     讲到这里,读者也许会问,当年最早改进最大熵模型算法的达拉皮垂兄弟这些年难道没有做任何事吗?他们在九十年代初贾里尼克离开 IBM 后,也退出了学术界,而到在金融界大显身手。他们两人和很多 IBM 语音识别的同事一同到了一家当时还不大,但现在是世界上最成功对冲基金(hedge fund)公司----文艺复兴技术公司 (Renaissance Technologies)。我们知道,决定股票涨落的因素可能有几十甚至上百种,而最大熵方法恰恰能找到一个同时满足成千上万种不同条件的模型。达拉皮垂兄弟等科学家在那里,用于最大熵模型和其他一些先进的数学工具对股票预测,获得了巨大的成功。从该基金 1988 年创立至今,它的净回报率高达平均每年 34%。也就是说,如果 1988 年你在该基金投入一块钱,今天你能得到 200 块钱。这个业绩,远远超过股神巴菲特的旗舰公司伯克夏哈撒韦(Berkshire Hathaway)。同期,伯克夏哈撒韦的总回报是 16 倍。 
    值得一提的是,信息处理的很多数学手段,包括隐含马尔可夫模型、子波变换、贝叶斯网络等等,在华尔街多有直接的应用。由此可见,数学模型的作用。

时间: 2024-12-20 12:23:47

最大熵模型的相关文章

统计学习方法 –> 逻辑死地回归与最大熵模型

前言 本章的两个模型都是对数线性模型. 逻辑斯蒂分布 如果变量X服从逻辑斯蒂分布,那么X的分布一定是y轴对称的.曲线在中心部分增长的较快.两端增长缓慢. 二项逻辑斯蒂回归模型 其本质就是条件概率P(Y|X).也就意味着给定X,求出最大可能的Y来. Y取值只有1和0. 考虑条件概率分布. 逻辑斯蒂回归模型:输出Y=1的对数几率是输出x的线性函数的模型. 参数模型估计 还是求极大似然估计. 逻辑回归的优缺点: 优点:1>实现简单         2>计算量小,速度快,存储资源低 缺点:1>欠

统计学习方法 李航---第6章 逻辑回归与最大熵模型

第6章 逻辑回归与最大熵模型 逻辑回归(logistic regression)是统计学习中的经典分类方法.最大嫡是概率模型学习的一个准则将其推广到分类问题得到最大熵模型(maximum entropy model).逻辑回归模型与最大熵模型都属于对数线性模型. 6.1 逻辑回归模型 定义6.1(逻辑分布):设X是连续随机变量,X服从逻辑斯谛分布是指 X具有下列分布函数和密度函数 式中,u为位置参数,r>0为形状参数. 逻辑分布的密度函数f(x)和分布函数F(x)的图形如图所示.分布函数属于逻辑

最大熵模型简记

最近两天简单看了下最大熵模型,特此做简单笔记,后续继续补充.最大熵模型是自然语言处理(NLP, nature language processing)被广泛运用,比如文本分类等.主要从分为三个方面,一:熵的数学定义:二:熵数学形式化定义的来源:三:最大熵模型. 注意:这里的熵都是指信息熵. 一:熵的数学定义: 下面分别给出熵.联合熵.条件熵.相对熵.互信息的定义. 熵:如果一个随机变量X的可能取值为X = {x1, x2,-, xk},其概率分布为P(X = xi) = pi(i= 1,2, .

最大熵学习笔记(三)最大熵模型

  生活中我们经常听到人们说"不要把鸡蛋放到一个篮子里",这样可以降低风险.深究一下,这是为什么呢?其实,这里边包含了所谓的最大熵原理(The Maximum Entropy Principle).本文为一则读书笔记,将对最大熵原理以及由此导出的最大熵模型进行介绍,重点给出其中所涉及数学公式的理解和详细推导. 相关链接 最大熵学习笔记(零)目录和引言 最大熵学习笔记(一)预备知识 最大熵学习笔记(二)最大熵原理 最大熵学习笔记(三)最大熵模型 最大熵学习笔记(四)模型求解 最大熵学习笔

最大熵模型原理小结

最大熵模型(maximum entropy model, MaxEnt)也是很典型的分类算法了,它和逻辑回归类似,都是属于对数线性分类模型.在损失函数优化的过程中,使用了和支持向量机类似的凸优化技术.而对熵的使用,让我们想起了决策树算法中的ID3和C4.5算法.理解了最大熵模型,对逻辑回归,支持向量机以及决策树算法都会加深理解.本文就对最大熵模型的原理做一个小结. 1. 熵和条件熵的回顾 在决策树算法原理(上)一文中,我们已经讲到了熵和条件熵的概念,这里我们对它们做一个简单的回顾. 熵度量了事物

最大熵模型答疑

最大熵模型与GIS ,IIS算法 关于最大熵模型的严重困惑:为什么没有解析解? 如何理解最大熵模型里面的特征? 最大熵模型中特征函数f(x,y)的期望如何计算? 条件熵推导: IIS(Improved Iterative Scaling)改进的迭代尺度法

逻辑回归和最大熵模型

逻辑回归 因变量随着自变量变化而变化. 多重线性回归是用回归方程描述一个因变量与多个自变量的依存关系,简称多重回归,其基本形式为:Y= a + bX1+CX2+*+NXn. 二项分布即重复n次独立的伯努利试验.在每次试验中只有两种可能的结果,而且两种结果发生与否互相对立,并且相互独立,与其它各次试验结果无关,事件发生与否的概率在每一次独立试验中都保持不变,则这一系列试验总称为n重伯努利实验,当试验次数为1时,二项分布服从0-1分布. 逻辑分布 二项逻辑回归 如何求逻辑回归中的参数W 首先介绍似然

第六章 logistic回归与最大熵模型

1.logistic回归是统计学习中的经典分类方法. 最大熵模型:最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型. 两者都是对数线性模型. 2.二项logstic分类模型:用于二类分布. 多项logstic分类模型:用于多类分布. 3.最大熵模型(maximum entropy model):是由最大熵原理推导实现. 4.熵最大原理:学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型. 5.当X服从均匀分布时,熵最大. 6.改进的迭代尺度法(improve

张乐C++最大熵模型的命令行实现方法

最近做了一个应用最大熵模型对movie-review做二元情感分类的项目. 其中最大熵模型应用的是张乐教授的最大熵工具http://homepages.inf.ed.ac.uk/lzhang10/maxent_toolkit.html. 分析数据movie-review应用的是Bo-Pang http://www.cs.cornell.edu/people/pabo/movie-review-data/ 其中movie-review如下图所示,由于movie-review的储存格式不是最大熵模型