刚才写了半天的文章,因为不小心点了舍弃,一切都要重来。怪自己不小心,不过这优快云的自动保存功能做的有点弱。
迅速进入正题。这些天在研究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算法来求解。
3)给定一个模型λ =(N、M、A、B、PI)和一个输出字符O=O1O2O3…Ot,如何调整模型的参数使得产生这一序列的的概率最大。这个可以通过参数估计来计算。
4.最大熵模型:最大熵模型的实质是,在已知部分知识的前提下,关于未知分布最合理的推断是符合已知知识的最不确定或最随机的推断,这是我们可以做出的唯一一个不偏不倚的选择。</