• 标记偏置 隐马尔科夫 最大熵马尔科夫 HMM MEMM


    隐马尔科夫模型(HMM):

    图1. 隐马尔科夫模型

    隐马尔科夫模型的缺点:

            1、HMM仅仅依赖于每个状态和它相应的观察对象:

                  序列标注问题不仅和单个词相关,并且和观察序列的长度,单词的上下文,等等相关。

            2、目标函数和预測目标函数不匹配:

                  HMM学到的是状态和观察序列的联合分布P(Y,X),而预測问题中,我们须要的是条件概率P(Y|X)。

     

    最大熵隐马尔科夫模型(MEMM):

     

    图2. 最大熵马尔科夫模型

            MEMM考虑到相邻状态之间依赖关系。且考虑整个观察序列,因此MEMM的表达能力更强;MEMM不考虑P(X)减轻了建模的负担。同一时候学到的是目标函数是和预測函数一致。

    MEMM的标记偏置问题:

     

    图3. Viterbi算法解码MEMM。状态1倾向于转换到状态2,同一时候状态2倾向于保留在状态2;

    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非常好地攻克了标记偏置问题。

            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能够找到模型满足这样的分布。

  • 相关阅读:
    Loadrunner:场景运行较长时间后报错:Message id [-17999] was not saved
    JMeter学习(三十二)属性和变量
    LoadRunner参数化MySQL
    Linux下安装使用NMON监控、分析系统性能
    使用Loadrunner进行http接口压力测试
    Windows远程桌面连接Ubuntu 14.04
    oracle转Mysql中,varchar2(10)和number应该转换为什么类型?
    centos下pip安装mysql_python
    JMeter中返回Json数据的处理方法
    如何使用AutoIT完成单机测试
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5313213.html
Copyright © 2020-2023  润新知