写在前面:该博文比较适合对三者有了一定了解的同学,主要是个人思路整理的工作。
朴素贝叶斯是基于特征条件独立的假设产生的。在预测序列时假设①当前观测值只和当前状态有关,并且②序列中状态之间相互独立,这两点都不合理,于是改进②提出HMM;后来又改进①提出MEMM。
HMM是生成式模型:围绕数据集的分布来返回给定示例的概率。生成模型学习的是联合概率 p(x,y)=p(x|y)p(y),然后在预测阶段利用贝叶斯定理来求解后验概率 p(y|x)。
预测阶段所要计算的内容:p(y|x) = p(x, y) / p(x) , 其中,p(x,y) = p(x|y)·p(y)(就是学习阶段的联合概率);p(x) = sum_y’( p(x|y’)·p(y’) )(对于所有可能的y,p(x)相同,所以预测时比较p(x,y)即可)。
【多说一点,可以选看】:生成式模型非常依赖数据,对数据的要求很高。在数据数量和质量都很好的前提下,生成式模型学的效果会很好,理论体系是完美的,但不符合实际应用场景。因为实际场景中,测试集的数据分布不会和训练集的数据分布完全一样。
需要学习的参数有三个:
两个假设带来的问题:t时刻的状态只跟t-1时刻的状态有关;t时刻的观测只跟t时刻的状态有关。只关注状态,计算transition score 和 emission score 时只考虑局部特征,没有考虑整个观测序列,而忽略上下文之间的联系;而且emission score是根据状态求观测的概率,没有充分使用观测的信息。
论文名称:Maximum Entropy Markov Models for Information Extraction and Segmentation
MEMM是判别式模型:基于条件概率进行预测,学习目标是 p(y|x),通过数据x预测出标签y。
【多说一点,可以选看】:判别式模型不考虑训练集的数据分布,直接拟合。相比于生成式模型,对数据要求没有那么高,更适合解决实际问题,但没有严格的理论支撑。
论文中提出:
f 是特征函数,自行定义。 是特征函数的权重,需要学习得到。Z 是归一化因子。
是判别式模型,令预测时使用的条件概率作为学习目标。
(a)是HMM的依赖图,当前观测依赖当前状态;(b)是MEMM的依赖图,当前状态依赖于前一状态和当前观测。可以通过设计特征函数来决定计算 emission score 都要考虑哪些特征,更大局部/全局,论文中提出的方法是只使用了当前观测的信息。
标签偏置(labeling bias)问题
实际上,状态1更偏向于转移到状态2,而状态2总倾向于停留在状态2,真实结果应该是 1-2-2-2。但由于MEMM针对于每一个状态都进行归一化(局部归一化),导致隐状态中有更少转移的状态拥有的转移概率普遍偏高,所以上例根据计算得到的结果是 1-1-1-1。
论文名称:Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data
判别式模型:基于条件概率进行预测,学习目标是 p(y|x)。