条件随机场(CRF)和隐马尔科夫模型(HMM)

转载自机器不学习2018-02-28)的回答

CRF是一个feature-based模型。你实际用的时候可以把feature放到node或者边上面。CRF只是提供了一套体系让你来做带关系的feature模型。

相比之下HMM model的是state之间的概率,对于所有的state-state的transition都要学一个probability。如果把这部分feature化,变成一个参数模型的话那就回到CRF了。

CRF和HMM都有全局最优。这个全局最优和两者的区别是两件事情。你写下两者的loss function就能看到两个都是convex的,所以存在全局最优解。

然后如果是sequence或者tree的结构的话,都可以用DP+EM来优化,从而得到全局最优解。但是如果结构中有环的话就可能需要近似解了。

所以总体来说,两者区别在于是否是feature化了,全局最优是看是否loss function是convex的,然后有没有精确解取决于结构。这是三个不同的概念,分属model design(判别式生成式etc),凸优化,和概率图模型的inference三部分知识体系。

看图说话吧:

1. 一图流,最大区别就是一个是Generative Model,一个是Discriminative Model,而CRF并不止Linear-Chain这种形式(类似于HMM),既然题主已经知道就不再赘述了。

条件随机场(CRF)和隐马尔科夫模型(HMM)_第1张图片

2. 全局最优体现在训练的时候,我们用最大似然法做参数估计,所以要在训练集上面最大化对数似然函数L:

条件随机场(CRF)和隐马尔科夫模型(HMM)_第2张图片

一般来讲,我们最后还要加上一项正则化惩罚项来防止overfitting。

公式可以重写为:

条件随机场(CRF)和隐马尔科夫模型(HMM)_第3张图片

好了,现在我们将对数似然函数拆成A,B和C三部分,B属于Normalization,C属于Regularization。然后分别对他们求关于Lambda-k(就是参数)的偏微分。

针对A:

条件随机场(CRF)和隐马尔科夫模型(HMM)最大区别在哪里?

针对B:

条件随机场(CRF)和隐马尔科夫模型(HMM)_第4张图片

针对C:

条件随机场(CRF)和隐马尔科夫模型(HMM)_第5张图片

所以,整个对数似然函数,其实是一个Concave函数,第一项A是线性的,第二项B属于Normalization,不会改变其Concave的性质,最后一项C也是Concave的,所以ABC三项加起来就是整个对数使然函数都是Concave的,而在最优化中,若函数是Concave的,那么每个局部最优都是全局最优,同时加上正则化项可以令对数似然函数严格Concave,意味着只有一个global optimum。

Reference:

1. Classical Probabilistic Models and Conditional Random Fields

2. An Introduction to Conditional Random Fields for Relational Learning

你可能感兴趣的:(条件随机场(CRF)和隐马尔科夫模型(HMM))