隐马尔可夫模型与条件随机场之间的直观区别


33

我知道HMM(隐马尔可夫模型)是生成模型,而CRF是判别模型。我也了解如何设计和使用CRF(条件随机场)。我不明白的是它们与HMM有何不同?我读到在HMM的情况下,我们只能在前一个节点,当前节点和转移概率上对下一个状态建模,但是在CRF的情况下,我们可以这样做,并且可以将任意数量的节点连接在一起以形成依赖关系或上下文?我在这里正确吗?


2
您可能应该阐明HMM和CRF;首字母缩写词可能很棘手,特别是对于那些不讲英语的人。
彼得·弗洛姆

1
对此评论的读者可能不喜欢这个答案,但是,如果您真的需要知道这个答案,最好的理解方法是亲自阅读论文并形成自己的见解。这需要花费很多时间,但这是真正了解正在发生的事情并能够判断其他人是否在告诉您真相的唯一方法
坦率的

Answers:


23

从McCallum 对CRF介绍

在此处输入图片说明


4
您是否愿意为此添加自己的直觉/洞察力/理解力-即使只是指出重点(从您的角度来看)?
javadba

10

“条件随机场可以理解为最大熵模型的顺序扩展”。这句话来自与“经典概率模型和条件随机字段”有关的技术报告

对于诸如HMM,CRF和最大熵之类的主题,这可能是最好的读物。

PS:链接中的图1很好地比较了它们。

问候,


5

附带说明:我恳请您保留此列表(不完整),以便感兴趣的用户拥有易于访问的资源。现状仍然需要个人调查大量论文和/或较长的技术报告,以找到与CRF和HMM相关的答案。

除了其他已经很好的答案之外,我还想指出我最值得注意的独特功能:

  • HMM是生成模型,试图对联合分布P(y,x)进行建模。因此,此类模型尝试对数据P(x)的分布进行建模,进而可能施加高度相关的特征。这些依赖有时是不希望的(例如,在NLP的POS标记中),并且通常很难进行建模/计算。
  • CRF是对 P(y | x)建模的判别模型。这样,它们不需要显式建模P(x),并且根据任务,因此可能会产生更高的性能,部分原因是它们需要学习的参数较少,例如,在不需要生成样本的设置中。当使用复杂和重叠的特征时,判别模型通常更适合(因为对它们的分布进行建模通常很困难)。
  • 如果您具有这样的重叠/复杂功能(如POS标记中的功能),则可能要考虑CRF,因为它们可以使用其功能功能对它们进行建模(请注意,您通常必须对这些功能进行功能设计)。
  • 通常,CRF由于应用了功能功能而比HMM更强大。例如,您可以对1( = NN, = Smith, = true)等函数,而在(一阶)HMM中,您可以使用马尔可夫假设,仅对前一个元素。因此,我将CRF视为HMM的概括ÿŤXŤC一种pXŤ-1个
  • 还要注意线性CRF与普通CRF之间的区别。像HMM一样,线性CRF仅对前一个元素施加依赖关系,而对于常规CRF,您可以对任意元素施加依赖关系(例如,在序列的最后访问第一个元素)。
  • 在实践中,由于线性CRF通常可以简化推论,因此您会比一般CRF看到更多。通常,CRF推理通常很棘手,只有唯一的易于选择的近似推理方法。
  • 像在HMM中一样,使用Viterbi算法进行线性CRF中的推断。
  • HMM和线性CRF通常都使用最大似然技术(例如梯度下降,拟牛顿法)进行训练,或者使用期望最大化技术(Baum-Welch算法)进行训练。如果优化问题是凸的,则这些方法都会产生最佳参数集。
  • 根据[1],如果所有节点都具有指数族分布并且在训练过程中被观察到,则用于学习线性CRF参数的优化问题是凸的

[1]萨顿,查尔斯;McCallum,Andrew(2010),“条件随机场简介”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.