[关闭]
@haoqiang 2018-01-23T02:55:25.000000Z 字数 2500 阅读 39

最大熵模型

机器学习


最大熵原理

在没有更多信息的情况下,那些不确定的部分都是“等可能的”,最大熵原理通过熵的最大化来表示等可能性。


建模

在给定训练集的情况下,我们可以得到总体联合分布P(X,Y)的经验分布P¯¯¯(X,Y),和边缘分布P(X)的经验分布P¯¯¯(X)P¯¯¯(X,Y)即为训练集中X,Y同时出现的次数除以样本总数m,P¯¯¯(X)即为训练集中X出现的次数除以样本总数m。

特征函数f(x,y)描述输入x和输出y之间的关系。定义为:

f(x,y)={10xy

可以认为只要训练集中出现的(x(i),y(i)),其f(x(i),y(i))=1

特征函数f(x,y)关于经验分布P¯¯¯(X,Y)的期望:

EP¯(f)=x,yP¯¯¯(x,y)f(x,y)

特征函数f(x,y)关于条件分布P(Y|X)和经验分布P¯¯¯(X)的期望:

EP(f)=x,yP¯¯¯(x)P(y|x)f(x,y)

分类模型要求的是条件概率分布P(Y|X),如果模型可以从训练集中学习,我们就可以假设这两个期望相等。即:

EP¯(f)=EP(f)

这是最大熵模型的约束。

定义在条件概率分布P(Y|X)上的条件熵为:

H(P)=x,yP¯¯¯(x)P(y|x)logP(y|x)

目标是得到使H(P)最大的时候对应的P(y|x)


优化

minPs.t.H(P)=x,yP¯¯¯(x)P(y|x)logP(y|x)EP¯(fi)EP(fi)=0(i=1,2,...M)yP(y|x)=1

拉格朗日函数L(P,w)

L(P,w)H(P)+w0(1yP(y|x))+i=1Mwi(EP¯(fi)EP(fi))

原始问题:

minPmaxwL(P,w)

对偶问题:

maxwminPL(P,w)

第一步就是求

ψ(w)=minPL(P,w)

L(P,w)关于P(y|x)的偏导数:

L(P,w)P(y|x)=x,yP¯¯¯(x)(logP(y|x)+1)yw0x,y(P¯¯¯(x)i=1Mwifi(x,y))=x,yP¯¯¯(x)(logP(y|x)+1w0i=1Mwifi(x,y))

令偏导数为0

P(y|x)=exp(i=1Mwifi(x,y)+w01)=exp(i=1Mwifi(x,y))exp(1w0)

由于yP(y|x)=1,可以得到最优解Pw(y|x)

Pw(y|x)=1Zw(x)exp(i=1Mwifi(x,y))

其中,Zw(x)为规范化因子,定义为:

Zw(x)=yexp(i=1Mwifi(x,y))

第二步对ψ(w)求极大,比如梯度下降法,牛顿法,拟牛顿法都可以。对于最大熵模型还有一种专用的优化方法,叫做改进的迭代尺度法(improved iterative scaling, IIS)。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注