刚才写了半天的文章,因为不小心点了舍弃,一切都要重来。怪自己不小心,不过这CSDN的自动保存功能做的有点弱。
迅速进入正题。这些天在研究CRF的东西,由于之前对机器学习的方面接触比较少,看CRF比较费力,现在把看到的一些想法分享出来,理解不到位的地方希望大牛过来指点指点。
一、CRF的概念和原理
参考《条件随机场理论综述》(韩冬雪、周彩根),这篇文章里面对CRF的基本理论都做了介绍,主要包括了以下一些问题。
1.离散马尔科夫过程,即当前所处的状态仅与它之前的一条状态有关。
2.隐马尔科夫五个要素:N、M、A、B、PI。一个完整的马尔科夫模型要求两个具体的模型参数N和M,三个概率矩阵A、B、PI。
3.隐性马尔科夫模型的三个基本问题:
1)给定一个模型λ =(N、M、A、B、PI),如何高效的计算某一输出字符序列O=O1O2O3…Ot的概率P(O|λ)。可以采用forward-backward算法,迭代求出alpha和beta,然后求得P(O|λ)(公式9)。
2)给定一个模型λ =(N、M、A、B、PI)和一个输出字符O=O1O2O3…Ot,如何找到产生这一序列的最大状态序列Q。这个可以通过viterbi算法来求解。