什么是条件随机场 CRF: Conditional Random Fields

Conditional Random Fields 条件随机场,是一种判别模型,可以用于预测序列数据,通过使用过去的上下文信息,使模型达到更好的预测效果。

定义:

CRF 是一个无向图模型,它的节点可以分为两个不相交的集合 观测集 X,输出集 Y,然后可以对 P(Y|X)进行建模。


判别模型 vs 生成模型:

判别模型:由数据直接学习决策函数 Y=f(X) 或者条件概率分布 P(Y|X),作为预测值。例如 k近邻,感知级,决策树,支持向量机等。

生成模型:先由数据学习联合概率密度分布 P(X,Y),然后求出条件概率分布 P(Y|X),作为预测值。例如朴素贝叶斯,隐马尔科夫模型等。


CRF 的应用:

CRF 可以对序列数据建模,所以在 NLP 领域有很多应用。例如 :

Parts-of-Speech tagging,这个任务依赖之前的单词,通过使用 feature functions ,可以用 CRF 来判别哪些单词对应哪个 POS。

Named Entity recognition,CRF 可用于预测多变量相互依赖的序列。

还可用于图片的 parts-recognition,基因预测等任务.


HMM 和 CRF 看起来很像:

它们的区别是:

  • HMM 是有向图,CRF 是无向图;
  • HMM 计算的是状态和观测的联合概率,而 CRF 计算的是状态基于观测的条件概率。
  • HMM 多用于那种状态“原生”,观测是状态“生成”出来的场景。如,用 HMM 来生成一段语音,则状态对应的是音节(声韵母)或文字,而观测则是这个音节所对应的声学特征。
  • CRF 则多用于那种观测“原生”。状态“后天”产生,用来标记观测的情况。如,用 CRF 来做文本实体标记。输入一句话“我有一个苹果”,CRF 处理后将“苹果”标记成了“水果”。这个时候,“苹果”是观测,而“水果”则是对应的状态。

学习资料:
https://en.wikipedia.org/wiki/Conditional_random_field
https://medium.com/ml2vec/overview-of-conditional-random-fields-68a2a20fa541
https://blog.csdn.net/zouxy09/article/details/8195017

你可能感兴趣的:(什么是条件随机场 CRF: Conditional Random Fields)