最大熵模型

转自: Hans(懂哲学却没被骗的一定是骗子) 2010-05-18 15:26:11 http://www.douban.com/group/topic/11446252/

[我们在投资时常常讲不要把所有的鸡蛋放在一个篮子里,这样可以降低风险。在信息处理中,这个原理同样适用。在数学上,这个原理称为最大熵原理(the maximum entropy principle)。这是一个非常有意思的题目,但是把它讲清楚要用两个系列的篇幅。] 


前段时间,Google中国研究院的刘骏总监谈到在网络搜索排名中,用到的信息有上百种。更普遍地讲,在自然语言处理中,我们常常知道各种各样的但是又不完全确定的信息,我们需要用一个统一的模型将这些信息综合起来。如何综合得好,是一门很大的学问。 

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

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

有一次,我去AT&T实验室作关于最大熵模型的报告,我带去了一个色子。我问听众"每个面朝上的概率分别是多少",所有人都说是等概率,即各点的概率均为1/6。这种猜测当然是对的。我问听众们为什么,得到的回答是一致的:对这个"一无所知"的色子,假定它每一个朝上概率均等是最安全的做法。(你不应该主观假设它象韦小宝的色子一样灌了铅。)从投资的角度看,就是风险最小的做法。从信息论的角度讲,就是保留了最大的不确定性,也就是说让熵达到最大。接着,我又告诉听众,我的这个色子被我特殊处理过,已知四点朝上的概率是三分之一,在这种情况下,每个面朝上的概率是多少?这次,大部分人认为除去四点的概率是1/3,其余的均是2/15,也就是说已知的条件(四点概率为1/3)必须满足,而对其余各点的概率因为仍然无从知道,因此只好认为它们均等。注意,在猜测这两种不同情况下的概率分布时,大家都没有添加任何主观的假设,诸如四点的反面一定是三点等等。(事实上,有的色子四点反面不是三点而是一点。)这种基于直觉的猜测之所以准确,是因为它恰好符合了最大熵原理。 

最大熵原理指出,当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。(不做主观假设这点很重要。)在这种情况下,概率分布最均匀,预测的风险最小。因为这时概率分布的信息熵最大,所以人们称这种模型叫"最大熵模型"。我们常说,不要把所有的鸡蛋放在一个篮子里,其实就是最大熵原理的一个朴素的说法,因为当我们遇到不确定性时,就要保留各种可能性。 

回到我们刚才谈到的拼音转汉字的例子,我们已知两种信息,第一,根据语言模型,wang-xiao-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倍。 这就是Simons的基金。

值得一提的是,信息处理的很多数学手段,包括隐含马尔可夫模型、子波变换、贝叶斯网络等等,在华尔街多有直接的应用。由此可见,数学模型的作用。

------------------------------------------------------------------------------------------------------------

我们沿着自己的思路说明了广义集合、分布函数和复杂程度的含义。在本篇又利用新提出的概率公理证明复杂程度最大的事物最容易出现,并且把它称为最复杂原理。这个原理与其他领域的知识有什么关系?本节就说明从信息论中发展起来的最大熵方法等价于最复杂原理。 

复杂程度与信息论中定义的信息熵是成正比例的物理量。现在最复杂原理强调的是复杂程度的自动的最大化,由于复杂程度对应信息熵,所以最复杂原理用信息论的语言讲就是信息熵的自动的最大化。在信息论的文献中我们会看到最大熵原理或者最大熵方法这样的词。它们表达的含义实际上与最复杂原理是对应的。所以我们可以说信息论中介绍的最大熵方法(原理)也就是最复杂原理在该领域的体现。 

早期的信息论其中心任务就是从理论上认识一个通信的设备(手段)的通信能力应当如何去计量以及分析该通信能力的规律性。但是信息论研究很快就发现利用信息熵最大再附加上一些约束,就可以得到例如著名的统计学中的高斯分布(即正态分布)。这件事提示我们高斯分布又多了一种论证的方法,也提示了把信息熵最大化是认识客观事物的规律性的新角度。 

把熵最大(对应我们的复杂程度最大)做为一种原则或者方法应用于各个科技领域的旗手是杰尼斯E.T.Jaynes 。他从1957年就在这个方向做了开创性的工作。他给出了利用最大熵方法定量求解问题的一般技术途径;论证了统计力学中的一些著名的分布函数从信息熵最大的角度也可以得到证明。这不仅使信息论知识与统计物理知识实现了连通,也使熵概念和熵原理走出了热力学的领域。 

20世纪60年代Burg在时间序列的分析中提出了用信息熵最大求频谱的技术。用这种方法得到的谱的准确性比过去的方法好,人们把它称为最大熵谱。80年代这个方法在我国也得到了广泛应用。40多年以来,尽管“利用最大熵的方法解决科技问题”在信息论的理论中不是主流,但是利用信息熵最大帮助解决很多科技问题已经形成了独立的一股学术和技术力量,而且是硕果累累了。80年代以来在美国等地每年都召开一次讨论最大熵方法应用的学术会议,并且有一册会议文集出版。这成为他们的重要学术活动形式。 

最大熵方法的特点是在研究的问题中,尽量把问题与信息熵联系起来,再把信息熵最大做为一个有益的假设(原理),用于所研究的问题中。由于这个方法得到的结果或者公式往往(更)符合实际,它就推动这个知识在前进和曼延。我国学者(后来去了加拿大)吴乃龙、袁素云在本领域有成就,而且也在所著的《最大熵方法》(湖南科学技术出版社1991年出版)一书中向国人就这个方法做了很全面的介绍。 

把最复杂原理与信息论中的最大熵方法联系起来,既是自然的逻辑推论也显示最复杂原理并不孤立。这样,最大熵方法过去取得的一切成就都在帮助人们理解最复杂原理的合理性。而最复杂原理的引入也使人们摆脱对神秘的熵概念和熵原理的敬畏。在理解了最复杂原理来源于概率公理以后,我们终于明白,神秘的熵原理本质上仅是“高概率的事物容易出现”这个再朴素不过的公理的一个推论。 

不可否认一些场合有人要把科学概念和科学原理说得深而又玄,使很多人望而生畏。我们主张用“复杂程度”这个词代替“熵(信息熵)”这个词,主张用“最复杂原理”这个词代替“最大熵方法(原理)”这个词。我们认为这没有曲解其意而有利其普及和推广。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值