最大熵模型的简单理解

基本思想

在只掌握了关于未知分布的部分信息的情况下,符合已知知识分布的概率分布可能有多个,但是熵值最大的概率分布最真实低反映了事件的分布情况。

最大熵原理指出,当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小。因为这时概率分布的信息熵最大,所以人们称这种模型叫“最大熵模型”。我们常说,不要把所有的鸡蛋放在一个篮子里,其实就是最大熵原理的一个朴素的说法,因为当我们遇到不确定性时,就要保留各种可能性。说白了,就是要保留全部的不确定性,将风险降到最小。----摘自《Google黑板报》作者:吴军

用途

用于自然语言处理,比如词义消歧、词法分析等。

例如:假设随机变量X有5个取值{A,B,C,D,E},需要估算每个值的概率。

假设从一些先验知识可以得到:

P(A)+P(B)=3/10

P(A)+P(B)+P(C)+P(D)+P(E)=1

满足以上限制条件的概率分布由无穷多个,在缺少其他信息的情况下,合理的方法是认为A和B等概率,C、D和E等概率,所以

P(A)=P(B)=3/20

P(C)=P(D)=P(E)=7/30

此处“认为A和B等概率,C、D和E等概率”就用到了最大熵原理。当变量服从均匀分布的时候,熵最大。

最大熵原理

那么最大熵原理的实质就是,在已知部分知识的前提下,关于未知分布最合理的推断就是符合已知知识最不确定或最随机的推断,这是我们可以作出的唯一不偏不倚的选择,任何其它的选择都意味着我们增加了其它的约束和假设,这些约束和假设根据我们掌握的信息无法作出。-百度百科“最大熵原理”。

最大熵模型的简单理解_第1张图片

最大熵模型的导出

根据最大熵模型的思想,模型的形成需要遵从两点要求:熵最大和满足所有已知条件。由此可以得到

1.   目标函数

最大熵模型是基于条件概率的。概率分布的目标函数是最大化条件熵:

最大熵模型的简单理解_第2张图片

2.   约束条件

最大熵模型需要满足两个条件的约束:

1.      与训练语料保持一致性的含义:特征fi在先验分布和在模型分布上面的期望值是相等的。

2.      概率约束条件

3.   最终的最大熵模型

最大熵模型的学习可以转化为约束最优化问题,构造拉格朗日方程:

最大熵模型的简单理解_第3张图片

对P(y|x)求偏导等于0就可以获得最优解,即最大熵模型的公式P(y|x)

最大熵模型的简单理解_第4张图片

最大熵模型的学习

主要是学习特征f的权重λ。

目标函数是最大熵模型的似然函数,通过最大似然估计参数。

最优化的方法有两种:

1.      IIS(改进的迭代尺度法)

基本思想是迭代模型参数λ,使得每次迭代的似然函数值增大,具体做法是提高对数似然函数改变量的下界。

2.      拟牛顿法

BFGS

参考文献

http://www.zhizhihu.com/html/y2011/3489.html

统计学习方法李航

统计自然语言处理宗成庆

Classical Probabilistic Models andConditionalRandom Fields

A maximumentropy approach to natural language processing

你可能感兴趣的:(机器学习)