本文共 727 字,大约阅读时间需要 2 分钟。
作者:孤云独去闲
链接:https://www.zhihu.com/question/35866596/answer/160605502 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。这两个模型都用他们各自的方式,都能回答上面的两个问题。
1。从model的角度来说,HMM是generative的,什么意思呢?意思是说HMM描述的是已知量和未知量的一个联合概率分布,p(x,y)。而CRF是discriminative的,是在描述p(y|x)。经过一番推导,tutorial里面的definition 2.2 给出了p(y|x)的显式表达形式。
2。从training的角度来说,HMM的参数估计是
而CRF的参数估计则是
其中 代表第 i 个训练样本。
看出来了么?HMM是在拟合联合概率分布的参数,而CRF是直接在拟合后验概率的参数。这样就算在建模的时候可以用贝叶斯定律将p(x,y)和p(y|x)进行等价的转换,当这样定义参数估计之后,两个模型就有了本质上的不同。
3。inference过程,从 到 ,这只是一个marginalization的过程,两个模型并没有什么区别。有很多办法可以利用变量之间的条件独立性,提高marginalization的效率,比如message passing 算法。
[1] Sutton, Charles, and Andrew McCallum. "An introduction to conditional random fields." Foundations and Trends® in Machine Learning 4.4 (2012): 267-373.