[nlp笔记]最大熵模型

转载自:http://www.douban.com/note/274809504/

MaxEnt

这几节主要讲了几个分类器(classfier),分类器的作用是将数据按照模型分类(废话==)。模型通过训练集来训练参数,还得有特征,以便将训练集中的数据归类来训练参数。比较常见的分类器是把数据分成两类(binary),这两类分别是0、1或者true/false. 但实际情形中我们关心的是给定一个数据,来判断它属于某一类的概率有多大,或者说实际上一个数据可能属于true这一类,也可能属于false这一类,只是权重不同而已。我们用logistic regression 来建模(这个从Andrew Ng的视频中可以看到是基于了假设数据是按Bernoulli分布推出的,logistic 分布也属于指数分布的一种)。

logistic regression 从0到1的分布,是一个增函数,也就是说如果自变量越大,这个自变量的概率越可能接近于1。如何训练模型中的参数,也就是每一个特征的权重w。
______________________________________________________________________
特征(features):数据的属性,例如Andrew Ng在谈到肿瘤良性与恶性(分类)时,数据集是病人,其特征可以认为包括:病人年龄、肿瘤大小等。
特征权重(weight):如果我们认为肿瘤大小对肿瘤良性还是恶性的影响比病人年龄大,那么我们赋予它比较大的权重。最后我们其实得到这样一个值来评价特征的总体对分类的影响
       sum(wi*fi(x)) % fi(x)是特征函数,每一个数据X : f1(X), f2(X).....
______________________________________________________________________

训练方法是计算出argmax P(y|x;w)。其中P(y|x;w)中的(x,y)是训练集中的数据。如果y=1,将x 输入1/(1+exp(-wf)) 中; 如果是0,将x输入exp(-wf)/(1+exp(-wf))。为什么是argmax? 因为如果如果最后得到的概率越大,说明预测的结果和实际值越接近。求参数收敛的方法,可以用gradient descent或者牛顿法。

实际情形中,我们的分类不只是2元的。如果分类是多元的话,那么引入polynomial logistic regression 模型,又叫做MaxEnt模型。书上对于p(c|x)的定义是

                                          p(c|x) = exp(sum(wifi))/Z

z是针对所有分类exp()的和,这是为了归一化。
多元logistic回归的特征,在自然语言处理中,除了x有关外,还与class有关。模型的训练类似于2元logistic模型。

————————————————————————————————————————
为什么叫最大熵模型?
假如我们对于数据本身的特征没有了解,那么它属于任何分类的概率时相同的。这时 p(c|x)的概率分布产生的熵最大。
假如数据集有一个特征,那么这个特征其实是一个限制(constraint),会影响概率分布的均匀性。不过有些class的p(c|x)可能没有影响,那么这些p应当是相等均匀的。这样熵最大。
特征越多,限制越多,对概率分布影响越大,在限制之外,我们总是尽可能使概率均匀。这就是使熵最大的原理。(实际上,我们对于没有限制的猜测总是均等的)
那么熵最大模型,就是在可选的(在限制条件下)概率分布集合中选出一个,使熵最大。恰好多元logistic回归模型在给定特征及特征权重后,产生的概率分布能够使熵最大。

______________________________________________________________________
最大熵马尔科夫模型(MMEM)
最大熵模型只能解决一个observation 归属于哪一类的问题,对于整个sequence不适用。而HMM中存在的p(w|t)有时计算,例如w是一个unknown word时。那么把两者结合起来就产生了MMEM。
MMEM是一个discriminative model. 这个概念和generative model相对,是基于后验概率的。但是至于为什么会选择P(ti|ti-1,wi)作为条件概率还不清楚,也不清楚为什么这样的概率可以condition any useful features of the input observation.
MMEM中条件概率计算是基于最大熵模型的,或者说多元logistic model.(一种广义线性模型)
MMEM的训练是通过维特比算法实现的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值