最大熵模型

来源:互联网 发布:js怎么获取毫秒数 编辑:程序博客网 时间:2024/06/10 06:29

1. 极大似然估计在机器学习中的应用

  1. 有监督学习中要求的是标签下的条件概率,极大似然学习的是概率分布P,可把P看作是条件概率,使用极大似然,得到概率模型
    • 应用模型:最大熵模型,逻辑回归
  2. 无监督学习中,标签不知道,只能在推导中使用极大似然估计的过程
    • 应用:EM算法(GMM模型)

2. 熵

熵是平均不确定性的独立,函数到值的映射(泛函)
1. 平均互信息量(衡量确定性):

I(X,Y)=H(X)H(X|Y)=H(Y)H(Y|X)
2. 交叉熵(不确定性,非对称):
H(X;Y)=H(X)+KL(X||Y)=I(X,Y)+H(X|Y)+KL(X||Y)
3. KL散度(不确定性,非对称):
KL(X||Y)=H(X;Y)H(X)
4. 条件熵和KL散度最小时,平均互信息量最大

3. 最大熵模型推导

  1. 最大熵原理:承认已知事物,对未知事物不做任何假设,没有偏见,最大熵存在且唯一(凸优化)
  2. 模型一般形式(在约束条件下求条件熵最大化)
    minPCH(P)=H(Y|X)=x,yP(x)P(y|x)logP(y|x)
    s.t.Ep(fi)=Ep¯(fi)
    yP(y|x)=1
    其中Ep¯(fi)=x,yp(x,y)fi(x,y)fi为特征,当x,y满足特征条件,fi(x,y)=1,否则为0
  3. 写成拉格朗日形式:
    L(P,w)=H(P)+w0(1yP(y|x))+i=1nwi(Ep¯(fi)Ep(fi))=x,yP¯(x)P(y|x)logP(y|x)+w0(1yP(y|x))+j=1nwi(x,yP¯(x,y)fi(x,y)x,yP¯(x)P(y|x)fi(x,y))
  4. 原问题和对偶问题:
    minPCmaxwL(P,w)
    maxwminPCL(P,w)
    :φ=minPCL(P,w)=L(Pw,w)
  5. P(y|x)求偏导数,令其为0,得到条件概率分布Pw(y|x),之后求w,得到最大熵模型
    P(y|x)=exp(i=1nwifi(x,y)+w01)=exp(wifi(x,y))exp(1w0)
    :Pw(y|x)=1Zexp(wifi(x,y))
    Z=yexp(wifi(x,y))
  6. 最大熵模型中的φ(w)等价于最大熵模型的极大似然估计,两者可以相互证明其有效性
  7. 最大熵模型的优缺点
    优点:
    (1)建模时,试验者只需集中精力选择特征,而不需要花费精力考虑如何使用这些特征。
    (2)特征选择灵活,可选不同种类特征,容易更换,充分适应未知信息和拟合已知信息。
    (3)与NB相比不需要条件独立假设,通过特征选择(加特征)解决平滑问题
    缺点:
    (1)只能记录特征是否出现,不能记录特征强度
    (2)算法收敛较慢,计算费时,时空开销大
    (3)数据稀疏问题严重
    (4)与NB一样,用于语言模型时没有语序信息和词频信息(1)
  8. 最大熵模型的应用
    词性标注、短语识别、指代消解、语法分析、机器翻译、文本分类、问题回答、语言模型
0 0
原创粉丝点击