什么是条件随机场 CRF: Conditional Random
2018-12-09 本文已影响5人
不会停的蜗牛
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