最大熵模型

摘自李航的《统计学习方法》

 

一、先看一个小例子

给定一个骰子,没有任何前提条件,问抛掷各个点数的概率是多少?我们都会答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的解。

 

 

 

posted @ 2018-12-13 23:30  ylxn  阅读(188)  评论(0编辑  收藏  举报