摘自李航的《统计学习方法》
一、先看一个小例子
给定一个骰子,没有任何前提条件,问抛掷各个点数的概率是多少?我们都会答1/6. 因为没有更多的信息,所以这种判断合理。
二、最大熵原理
上面的例子应用了最大熵原理。最大熵原理认为,在判断样本的分布时候,在满足已有条件下,熵最大的分布即为最好的分布。最大熵原理通过熵的最大化来表示等可能性。“等可能不容易”操作,而熵则是一个可优化的指标。
三、最大熵模型的定义
1.如果给定训练集,那么我们就可以得到联合概率分布的经验分布P(X, Y)和P(X).
2.设定特征函数f(x,y)为输入x和输出y之间的某一个事实,
2.设定特征函数关于P(X|Y)与经验经验分布的期望E(f),
3.设定特征函数f(x,y)关于模型P(Y|X)与经验分布P(X)的期望值,
4.假设两个期望值相等,那么就可以得到模型学习的约束条件,这里需要注意,如果有n个特征函数,那么这里就有n个约束。
5.条件概率分布P(Y|X)上的条件熵为,条件熵H(P)最大的模型,也称为最大熵模型
四、最大熵模型的学习
1.由(三5)和(三4),可以得到最大熵模型的约束优化问题:
2.将求最大改为最小:
约束条件下求最优解即为最大熵模型的解。像求SVM一样,自然而然想到求解SVM过程用到的拉格朗日条件极值法和对偶法。
3.引入拉格朗日乘子,w0,w1....wn,定义拉个朗日函数L(P,w):
则
4.原始问题与对偶问题
原始问题,最大最小 minmaxL(P,w)
对偶问题,最小最大 maxminL(P,w)
5.对对偶问求解
由(四1,P(Y|X))的约束与上式得
记
6.因此得到:
7.最后的问题变为求对偶问题的极大化
五、求解omega
常用方法,IIS,梯度下降,牛顿法等。
这里选一个写一下
improved iterative scaling, IIS。思想是希望找到一个参数w+δ似的模型的似然函数值增大,如果有这样的参数更新w,w=w+δ,那么就可以使用这种增量的方式找到似然函数的最大值
(1)
由(四3,四4,四5,四6)得到
(2)
(3)由a>0. 令f(a) = -log(a)-1+a在a=1处取得最小值0,因此-log(a) >= 1-a. 所以
(4)记(3)的结果:
(5)引入变量
(6)得
由Jenson不等式
得到
因此
(7)记上式为
所以
(8)在(7)中,对delta求偏导并令其等于0,即为delta的解。