隐马尔科夫模型(hmm):

图1. 隐马尔科夫模型
隐马尔科夫模型的缺点:
1、hmm只依赖于每一个状态和它对应的观察对象:
序列标注问题不仅和单个词相关,而且和观察序列的长度,单词的上下文,等等相关。
2、目标函数和预测目标函数不匹配:
hmm学到的是状态和观察序列的联合分布p(y,x),而预测问题中,我们需要的是条件概率p(y|x)。
最大熵隐马尔科夫模型(memm):
图2. 最大熵马尔科夫模型
memm考虑到相邻状态之间依赖关系,且考虑整个观察序列,因此memm的表达能力更强;memm不考虑p(x)减轻了建模的负担,同时学到的是目标函数是和预测函数一致。
memm的标记偏置问题:
p(1-> 1-> 1-> 1)= 0.4 x 0.45 x 0.5 = 0.09 ,p(2->2->2->2)= 0.2 x 0.3 x 0.3 = 0.018,
p(1->2->1->2)= 0.6 x 0.2 x 0.5 = 0.06,p(1->1->2->2)= 0.4 x 0.55 x 0.3 = 0.066。
图3中状态1倾向于转换到状态2,同时状态2倾向于保留在状态2;但是得到的最优的状态转换路径是1->1->1->1,为什么呢?因为状态2可以转换的状态比状态1要多,从而使转移概率降低;即memm倾向于选择拥有更少转移的状态。这就是标记偏置问题。而crf很好地解决了标记偏置问题。
crf 模型
<a target="_blank" href="http://photo.blog.sina.com.cn/showpic.html#blogid=953f8a5501010y0y&url=http://s13.sinaimg.cn/orignal/953f8a554b98d309b9cec"></a>
crf模型解决了标注偏置问题,去除了hmm中两个不合理的假设,当然,模型相应得也变复杂了。
memm是局部归一化,crf是全局归一化
另一方面,memms不可能找到相应的参数满足以下这种分布:
a b c --> a/a b/b c/c p(a b c | a b c) = 1
a b e --> a/a b/d e/e p(a d e | a b e) = 1
p(a|a)p(b|b,a)p(c|c,b) = 1
p(a|a)p(d|b,a)p(e|e,d) = 1
但是crfs可以找到模型满足这种分布。
1)生成式模型or判别式模型(假设 o 是观察值,m 是模型。)
a)生成式模型:无穷样本 -> 概率密度模型 = 产生式模型 -> 预测
如果对 p(o|m) 建模,就是生成式模型。其基本思想是首先建立样本的概率密度模型,再利用模型进行推理预测。要求已知样本无穷或尽可能的大限制。这种方法一般建立在统计力学和 bayes 理论的基础之上。
hmm模型对转移概率和表现概率直接建模,统计共同出现的概率,是一种生成式模型。
b)判别式模型:有限样本 -> 判别函数 = 判别式模型 -> 预测
如果对条件概率 p(m|o) 建模,就是判别模型。其基本思想是有限样本条件下建立判别函数,不考虑样本的产生模型,直接研究预测模型。代表性理论为统计学习理论。
crf是一种判别式模型。memm不是一种生成式模型,它是一种基于下状态分类的有限状态模型。
2)拓扑结构
hmm和memm是一种有向图,crf是一种无向图
3)全局最优or局部最优
hmm对转移概率和表现概率直接建模,统计共现概率。
memm是对转移概率和表现概率建立联合概率,统计时统计的是条件概率,由于其只在局部做归一化,所以容易陷入局部最优。
crf是在全局范围内统计归一化的概率,而不像是memm在局部统计归一化概率。是全局最优的解。解决了memm中标注偏置的问题。
4)优缺点比较
优点:
a)与hmm比较。crf没有hmm那样严格的独立性假设条件,因而可以容纳任意的上下文信息。特征设计灵活(与me一样)
b)与memm比较。由于crf计算全局最优输出节点的条件概率,它还克服了最大熵马尔可夫模型标记偏置(label-bias)的缺点。
c)与me比较。crf是在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,而不是在给定当前状态条件下,定义下一个状态的状态分布。
缺点:
训练代价大、复杂度高