最大熵模型

什么是最大熵模型?最大熵是模型学习的一个准则,将其推广到分类问题就是最大熵模型。基于最大熵原理的分类器是以最大化事件概率的熵值下(与极大似然下极大化样本出现概率是并列的概念),求出对应的分布参数值,即最大熵模型的目标函数是模型概率熵。

为什么基于最大化熵能够得到一个可行的分类模型?最大熵描述的是这样一个自然事实,即基于当前已知前提下,也就是约束下,未知事件的概率尽可能的相互接近最符合事物的自然规律。同事最大熵给出了量化这个规律的式子,即信息熵。所以基于最大熵的最大熵模型是最符合自然状态下概率分布的模型。求解最大熵模型的过程,就是一个求解约束最大化熵值的过程。

优化推导的过程:在给定训练集下,即给定约束下,能够得到符合约束的条件概率模型集合{P(y|X)},这里使用特征函数的形式,将训练数据融入到条件概率中,然后基于最大熵原理,选择条件熵最大的模型为最终模型。故而,最大熵模型的学习就是求解约束最优化问题。

通过拉格朗日函数,将约束最优化问题转化为无约束最优化问题,再转化为对偶问题。对对偶函数进行推到,首先得到了P(y|X)关于拉格朗日乘子的优化形式。

求解关于模型的极小化问题:
最大熵模型

这样最大熵模型的学习归结为对偶函数的极大化,可证对偶函数的极大化等价于最大熵模型的极大似然估计。即

最大熵模型
这样对偶函数问题就转化为极大似然估计。

通过极大似然估计学习模型参数,IIS算法:每次迭代希望找到特征权重的一个改变量,以增大似然函数值。通过-logx>=1-x不等式,定义似然函数每次迭代的改变量下界A,每次迭代改变特征权重以提高下界值,这样似然函数值也在增大。当同时改变特征权重值不易优化,所以IIS每次只优化其中一个特征权重,具体做法是,改下下界A并应用Jensen不等式得到相对不紧的新下界B,在B上求出单个改变量偏导的解析解,从而迭代特征权重,但当其中常量会波动时,使用牛顿法求每次迭代的改变量,注意,基于下界B的目标函数已经是原函数的一阶导函数。即:
最大熵模型

对特征函数的理解:f(X,y)是特征向量和y的某个取值组合的一种特征,X不是某个特征的某个值。带入公式后会发现,虽然X是特征向量,但最后会归结于某个特征的值与y的某个取值的一种共现。

maxent的重要特性
1.能够综合局部的各种特征到一个概率分布中;
2.对于未知的现象,使用熵最大原则,即无约束时,使用平均分布对待未知现象,即保证了平滑,对未知现象有一定的处理能力。

其他零散不规范的理解
信息量、不确定性、最大熵原理
越确定一件事,那么需要的额外信息量就越少。所以可以从这个角度理解,信息量就等于不确定性的多少。
香农用比特度量信息量。信息量的比特值是所有情况的对数。
有约束就是有一定的先验知识,这样还需要的信息量就会变少。
H(X)=∑P(x)logP(x),即为信息熵。这里的变量是一个概率分布,变量的不确定性越大,即概率分布越平均,熵越大,所需要的信息量也就越大。
一本书的信息量:书中每个汉字的出现比列作为概率。50万字的中文书信息量约为250万比特。一本书重复内容多,信息量就小,冗余度就大。
不确定性就是随机性,随机意味着概率分布。
条件熵:H(x|y)=—∑P(x,y)logp(x|y)<=H(x),即 引入额外关系后,需要的信息量会减少。这个额外关系可以理解为约束。
互信息:I(X,Y)=H(X)-H(X|Y) 量化度量两个随机变量间的相关性。
相对熵:与互信息相比,是度量两个正数分布的相似性,是TF-IDF的基础。
信息熵也是一种衡量语言模型好坏的指标。
最大熵的原理指出,对一个随机事件的概率分布进行预测时,预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。
最大熵模型的一个重要特点,在于能够将多种复杂信息整合到同一个模型中,形式简单而优美,在满足各种信息源的同时,又能保证平滑性。
当选定合适的特征函数时,最大熵模型可以导出多项logistics模型。但二者并不等价,最大熵可以选择其他特征函数,logistics模型则加上了不同特征的独立性假设。

参考:《统计学习方法》、maxent原始论文等忘了