码迷,mamicode.com
首页 > 其他好文 > 详细

条件随机场入门(四) 条件随机场的训练

时间:2016-08-31 18:25:26      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:

本节讨论给定训练数据集估计条件随机场模型参数的问题,即条件随机场的学习问题。条件随机场模型实际上是定义在时序数据上的对数线形模型,其学习方法包括极大似然估计和正则化的极大似然估计。具体的优化实现算法有改进的迭代尺度法IIS、梯度下降法以及 L-BFGS 算法。(crf++ 采用了 L-BFGS 优化的方式,所以着重看这种训练方法即可)

L-BFGS算法

对于条件随机场模型:

\[P_w(y|x) = \frac{\exp \left \{ \sum_{k=1}^K w_kf_k(x,y)\right \}}{ \sum_y  \left \{ \exp \sum_{i=1}^n w_if_i(x,y)\right \}}\]

已知训练数据集,由此可知经验概率分布 $\widetilde{P}(X,Y)$ 可以通过极大化训练数据的对数似然函数来求模型参数,训练数据的对数似然函数为:

\[L(w) = L_{\widetilde{P}}(P_w) = \log \prod_{x,y}P_w(y|x)^{\widetilde{P}(x,y)} = \sum_{x,y}\widetilde{P}(x,y) \log P_w(y|x)\]

其中 P_w(y|x) 与 Z_w(x) 分别为:

\[P_w(y|x) = \frac{\exp \left\{ w \cdot F(y,x)\right\}}{Z_w(x)} , \ \ Z_w(x) = \sum_y \exp \left\{ w \cdot F(y,x)\right\}\]

接下来给出对数似然函数为

\begin{aligned}
L(w) &= \sum_{x,y} \widetilde{P}(x,y) \log P_w(y|x) \\
&= \sum_{x,y} \left \{ \widetilde{P}(x,y)\sum_{k=1}^Kw_kf_k(y,x)-\widetilde{P}(x,y) \log Z_w(x) \right \} \\
&= \sum_{x,y} \widetilde{P}(x,y) \sum_{k=1}^K w_kf_k(x,y) - \sum_x\widetilde{P}(x)\log\sum_y\exp\left \{ \sum_{i=1} ^nw_if_i(x,y)\right \}
\end{aligned}

对目标进行 MLE 等价于极小化以下优化目标函数:

\[\min_w f(w)  = \sum_x\widetilde{P}(x) \log \sum_y \exp \left \{  \sum_{i=1}^n w_if_i(x,y)\right \} -\sum_{x,y}\widetilde{P}(x,y)\sum_{k=1}^Kw_kf_k(x,y)\]

其梯度函数在 L-BFGS 的过程中有用到,形式如下:

\[g(w) = \sum_{x,y}\widetilde{P}(x)P_w(y|x)f(x,y)-E_{\widetilde{P}}(f)\]

这里 $E_{\widetilde{P}}$ 的计算已经在上一小节给出,总结一下变了得到求解 crf 的 L-BFGS 算法

输入:特征函数 $f_1,f_2,…,f_n$;经验分布 $\widetilde{P}(X,Y)$;

输出:最优参数值 $\hat{w}$;最优模型 $P_{\hat{w}}(y|x)$。

(1)选定初始点 $w^{(0)}$,取 $B_0$ 为正定对称矩阵,置 $k = 0$;

(2)   计算 $g_k = g(w^{(k)})$。若 $g_k = 0$ ,则停止计算;否则转(3)

(3)由 $B_kp_k = –g_k$ 求出 $p_k$

(4)一维搜索:求 $\lambda_k$ 使得:

\[f(w^{(k)} + \lambda_kp_k) = min_{\lambda \ge 0}f(w^{(k)} + \lambda p_k)\]

(5)置 $w^{(k+1)} = w^{(k)} + \lambda_k p_k$

(6)计算 $g_{k+1} = g(w^{(k+1)})$,若 $g_k = 0$ ,则停止计算;否则,按下式求出 $B_{k+1}$:

\[B_{k+1} = B_k + \frac{y_ky_k^T}{y_k^T \delta_k} – \frac{B_k \delta_k \delta_k^TB_k}{\delta_k^TB_k\delta_k}\]

其中:\[y_k = g_{k+1}-g_k ,\delta_k = w^{(k+1)} - w^{(k)}\]

(7)置 k = k+1,转(3)。

条件随机场入门(四) 条件随机场的训练

标签:

原文地址:http://www.cnblogs.com/ooon/p/5826757.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!