HMM and CRF, classical dependency graph

Posted by SkyHigh on August 16, 2017

HMM and CRF, classical dependency graph

First part

最近刚好需要做个关于HMM与CRF的presentation,顺便复习了一下这两个经典的模型。现在简单概括了一下HMM与CRF的内容,具体可以参考链接的资料以及presentation PPT。

Second part

注:下面的CRF专指linear-chain CRF

HMM作为生成模型,往往需要考虑到XY的联合分布,在求极大似然的时候,往往需要考虑P(Y|X)P(X)这两部分,所以和判别模型相比,会受到P(X)分布的牵制,因此用HMM做判别任务的时候,效果往往没有作为判别模型的CRF好。而且HMM转化成potential function的形式后,与CRF的potential function里的feature function比较,就显得单一了一些。也就是说,对于HMM中的每个隐变量,需要通过多个多维分布来表示多个不同的特征。比如2维高斯分布,每个维度分别对应X的两个特征。而CRF可以直接通过构造不同的feature function,而不用让每个特征都对应一个分布。常用的HMM有:GMMHMM(假设每个变量包含多维混合高斯分布)、MultinomialHMM(表示每个变量为多项式分布)与GaussianHMM(假设每个变量为多维高斯分布)。

HMM和CRF的inference均可以通过vertebi algorithm(max-sum algorithm,是一种在每一步求最大值的dp方法)来实现。HMM可以用来生成观测序列(在已经有训练好的HMM模型下),而CRF不行。HMM的训练主要是通过EM算法来训练模型,而CRF可以对目标函数关于参数求导,然后用梯度更新(比如SGD、拟牛顿法如L-BFGS等)的方法训练模型。而且HMM与CRF在训练的参数计算过程中,均用到了前向后向算法(forward-backward algorithm,是一种在每一步求和的dp方法)来优化计算。

通过概率图的角度看,HMM其实是序列化的Naive Bayes,而CRF其实是序列化的Maximum Entropy(并且,Logistic Regression即为label为二项分布时的ME,Softmax Regression即为label为多项分布时的ME)。

References