推导条件随机场参数估计的全过程

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:宁远成梁
链接:http://www.zhihu.com/question/20380549/answer/45066785
来源:知乎

写在前面的部分:条件随机场结构各种各样,我们来个最简单的线性条件随机场,推导的方法也用最简单的梯度下降法。想必要对条件随机场进行参数估计的 一定对CRF有所理解,一些基本概念再次忽略,可以参考“an introduction to conditional random fields for relational learning”这篇文章,或者这篇blog: Introduction to Conditional Random Fields 写的很好。
上图,CRF的概率模型,给定observations 求某一latent states序列的概率。
其中分母Z(x)是归一因子:
其中分母Z(x)是归一因子:
公式(2) 中的y就是所有可能的序列,如果一个序列有个8个latent states,每个state有6个可能的取值,那么所有可能序列就有6的8次方。由此可见计算他时开销是相当大的。给出极大似然函数的对数表达式: 公式(2) 中的y就是所有可能的序列,如果一个序列有个8个latent states,每个state有6个可能的取值,那么所有可能序列就有6的8次方。由此可见计算他时开销是相当大的。给出极大似然函数的对数表达式:
其中N是训练序列的个数,那么梯度下降法的方式大概是这样的(其实是梯度上升发求最大值): 其中N是训练序列的个数,那么梯度下降法的方式大概是这样的(其实是梯度上升发求最大值):
为了简单起见,我们把N去掉,最后加上也一样,变成: 为了简单起见,我们把N去掉,最后加上也一样,变成:
对第k个特征函数求偏导,得到: 对第k个特征函数求偏导,得到:
好了,我们把主力集中在第二项,因为第一项已经很简单了: 好了,我们把主力集中在第二项,因为第一项已经很简单了:
把分母Z(x)带入,得到: 把分母Z(x)带入,得到:
推导条件随机场参数估计的全过程_第1张图片Z(x)对于一个训练序列来讲是常数,所以可以拿到括号里面,化简得到: 推导条件随机场参数估计的全过程_第2张图片Z(x)对于一个训练序列来讲是常数,所以可以拿到括号里面,化简得到:
推导条件随机场参数估计的全过程_第3张图片这一步很漂亮,接着: 推导条件随机场参数估计的全过程_第4张图片这一步很漂亮,接着:
推导完毕,这个式第一项是真实值,第二项是期望值,当俩者相等时,梯度为0,迭代停止。计算p(y|x)比较麻烦,可以用dynamic programming来求解,类似vertebi。也可以用pseudo-likelihood,而不是maximum-likelihood.具体参考: 推导完毕,这个式第一项是真实值,第二项是期望值,当俩者相等时,梯度为0,迭代停止。计算p(y|x)比较麻烦,可以用dynamic programming来求解,类似vertebi。也可以用pseudo-likelihood,而不是maximum-likelihood.具体参考:

[1]. Zhan, Kai, Steven Faux, and Fabio Ramos. "Multi-scale Conditional Random Fields for first-person activity recognition." Pervasive Computing and Communications (PerCom), 2014 IEEE International Conference on. IEEE, 2014.

你可能感兴趣的:(机器学习)