条件随机场(CRF)相关理论知识

统计学习方法笔记-条件随机场 一 马尔可夫随机场 ** 定义** 设有联合概率分布 P(Y), 由无向图 G = (V, E) 表示,在图 G 中,结点表示随机变量,边表示随机变量之间的依赖关系 。 如果联合概率分布 P(Y) 满足成对、局部或全局马尔可夫性,就称此联合概率分布为概率无向图模型或马尔可夫随机场 。 其中成对,局部,全局马尔可夫性有如下定义: 成对马尔可夫性: 设u和v是无向图中任意两个没有连接的结点,对应随机变量Yu Yv, 其他所有结点为O,对应一个随机变量组,则 局部马尔可夫性: v 是无向图中的任意一个结点,随机变 阅读详情

无向概率图模型

无向图模型的边没有方向,仅仅代表两个事件有关联。

img

无向图模型将概率分解为所有最大团上的某种函数之积。

在图论中,最大团指的是满足所有节点相互连接的最大子图。因为最大团需要考虑所有变量,为此,无向图模型定义了一些虚拟的因子节点,每个因子节点只连接部分节点,组成更小的最大团。

img

蓝色虚线表示最大团,黑色方块表因子节点,圆圈则表示变量节点。

条件随机场

条件随机场( Conditional Random Field, CRF)是一种给定输入随机变量 x,求解条件概率 p(y| x) 的概率无向图模型。用于序列标注时,特例化为线性链( linear chain )条件随机场。此时,输人输出随机变量为等长的两个序列。

线性链条件随机场如下图所示:
在这里插入图片描述

每个 Xt 上方有 3 个灰色节点,代表 Xt 的 3 个特征,当然还可以是任意数量的特征,体现了特征的丰富性。黑色方块是因子节点,可以理解为一个特征函数 。其中仅仅利用了 Xt 和 Yt 的特征称作状态特征(s),利用了 Yt-1 的特征则称作转移特征(t)。

**状态特征(s)**是定义在Y节点上的节点特征函数,这类特征函数只和当前节点有关,记为:
s l ( y i , x , i ) ,      l = 1 , 2 , . . . L s_l(y_i, x,i),\;\; l =1,2,...L sl​(yi​,x,i),l=1,2,...L
其中L是定义在该节点的节点特征函数的总个数,ii是当前节点在序列的位置。

**转移特征(t)**是定义在Y上下文的局部特征函数,这类特征函数只和当前节点和上一个节点有关,记为:
t k ( y i − 1 , y i , x , i ) ,      k = 1 , 2 , . . . K t_k(y_{i-1},y_i, x,i),\;\; k =1,2,...K tk​(yi−1​,yi​,x,i),k=1,2,...K
其中K是定义在该节点的局部特征函数的总个数,i是当前节点在序列的位置。之所以只有上下文相关的局部特征函数,没有不相邻节点之间的特征函数,是因为我们的linear-CRF满足马尔科夫性。

无论是节点特征函数还是局部特征函数,它们的取值只能是0或者1。即满足特征条件或者不满足特征条件。同时,我们可以为每个特征函数赋予一个权值,用以表达我们对这个特征函数的信任度。假设 t k t_k tk​的权重系数是 λ k , s l \lambda_k, s_l λk​,sl​的权重系数是 μ l \mu_l μl​,则linear-CRF由我们所有的 t k , λ k , s , μ l t_k,\lambda_k, s_,\mu_l tk​,λk​,s,​μl​共同决定。

此时我们得到了linear-CRF的参数化形式如下:
P ( y ∣ x ) = 1 Z ( x ) e x p ( ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l s l ( y i , x , i ) ) P(y|x) = \frac{1}{Z(x)}exp\Big(\sum\limits_{i,k} \lambda_kt_k(y_{i-1},y_i, x,i) +\sum\limits_{i,l}\mu_ls_l(y_i, x,i)\Big) P(y∣x)=Z(x)1​exp(i,k∑​λk​tk​(yi−1​,yi​,x,i)+i,l∑​μl​sl​(yi​,x,i))
其中,Z(x)为规范化因子:
Z ( x ) = ∑ y e x p ( ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l s l ( y i , x , i ) ) Z(x) =\sum\limits_{y} exp\Big(\sum\limits_{i,k} \lambda_kt_k(y_{i-1},y_i, x,i) +\sum\limits_{i,l}\mu_ls_l(y_i, x,i)\Big) Z(x)=y∑​exp(i,k∑​λk​tk​(yi−1​,yi​,x,i)+i,l∑​μl​sl​(yi​,x,i))
回到特征函数本身,每个特征函数定义了一个linear-CRF的规则,则其系数定义了这个规则的可信度。所有的规则和其可信度一起构成了我们的linear-CRF的最终的条件概率分布。

CRF 实例

这里我们给出一个linear-CRF用于词性标注的实例,为了方便,我们简化了词性的种类。假设输入的都是三个词的句子,即 X = ( X 1 , X 2 , X 3 ) X=(X_1,X_2,X_3) X=(X1​,X2​,X3​),输出为 Y = ( Y 1 , Y 2 , Y 3 ) Y=(Y_1,Y_2,Y_3) Y=(Y1​,Y2​,Y3​),其中, Y ∈ { 1 ( 名 词 ) , 2 ( 动 词 ) } Y \in \{1(名词),2(动词)\} Y∈{1(名词),2(动词)},则Y的可能输出序列 对应的线性链条件随机场结构 如下图所示:

在这里插入图片描述
给定取值为1的特征函数如下:
t 1 = t 1 ( y i − 1 = 1 , y i = 2 , x , i ) , i = 2 , 3 ,      λ 1 = 1 t 2 = t 2 ( y 1 = 1 , y 2 = 1 , x , 2 )      λ 2 = 0.5 t 3 = t 3 ( y 2 = 2 , y 3 = 1 , x , 3 )      λ 3 = 1 t 4 = t 4 ( y 1 = 2 , y 2 = 1 , x , 2 )      λ 4 = 1 t 5 = t 5 ( y 2 = 2 , y 3 = 2 , x , 3 )      λ 5 = 0.2 s 1 = s 1 ( y 1 = 1 , x , 1 )      μ 1 = 1 s 2 = s 2 ( y i = 2 , x , i ) , i = 1 , 2 ,      μ 2 = 0.5 s 3 = s 3 ( y i = 1 , x , i ) , i = 2 , 3 ,      μ 3 = 0.8 s 4 = s 4 ( y 3 = 2 , x , 3 )      μ 4 = 0.5 t_1 =t_1(y_{i-1} = 1, y_i =2,x,i), i =2,3,\;\;\lambda_1=1\\ t_2 =t_2(y_1=1,y_2=1,x,2)\;\;\lambda_2=0.5\\ t_3 =t_3(y_2=2,y_3=1,x,3)\;\;\lambda_3=1\\ t_4 =t_4(y_1=2,y_2=1,x,2)\;\;\lambda_4=1\\ t_5 =t_5(y_2=2,y_3=2,x,3)\;\;\lambda_5=0.2\\ s_1 =s_1(y_1=1,x,1)\;\;\mu_1 =1\\ s_2 =s_2( y_i =2,x,i), i =1,2,\;\;\mu_2=0.5\\ s_3 =s_3( y_i =1,x,i), i =2,3,\;\;\mu_3=0.8\\ s_4 =s_4(y_3=2,x,3)\;\;\mu_4 =0.5 t1​=t1​(yi−1​=1,yi​=2,x,i),i=2,3,λ1​=1t2​=t2​(y1​=1,y2​=1,x,2)λ2​=0.5t3​=t3​(y2​=2,y3​=1,x,3)λ3​=1t4​=t4​(y1​=2,y2​=1,x,2)λ4​=1t5​=t5​(y2​=2,y3​=2,x,3)λ5​=0.2s1​=s1​(y1​=1,x,1)μ1​=1s2​=s2​(yi​=2,x,i),i=1,2,μ2​=0.5s3​=s3​(yi​=1,x,i),i=2,3,μ3​=0.8s4​=s4​(y3​=2,x,3)μ4​=0.5
目标是求标记序列 ( y 1 = 1 , y 2 = 2 , y 3 = 2 ) (y_1=1,y_2=2,y_3=2) (y1​=1,y2​=2,y3​=2)的非规范化概率。

简单解释上面的特征函数:

t 2 t_2 t2​函数表示输入的第一个y必须是 y 1 y_1 y1​且等于1,第二个y必须是 y 2 y_2 y2​且为1。当输入的两个y满足这两个条件事,函数取值为1,否则取值为0(例如: t 2 ( y 1 = 1 , y 2 = 2 , x , 2 ) = 0 t_2 (y_1=1,y_2=2,x,2)=0 t2​(y1​=1,y2​=2,x,2)=0)。当 t 2 t_2 t2​取值为1时, t 2 t_{2} t2​对应的置信度为0.5。

t 1 t_1 t1​函数表示输入的第一个y是1且第二个y是2时才取1,否则取0。 t 1 t_1 t1​取1时,则 t 1 t_1 t1​对应的概率为1。

s 1 s_1 s1​函数表示输入的y必须是 y 1 y_1 y1​且等于1,此时 s 1 s_1 s1​的置信度为 μ 1 \mu_1 μ1​。

其他的特征函数以此类推。

更具体的理解是:

t函数给定并约束了不同词性之间的转移概率,例如约定名词后接动词的概率为1,名词后面跟名词的概率为0.5;

s函数给定并约束了第i个位置为某个词性的概率,例如第一个字为名词的概率为1,第一个第二个字为动词的概率为0.5;

利用linear-CRF的参数化公式,我们有:
P ( y ∣ x ) ∝ e x p [ ∑ k = 1 5 λ k ∑ i = 2 3 t k ( y i − 1 , y i , x , i ) + ∑ l = 1 4 μ l ∑ i = 1 3 s l ( y i , x , i ) ] P(y|x) \propto exp\Big[\sum\limits_{k=1}^5\lambda_k\sum\limits_{i=2}^3t_k(y_{i-1},y_i, x,i) + \sum\limits_{l=1}^4\mu_l\sum\limits_{i=1}^3s_l(y_i, x,i) \Big] P(y∣x)∝exp[k=1∑5​λk​i=2∑3​tk​(yi−1​,yi​,x,i)+l=1∑4​μl​i=1∑3​sl​(yi​,x,i)]
注意上面的式子中的 ∑ i = 2 3 \sum\limits_{i=2}^3 i=2∑3​和$ \sum\limits_{i=1}^3$,意味着所有的特征函数会遍历每一个可能的点和边。

带入 ( y 1 = 1 , y 2 = 2 , y 3 = 2 ) (y_1=1,y_2=2,y_3=2) (y1​=1,y2​=2,y3​=2)后展开,得到:
P ( y 1 = 1 , y 2 = 2 , y 3 = 2 ∣ x ) ∝ e x p ( 3.2 ) P(y_1=1,y_2=2,y_3=2|x) \propto exp(3.2) P(y1​=1,y2​=2,y3​=2∣x)∝exp(3.2)

线性链条件随机场的简化形式

假设我们有 K 1 K_1 K1​个转移特征t, K 2 K_2 K2​个状态特征s,总共有 K = K 1 + K 2 K=K_1 + K_2 K=K1​+K2​个特征。并且令:

f k ( y i − 1 , y i , x , i ) = { t k ( y i − 1 , y i , x , i ) , k = 1 , 2 , … , K 1 s l ( y i , x , i ) , k = K 1 + l ; l = 1 , 2 , … , K 2 f_k(y_{i-1},y_i,x,i)= \begin{cases} t_k(y_{i-1},y_i,x,i),&k=1,2,\dots,K_1\\ s_l(y_i,x,i),&k=K_1+l;l=1,2,\dots,K_2 \end{cases} fk​(yi−1​,yi​,x,i)={tk​(yi−1​,yi​,x,i),sl​(yi​,x,i),​k=1,2,…,K1​k=K1​+l;l=1,2,…,K2​​
然后对两种特征函数在各个位置 i i i求和,得到:
f k ( y , x ) = ∑ i = 1 n f k ( y i − 1 , y i , x , i ) , k = 1 , 2 , … , K f_k(y,x)=\sum_{i=1}^nf_k(y_{i-1},y_i,x,i),k=1,2,\dots,K fk​(y,x)=i=1∑n​fk​(yi−1​,yi​,x,i),k=1,2,…,K
同时我们也统一 f k ( y i − 1 , y i , x , i ) f_k(y_{i-1},y_i, x,i) fk​(yi−1​,yi​,x,i)对应的权重系数 w k w_{k} wk​如下:
w k = { λ k , k = 1 , 2 , … , K 1 μ l , k = K 1 + l ; l = 1 , 2 , … , K 2 w_k= \begin{cases} \lambda_k,&k=1,2,\dots,K_1\\ \mu_l,&k=K1+l;l=1,2,\dots,K_2 \end{cases} wk​={λk​,μl​,​k=1,2,…,K1​k=K1+l;l=1,2,…,K2​​
于是条件随机场可以表示为
P ( y ∣ x ) = 1 Z ( x ) exp ⁡ ∑ k = 1 K w k f k ( y , x ) Z ( x ) = ∑ y exp ⁡ ∑ k = 1 K w k f k ( y , x ) \begin{aligned} P(y|x)&=\frac{1}{Z(x)}\exp\sum_{k=1}^Kw_kf_k(y,x)\\ Z(x)&=\sum_y\exp\sum_{k=1}^Kw_kf_k(y,x) \end{aligned} P(y∣x)Z(x)​=Z(x)1​expk=1∑K​wk​fk​(y,x)=y∑​expk=1∑K​wk​fk​(y,x)​
其中 Z ( x ) Z(x) Z(x)为规范化因子。

若以 w w w表示权值向量, 即
w = ( w 1 , w 2 , … , w K ) T w=(w_1,w_2,\dots,w_K)^T w=(w1​,w2​,…,wK​)T
以 F F F表示全局特征向量,即
F ( y , x ) = ( f 1 ( y , x ) , f 2 ( y , x ) , … , f K ( y , x ) ) T F(y,x)=(f_1(y,x),f_2(y,x),\dots,f_K(y,x))^T F(y,x)=(f1​(y,x),f2​(y,x),…,fK​(y,x))T
条件随机场可以表示成向量内积的形式
P w ( y ∣ x ) = exp ⁡ ( w ⋅ F ( y , x ) ) Z w ( x ) Z w ( x ) = ∑ y exp ⁡ ( w ⋅ F ( y , x ) ) \begin{aligned} P_w(y|x)&=\frac{\exp(w\cdot F(y,x))}{Z_w(x)}\\ Z_w(x)&=\sum_y\exp\left(w\cdot F(y,x)\right) \end{aligned} Pw​(y∣x)Zw​(x)​=Zw​(x)exp(w⋅F(y,x))​=y∑​exp(w⋅F(y,x))​
以上便得到了向量形式的表示。

线性链条件随机场的矩阵形式

上面的表示形式还可以再加以整理,变为矩阵的形式。为此定义一个 m × m m\times m m×m的矩阵M,m为y所有可能状态的个数。M定义如下:
M i ( x ) = [ M i ( y i − 1 , y i ∣ x ) ] M i ( y i − 1 , y i ) = exp ⁡ ( W i ( y i − 1 , y i ∣ x ) ) W i ( y i − 1 , y i ∣ x ) = ∑ k = 1 K w k f k ( y i − 1 , y i ∣ x ) \begin{aligned} M_i(x)&=\left[M_i(y_{i-1},y_i|x)\right]\\ M_i(y_{i-1},y_i)&=\exp\left(W_i(y_{i-1},y_i|x)\right)\\ W_i(y_{i-1},y_i|x)&=\sum_{k=1}^Kw_kf_k(y_{i-1},y_i|x) \end{aligned} Mi​(x)Mi​(yi−1​,yi​)Wi​(yi−1​,yi​∣x)​=[Mi​(yi−1​,yi​∣x)]=exp(Wi​(yi−1​,yi​∣x))=k=1∑K​wk​fk​(yi−1​,yi​∣x)​
M i ( x ) M_i(x) Mi​(x)是 m × m m\times m m×m的矩阵,对上文提到的实例而言,M为2x2的矩阵。角标i表示是第i个位置的矩阵。

M i ( y i − 1 , y i ) M_i(y_{i-1},y_i) Mi​(yi−1​,yi​)是构成矩阵 M i ( x ) M_i(x) Mi​(x)的元素,其在矩阵中的位置为: ( y i − 1 , y i ) (y_{i-1}, y_i) (yi−1​,yi​)。例如 ( y i − 1 = 1 , y i = 2 ) (y_{i-1}=1, y_i=2) (yi−1​=1,yi​=2)表示是矩阵第一行,第二列的位置,且取值为: exp ⁡ ( W i ( y i − 1 = 1 , y i = 2 ∣ x ) ) \exp\left(W_i(y_{i-1}=1,y_i=2|x)\right) exp(Wi​(yi−1​=1,yi​=2∣x))。

引入起点和终点状态标记 y 0 = s t a r t = 1 , y n + 1 = e n d = 1 y_0=start=1,y_{n+1}=end=1 y0​=start=1,yn+1​=end=1, 则有下图所示的状态路径:
在这里插入图片描述
这时 P w ( y ∣ x ) P_w(y|x) Pw​(y∣x)可以矩阵形式表示:
P w ( y ∣ x ) = 1 Z w ( x ) ∏ i = 1 n + 1 M i ( y i − 1 , y i ∣ x ) Z w ( x ) = ( M 1 ( x ) M 2 ( x ) … M n + 1 ( x ) ) s t a r t , s t o p P_w(y|x)=\frac{1}{Z_w(x)}\prod_{i=1}^{n+1}M_i(y_{i-1},y_i|x) \\ Z_w(x)=(M_1(x)M_2(x)\dots M_{n+1}(x))_{start,stop} Pw​(y∣x)=Zw​(x)1​i=1∏n+1​Mi​(yi−1​,yi​∣x)Zw​(x)=(M1​(x)M2​(x)…Mn+1​(x))start,stop​
其中 Z w ( x ) Z_w(x) Zw​(x)为规范化因子,是n+1个矩阵乘积结果在(start=1,stop=1)位置上的元素,也就是计算结果对应的矩阵在左上角位置的元素值。

为什么是n+1个矩阵?因为从start到stop之间有 n + 1 = 3 + 1 = 4 n+1=3+1=4 n+1=3+1=4个转移状态:
M 1 ( y 0 , y 1 ) , M 2 ( y 1 , y 2 ) , M 3 ( y 2 , y 3 ) , M 4 ( y 3 , y 4 ) M_1(y_0,y_1),M_2(y_1,y_2),M_3(y_2,y_3),M_4(y_3,y_4) M1​(y0​,y1​),M2​(y1​,y2​),M3​(y2​,y3​),M4​(y3​,y4​)
回顾之前做的例题,有观测序列 x x x,状态序列 y , i = 1 , 2 , 3 , n = 3 y,i=1,2,3, n=3 y,i=1,2,3,n=3,标记 y i ∈ { 1 , 2 } y_i\in\{1,2\} yi​∈{1,2},假设 y 0 = s t a r t = 1 , y 4 = s t o p = 1 y_0=start=1,y_4=stop=1 y0​=start=1,y4​=stop=1,各个位置的随机矩阵(可以理解为状态转移矩阵)为:
M 1 ( x ) = [ a 11 a 12 0 0 ] , M 2 ( x ) = [ b 11 b 12 b 21 b 22 ] M 3 ( x ) = [ c 11 c 12 c 21 c 22 ] , M 4 ( x ) = [ 1 0 1 0 ] \begin{aligned} M_1(x)= \begin{bmatrix} &a_{11}&a_{12}\\ &0&0 \end{bmatrix} &,M_2(x)= \begin{bmatrix} &b_{11}&b_{12}\\ &b_{21}&b_{22} \end{bmatrix} \\ M_3(x)= \begin{bmatrix} &c_{11}&c_{12}\\ &c_{21}&c_{22} \end{bmatrix} &,M_4(x)= \begin{bmatrix} &1&0\\ &1&0 \end{bmatrix} \end{aligned} M1​(x)=[​a11​0​a12​0​]M3​(x)=[​c11​c21​​c12​c22​​]​,M2​(x)=[​b11​b21​​b12​b22​​],M4​(x)=[​11​00​]​
其中:
M i ( x ) = [ exp ⁡ ( ∑ k = 1 K w k f k ( y i − 1 , y i ∣ x ) ) ] , i = 1 , 2 , … , n + 1 M_i(x)=\left[\exp\left(\sum_{k=1}^Kw_kf_k(y_{i-1},y_i|x)\right)\right], i=1,2,\dots,n+1 Mi​(x)=[exp(k=1∑K​wk​fk​(yi−1​,yi​∣x))],i=1,2,…,n+1
例如 M 1 ( x ) M_1(x) M1​(x):
M 1 ( x ) = [ a 11 = exp ⁡ ( ∑ k = 1 K w k f k ( y 0 = 1 , y 1 = 1 ∣ x ) ) a 12 = exp ⁡ ( ∑ k = 1 K w k f k ( y 0 = 1 , y 1 = 2 ∣ x ) ) a 21 = exp ⁡ ( ∑ k = 1 K w k f k ( y 0 = 2 , y 1 = 1 ∣ x ) ) a 22 = exp ⁡ ( ∑ k = 1 K w k f k ( y 0 = 2 , y 2 = 1 ∣ x ) ) ] M_1(x)= \begin{bmatrix} &a_{11} =\exp\left(\sum_{k=1}^Kw_kf_k(y_{0}=1,y_1=1|x)\right)&a_{12}=\exp\left(\sum_{k=1}^Kw_kf_k(y_{0}=1,y_1=2|x)\right)\\ &a_{21}=\exp\left(\sum_{k=1}^Kw_kf_k(y_{0}=2,y_1=1|x)\right)&a_{22}=\exp\left(\sum_{k=1}^Kw_kf_k(y_{0}=2,y_2=1|x)\right) \end{bmatrix} M1​(x)=⎣⎡​​a11​=exp(∑k=1K​wk​fk​(y0​=1,y1​=1∣x))a21​=exp(∑k=1K​wk​fk​(y0​=2,y1​=1∣x))​a12​=exp(∑k=1K​wk​fk​(y0​=1,y1​=2∣x))a22​=exp(∑k=1K​wk​fk​(y0​=2,y2​=1∣x))​⎦⎤​
显然, a 21 , a 22 a_{21}, a_{22} a21​,a22​为0。

将上述矩阵相乘:
∏ i = 1 4 M i ( y i − 1 , y i ∣ x ) \prod_{i=1}^{4}M_i(y_{i-1},y_i|x) i=1∏4​Mi​(yi−1​,yi​∣x)
可以得到各个路径的非规范化概率为:
a 11 b 11 c 11 , a 11 b 11 c 12 , a 11 b 12 c 21 , a 11 b 12 c 22 , a 12 b 21 c 11 , a 12 b 21 c 12 , a 12 b 22 c 21 , a 12 b 22 c 22 , a_{11}b_{11}c_{11},\quad a_{11}b_{11}c_{12},\quad a_{11}b_{12}c_{21},\quad a_{11}b_{12}c_{22},\quad \\ a_{12}b_{21}c_{11},\quad a_{12}b_{21}c_{12},\quad a_{12}b_{22}c_{21},\quad a_{12}b_{22}c_{22},\quad a11​b11​c11​,a11​b11​c12​,a11​b12​c21​,a11​b12​c22​,a12​b21​c11​,a12​b21​c12​,a12​b22​c21​,a12​b22​c22​,
规范化因子,即最终计算结果左上角的元素,为:
a 11 b 11 c 11 + a 11 b 11 c 12 + a 11 b 12 c 21 + a 11 b 12 c 22 + a 12 b 21 c 11 + a 12 b 21 c 12 + a 12 b 22 c 21 + a 12 b 22 c 22 a_{11}b_{11}c_{11}+ a_{11}b_{11}c_{12}+ a_{11}b_{12}c_{21}+ a_{11}b_{12}c_{22}+ \\ a_{12}b_{21}c_{11}+ a_{12}b_{21}c_{12}+ a_{12}b_{22}c_{21}+ a_{12}b_{22}c_{22} a11​b11​c11​+a11​b11​c12​+a11​b12​c21​+a11​b12​c22​+a12​b21​c11​+a12​b21​c12​+a12​b22​c21​+a12​b22​c22​

linear-CRF的三个基本问题

1,概率计算问题

即给定 linear-CRF的条件概率分布P(y|x), 在给定输入序列x和输出序列y时,计算条件概率 P ( y i ∣ x ) P(y_i|x) P(yi​∣x)和 P ( y i − 1 , y i ∣ x ) P(y_i−1,y_i|x) P(yi​−1,yi​∣x)以及对应的期望。

前向后向概率概述

要计算条件概率 P ( y i ∣ x ) P(y_i|x) P(yi​∣x)和 P ( y i − 1 , y i ∣ x ) P(y_{i-1},y_i|x) P(yi−1​,yi​∣x),可以使用前向后向算法来完成。

前向概率

定义 α i ( y i ∣ x ) \alpha_i(y_i|x) αi​(yi​∣x)表示序列位置i的标记是 y i y_i yi​时,在位置i之前的部分标记序列的非规范化概率。

而我们在上面定义了:
M i ( y i − 1 , y i ∣ x ) = e x p ( ∑ k = 1 K w k f k ( y i − 1 , y i , x , i ) ) M_i(y_{i-1},y_i |x) = exp(\sum\limits_{k=1}^Kw_kf_k(y_{i-1},y_i, x,i)) Mi​(yi−1​,yi​∣x)=exp(k=1∑K​wk​fk​(yi−1​,yi​,x,i))
用于计算在给定 y i − 1 y_{i-1} yi−1​时,从 y i − 1 y_{i-1} yi−1​转移到 y i y_i yi​的非规范化概率。

那么在得知在位置 i + 1 i+1 i+1处标记为 y i + 1 y_{i+1} yi+1​时,位置 i + 1 i+1 i+1之前的标记序列非规范化概率 α i + 1 ( y i + 1 ∣ x ) \alpha_{i+1}(y_{i+1}|x) αi+1​(yi+1​∣x)的递推公式:
α i + 1 ( y i + 1 ∣ x ) = α i ( y i ∣ x ) M i + 1 ( y i + 1 , y i ∣ x )      i = 1 , 2 , . . . , n + 1 \alpha_{i+1}(y_{i+1}|x) = \alpha_i(y_i|x)M_{i+1}(y_{i+1},y_i|x) \;\; i=1,2,...,n+1 αi+1​(yi+1​∣x)=αi​(yi​∣x)Mi+1​(yi+1​,yi​∣x)i=1,2,...,n+1
特别的,在起点处,我们令:
α 0 ( y 0 ∣ x ) = { 1 y 0 = s t a r t 0 e l s e \alpha_0(y_0|x)= \begin{cases} 1 & {y_0 =start}\\ 0 & {else} \end{cases} α0​(y0​∣x)={10​y0​=startelse​
由于在位置 i + 1 i+1 i+1处, y i + 1 y_{i+1} yi+1​的可能取值有m种,我们用 α i ( x ) \alpha_i(x) αi​(x)表示这m个可能取值对应的前向向量:
α i ( x ) = ( α i ( y i = 1 ∣ x ) , α i ( y i = 2 ∣ x ) , . . . α i ( y i = m ∣ x ) ) T \alpha_i(x) = (\alpha_i(y_i=1|x), \alpha_i(y_i=2|x), ... \alpha_i(y_i=m|x))^T αi​(x)=(αi​(yi​=1∣x),αi​(yi​=2∣x),...αi​(yi​=m∣x))T
则递推公式可以表示为:
α i + 1 T ( x ) = α i T ( x ) M i + 1 ( x ) \alpha_{i+1}^T(x) = \alpha_i^T(x)M_{i+1}(x) αi+1T​(x)=αiT​(x)Mi+1​(x)
后向概率

同样定义 β i ( y i ∣ x ) \beta_i(y_i|x) βi​(yi​∣x)表示序列位置i的标记是 y i y_i yi​时,在位置i之后的部分(i+1到n的部分)标记序列的非规范化概率。

那么在得知 i + 1 i+1 i+1处标记为 y ( i + 1 ) y_(i+1) y(​i+1)时,位置i之后的部分标记序列的非规范化概率 β i ( y i ∣ x ) \beta_i(y_i|x) βi​(yi​∣x)的递推公式:
β i ( y i ∣ x ) = M i + 1 ( y i , y i + 1 ∣ x ) β i + 1 ( y i + 1 ∣ x ) \beta_{i}(y_{i}|x) = M_{i+1}(y_i,y_{i+1}|x)\beta_{i+1}(y_{i+1}|x) βi​(yi​∣x)=Mi+1​(yi​,yi+1​∣x)βi+1​(yi+1​∣x)
特别的,在终点处定义:
β n + 1 ( y n + 1 ∣ x ) = { 1 y n + 1 = s t o p 0 e l s e \beta_{n+1}(y_{n+1}|x)= \begin{cases} 1 & {y_{n+1} =stop}\\ 0 & {else} \end{cases} βn+1​(yn+1​∣x)={10​yn+1​=stopelse​
如果用向量表示则有:
β i ( x ) = M i + 1 ( x ) β i + 1 ( x ) \beta_i(x) = M_{i+1}(x)\beta_{i+1}(x) βi​(x)=Mi+1​(x)βi+1​(x)
规范化因子 Z ( x ) Z(x) Z(x)的表达式为:
Z ( x ) = ∑ c = 1 m α n ( y c ∣ x ) = ∑ c = 1 m β 1 ( y c ∣ x ) Z(x) = \sum\limits_{c=1}^m\alpha_{n}(y_c|x) = \sum\limits_{c=1}^m\beta_{1}(y_c|x) Z(x)=c=1∑m​αn​(yc​∣x)=c=1∑m​β1​(yc​∣x)
向量化的表示为:
Z ( x ) = α n T ( x ) ∙ 1 = 1 T ∙ β 1 ( x ) Z(x) = \alpha_{n}^T(x) \bullet \mathbf{1} = \mathbf{1}^T \bullet \beta_{1}(x) Z(x)=αnT​(x)∙1=1T∙β1​(x)
其中,1是m维全1向量。

前向后向概率计算

有了前向后向概率的定义和计算方法,我们就很容易计算序列位置i的标记是 y i y_i yi​时的条件概率 P ( y i ∣ x ) P(y_i|x) P(yi​∣x):
P ( y i ∣ x ) = α i T ( y i ∣ x ) β i ( y i ∣ x ) Z ( x ) = α i T ( y i ∣ x ) β i ( y i ∣ x ) α n T ( x ) ∙ 1 P(y_i|x) = \frac{\alpha_i^T(y_i|x)\beta_i(y_i|x)}{Z(x)} = \frac{\alpha_i^T(y_i|x)\beta_i(y_i|x)}{ \alpha_{n}^T(x) \bullet \mathbf{1}} P(yi​∣x)=Z(x)αiT​(yi​∣x)βi​(yi​∣x)​=αnT​(x)∙1αiT​(yi​∣x)βi​(yi​∣x)​
也容易计算序列位置i的标记是 y i y_i yi​,位置 i − 1 i-1 i−1的标记是 y i − 1 y_{i-1} yi−1​时的条件概率 P ( y i − 1 , y i ∣ x ) P(y_{i-1},y_i|x) P(yi−1​,yi​∣x):
P ( y i − 1 , y i ∣ x ) = α i − 1 T ( y i − 1 ∣ x ) M i ( y i − 1 , y i ∣ x ) β i ( y i ∣ x ) Z ( x ) = α i − 1 T ( y i − 1 ∣ x ) M i ( y i − 1 , y i ∣ x ) β i ( y i ∣ x ) α n T ( x ) ∙ 1 \begin{aligned} P(y_{i-1},y_i|x) &= \frac{\alpha_{i-1}^T(y_{i-1}|x)M_i(y_{i-1},y_i|x)\beta_i(y_i|x)}{Z(x)} \\ &= \frac{\alpha_{i-1}^T(y_{i-1}|x)M_i(y_{i-1},y_i|x)\beta_i(y_i|x)}{ \alpha_{n}^T(x) \bullet \mathbf{1}} \end{aligned} P(yi−1​,yi​∣x)​=Z(x)αi−1T​(yi−1​∣x)Mi​(yi−1​,yi​∣x)βi​(yi​∣x)​=αnT​(x)∙1αi−1T​(yi−1​∣x)Mi​(yi−1​,yi​∣x)βi​(yi​∣x)​​

linear-CRF的期望计算

有了上一节计算的条件概率,我们也可以很方便的计算联合分布 P ( x , y ) P(x,y) P(x,y)与条件分布 P ( y ∣ x ) P(y|x) P(y∣x)的期望。

特征函数 f k ( x , y ) f_k(x,y) fk​(x,y)关于条件分布 P ( y ∣ x ) P(y|x) P(y∣x)的期望表达式是:
E P ( y ∣ x ) [ f k ] = E P ( y ∣ x ) [ f k ( y , x ) ] = ∑ i = 1 n + 1 ∑ y i − 1      y i P ( y i − 1 , y i ∣ x ) f k ( y i − 1 , y i , x , i ) = ∑ i = 1 n + 1 ∑ y i − 1      y i f k ( y i − 1 , y i , x , i ) α i − 1 T ( y i − 1 ∣ x ) M i ( y i − 1 , y i ∣ x ) β i ( y i ∣ x ) α n T ( x ) ∙ 1 \begin{aligned} E_{P(y|x)}[f_k] & = E_{P(y|x)}[f_k(y,x)] \\ & = \sum\limits_{i=1}^{n+1} \sum\limits_{y_{i-1}\;\;y_i}P(y_{i-1},y_i|x)f_k(y_{i-1},y_i,x, i) \\ & = \sum\limits_{i=1}^{n+1} \sum\limits_{y_{i-1}\;\;y_i}f_k(y_{i-1},y_i,x, i) \frac{\alpha_{i-1}^T(y_{i-1}|x)M_i(y_{i-1},y_i|x)\beta_i(y_i|x)}{ \alpha_{n}^T(x) \bullet \mathbf{1}} \end{aligned} EP(y∣x)​[fk​]​=EP(y∣x)​[fk​(y,x)]=i=1∑n+1​yi−1​yi​∑​P(yi−1​,yi​∣x)fk​(yi−1​,yi​,x,i)=i=1∑n+1​yi−1​yi​∑​fk​(yi−1​,yi​,x,i)αnT​(x)∙1αi−1T​(yi−1​∣x)Mi​(yi−1​,yi​∣x)βi​(yi​∣x)​​
同样可以计算联合分布 P ( x , y ) P(x,y) P(x,y)的期望:
E P ( x , y ) [ f k ] = ∑ x , y P ( x , y ) ∑ i = 1 n + 1 f k ( y i − 1 , y i , x , i ) = ∑ x P ‾ ( x ) ∑ y P ( y ∣ x ) ∑ i = 1 n + 1 f k ( y i − 1 , y i , x , i ) = ∑ x P ‾ ( x ) ∑ i = 1 n + 1 ∑ y i − 1      y i f k ( y i − 1 , y i , x , i ) α i − 1 T ( y i − 1 ∣ x ) M i ( y i − 1 , y i ∣ x ) β i ( y i ∣ x ) α n T ( x ) ∙ 1 \begin{aligned} E_{P(x,y)}[f_k] & = \sum\limits_{x,y}P(x,y) \sum\limits_{i=1}^{n+1}f_k(y_{i-1},y_i,x, i) \\& = \sum\limits_{x}\overline{P}(x) \sum\limits_{y}P(y|x) \sum\limits_{i=1}^{n+1}f_k(y_{i-1},y_i,x, i) \\& = \sum\limits_{x}\overline{P}(x)\sum\limits_{i=1}^{n+1} \sum\limits_{y_{i-1}\;\;y_i}f_k(y_{i-1},y_i,x, i) \frac{\alpha_{i-1}^T(y_{i-1}|x)M_i(y_{i-1},y_i|x)\beta_i(y_i|x)}{ \alpha_{n}^T(x) \bullet \mathbf{1}} \end{aligned} EP(x,y)​[fk​]​=x,y∑​P(x,y)i=1∑n+1​fk​(yi−1​,yi​,x,i)=x∑​P(x)y∑​P(y∣x)i=1∑n+1​fk​(yi−1​,yi​,x,i)=x∑​P(x)i=1∑n+1​yi−1​yi​∑​fk​(yi−1​,yi​,x,i)αnT​(x)∙1αi−1T​(yi−1​∣x)Mi​(yi−1​,yi​∣x)βi​(yi​∣x)​​
假设一共有K个特征函数,则 k = 1 , 2 , . . . K k=1,2,...K k=1,2,...K。

2,学习问题

在linear-CRF模型参数学习问题中,我们给定训练数据集X和对应的标记序列Y,K个特征函数 f k ( x , y ) f_k(x,y) fk​(x,y),需要学习linear-CRF的模型参数 w k w_k wk​和条件概率 P w ( y ∣ x ) P_w(y|x) Pw​(y∣x),其中条件概率 P w ( y ∣ x ) P_w(y|x) Pw​(y∣x)和模型参数 w k w_k wk​满足以下关系:
P w ( y ∣ x ) = P ( y ∣ x ) = 1 Z w ( x ) e x p ∑ k = 1 K w k f k ( x , y ) = e x p ∑ k = 1 K w k f k ( x , y ) ∑ y e x p ∑ k = 1 K w k f k ( x , y ) P_w(y|x) = P(y|x) = \frac{1}{Z_w(x)}exp\sum\limits_{k=1}^Kw_kf_k(x,y) = \frac{exp\sum\limits_{k=1}^Kw_kf_k(x,y)}{\sum\limits_{y}exp\sum\limits_{k=1}^Kw_kf_k(x,y)} Pw​(y∣x)=P(y∣x)=Zw​(x)1​expk=1∑K​wk​fk​(x,y)=y∑​expk=1∑K​wk​fk​(x,y)expk=1∑K​wk​fk​(x,y)​
所以我们的目标就是求出所有的模型参数 w k w_k wk​,这样条件概率 P w ( y ∣ x ) P_w(y|x) Pw​(y∣x)可以从上式计算出来。

梯度下降法

在使用梯度下降法求解模型参数之前,我们需要定义我们的优化函数,一般极大化条件分布 P w ( y ∣ x ) P_w(y|x) Pw​(y∣x)的对数似然函数如下:
L ( w ) = l o g ∏ x , y P w ( y ∣ x ) P ‾ ( x , y ) = ∑ x , y P ‾ ( x , y ) l o g P w ( y ∣ x ) L(w)= log\prod_{x,y}P_w(y|x)^{\overline{P}(x,y)} = \sum\limits_{x,y}\overline{P}(x,y)logP_w(y|x) L(w)=logx,y∏​Pw​(y∣x)P(x,y)=x,y∑​P(x,y)logPw​(y∣x)
其中 P ‾ ( x , y ) \overline{P}(x,y) P(x,y)为经验分布,可以从先验知识和训练集样本中得到,这点和最大熵模型类似。为了使用梯度下降法,我们现在极小化 f ( w ) = − L ( P w ) f(w) = -L(P_w) f(w)=−L(Pw​)如下:
f ( w ) = − ∑ x , y P ‾ ( x , y ) l o g P w ( y ∣ x ) = ∑ x , y P ‾ ( x , y ) l o g Z w ( x ) − ∑ x , y P ‾ ( x , y ) ∑ k = 1 K w k f k ( x , y ) = ∑ x P ‾ ( x ) l o g Z w ( x ) − ∑ x , y P ‾ ( x , y ) ∑ k = 1 K w k f k ( x , y ) = ∑ x P ‾ ( x ) l o g ∑ y e x p ∑ k = 1 K w k f k ( x , y ) − ∑ x , y P ‾ ( x , y ) ∑ k = 1 K w k f k ( x , y ) \begin{aligned}f(w) & = -\sum\limits_{x,y}\overline{P}(x,y)logP_w(y|x) \\ &= \sum\limits_{x,y}\overline{P}(x,y)logZ_w(x) - \sum\limits_{x,y}\overline{P}(x,y)\sum\limits_{k=1}^Kw_kf_k(x,y) \\& = \sum\limits_{x}\overline{P}(x)logZ_w(x) - \sum\limits_{x,y}\overline{P}(x,y)\sum\limits_{k=1}^Kw_kf_k(x,y) \\& = \sum\limits_{x}\overline{P}(x)log\sum\limits_{y}exp\sum\limits_{k=1}^Kw_kf_k(x,y) - \sum\limits_{x,y}\overline{P}(x,y)\sum\limits_{k=1}^Kw_kf_k(x,y) \end{aligned} f(w)​=−x,y∑​P(x,y)logPw​(y∣x)=x,y∑​P(x,y)logZw​(x)−x,y∑​P(x,y)k=1∑K​wk​fk​(x,y)=x∑​P(x)logZw​(x)−x,y∑​P(x,y)k=1∑K​wk​fk​(x,y)=x∑​P(x)logy∑​expk=1∑K​wk​fk​(x,y)−x,y∑​P(x,y)k=1∑K​wk​fk​(x,y)​
对w求导可以得到:
∂ f ( w ) ∂ w = ∑ x , y P ‾ ( x ) P w ( y ∣ x ) f ( x , y ) − ∑ x , y P ‾ ( x , y ) f ( x , y ) \frac{\partial f(w)}{\partial w} = \sum\limits_{x,y}\overline{P}(x)P_w(y|x)f(x,y) - \sum\limits_{x,y}\overline{P}(x,y)f(x,y) ∂w∂f(w)​=x,y∑​P(x)Pw​(y∣x)f(x,y)−x,y∑​P(x,y)f(x,y)
有了w的导数表达式,就可以用梯度下降法来迭代求解最优的w了。注意在迭代过程中,每次更新w后,需要同步更新 P w ( x , y ) P_w(x,y) Pw​(x,y)以用于下一次迭代的梯度计算。

拟牛顿法

条件随机场模型的学习通过拟牛顿法进行。

CRF的模型:
P ( y ∣ x ) = 1 Z ( x ) exp ⁡ ∑ i = 1 n w i f i ( y , x ) Z ( x ) = ∑ y exp ⁡ ∑ i = 1 n w i f i ( y , x ) \begin{aligned}P(y|x)&=\frac{1}{Z(x)}\exp\sum_{i=1}^nw_if_i(y,x)\\Z(x)&=\sum_y\exp\sum_{i=1}^nw_if_i(y,x)\end{aligned} P(y∣x)Z(x)​=Z(x)1​expi=1∑n​wi​fi​(y,x)=y∑​expi=1∑n​wi​fi​(y,x)​
已知训练数据的经验概率分布 P ~ ( x , y ) \widetilde {P}(x,y) P (x,y),条件概率分布的对数似然函数表示为:
L P ~ ( P w ) = l o g ∏ x , y P ( y ∣ x ) P ~ ( x , y ) = ∑ x , y P ~ ( x , y ) log ⁡ P ( y ∣ x ) L_{\widetilde {P}}(P_w)=log \prod_{x,y}{P}(y|x)^{\widetilde {P}(x,y)} =\sum \limits_{x,y}\widetilde {P}(x,y)\log{P}(y|x) LP ​(Pw​)=logx,y∏​P(y∣x)P (x,y)=x,y∑​P (x,y)logP(y∣x)
所以
L P ~ ( P w ) = ∑ x , y P ~ ( x , y ) log ⁡ P ( y ∣ x ) = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x , y P ~ ( x , y ) log ⁡ ( Z w ( x ) ) = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x , y P ~ ( x ) P ( y ∣ x ) log ⁡ ( Z w ( x ) ) = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x P ~ ( x ) log ⁡ ( Z w ( x ) ) ∑ y P ( y ∣ x ) = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x P ~ ( x ) log ⁡ ( Z w ( x ) ) \begin{aligned}L_{\widetilde {P}}(P_w)&=\sum \limits_{x,y}\widetilde {P}(x,y)\log{P}(y|x)\\&=\sum \limits_{x,y}\widetilde {P}(x,y)\sum \limits_{i=1}^{n}w_if_i(x,y) -\sum \limits_{x,y}\widetilde{P}(x,y)\log{(Z_w(x))}\\&=\sum \limits_{x,y}\widetilde {P}(x,y)\sum \limits_{i=1}^{n}w_if_i(x,y) -\sum \limits_{x,y}\widetilde{P}(x)P(y|x)\log{(Z_w(x))}\\&=\sum \limits_{x,y}\widetilde {P}(x,y)\sum \limits_{i=1}^{n}w_if_i(x,y) -\sum \limits_{x}\widetilde{P}(x)\log{(Z_w(x))}\sum_{y}P(y|x)\\&=\sum \limits_{x,y}\widetilde {P}(x,y)\sum \limits_{i=1}^{n}w_if_i(x,y) -\sum \limits_{x}\widetilde{P}(x)\log{(Z_w(x))}\end{aligned} LP ​(Pw​)​=x,y∑​P (x,y)logP(y∣x)=x,y∑​P (x,y)i=1∑n​wi​fi​(x,y)−x,y∑​P (x,y)log(Zw​(x))=x,y∑​P (x,y)i=1∑n​wi​fi​(x,y)−x,y∑​P (x)P(y∣x)log(Zw​(x))=x,y∑​P (x,y)i=1∑n​wi​fi​(x,y)−x∑​P (x)log(Zw​(x))y∑​P(y∣x)=x,y∑​P (x,y)i=1∑n​wi​fi​(x,y)−x∑​P (x)log(Zw​(x))​
以上推导用到了 ∑ y P ( y ∣ x ) = 1 \sum\limits_yP(y|x)=1 y∑​P(y∣x)=1

要极大化似然函数,即极小化 − L P ~ ( P w ) -L_{\widetilde {P}}(P_w) −LP ​(Pw​)。

所以学习的优化目标是:
min ⁡ w ∈ R n f ( w ) = ∑ x P ~ ( x ) log ⁡ ∑ y exp ⁡ ( ∑ i = 1 n w i f i ( y , x ) ) − ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) \min\limits_{w \in \R^n} f(w) =\sum \limits_{x}\widetilde{P}(x)\log{\sum_y\exp \left(\sum_{i=1}^nw_if_i(y,x)\right)} - \sum \limits_{x,y}\widetilde {P}(x,y)\sum \limits_{i=1}^{n}w_if_i(x,y) w∈Rnmin​f(w)=x∑​P (x)logy∑​exp(i=1∑n​wi​fi​(y,x))−x,y∑​P (x,y)i=1∑n​wi​fi​(x,y)
其梯度函数是
g ( w ) = ( ∂ f ( w ) ∂ w 1 , ∂ f ( w ) ∂ w 2 , … ∂ f ( w ) ∂ w n ) T g(w) = \left( \frac{\partial f(w)}{\partial w_1},\frac{\partial f(w)}{\partial w_2},\ldots \frac{\partial f(w)}{\partial w_n}\right)^T g(w)=(∂w1​∂f(w)​,∂w2​∂f(w)​,…∂wn​∂f(w)​)T
其中:
∂ f ( w ) ∂ w i = ∑ x , y P ~ ( x ) P w ( y ∣ x ) f i ( y , x ) − ∑ x , y P ~ ( x , y ) f i ( x , y ) \frac{\partial f(w)}{\partial w_i}=\sum \limits_{x,y}\widetilde{P}(x)P_w(y|x)f_i(y,x) - \sum \limits_{x,y}\widetilde {P}(x,y)f_i(x,y) ∂wi​∂f(w)​=x,y∑​P (x)Pw​(y∣x)fi​(y,x)−x,y∑​P (x,y)fi​(x,y)
向量化:
∂ f ( w ) ∂ w = ∑ x , y P ~ ( x ) P w ( y ∣ x ) f ( y , x ) − ∑ x , y P ~ ( x , y ) f ( x , y ) \frac{\partial f(w)}{\partial w}=\sum \limits_{x,y}\widetilde{P}(x)P_w(y|x)f(y,x) - \sum \limits_{x,y}\widetilde {P}(x,y)f(x,y) ∂w∂f(w)​=x,y∑​P (x)Pw​(y∣x)f(y,x)−x,y∑​P (x,y)f(x,y)

条件随机场学习的BFGS算法:

输入:特征函数 f 1 , f 2 , … , f n f_1,f_2,\ldots,f_n f1​,f2​,…,fn​ ;经验分布 P ~ ( x , y ) \widetilde P(x,y) P (x,y);

输出:最优参数 w ^ \hat w w^ ; 最优模型 P w ( y ∣ x ) P_w(y|x) Pw​(y∣x) 。

(1)选定初始点 w ( 0 ) w^{(0)} w(0) 取 B 0 \mathbf B_0 B0​ 为正定对称矩阵, k = 0 k=0 k=0。

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

(3)由 B k p k = − g k B_kp_k=-g_k Bk​pk​=−gk​ 求出 p k p_k pk​

(4)一维搜索:求 λ k \lambda_k λk​ 使得:
f ( w ( k ) + λ k p k ) = min ⁡ λ ≥ 0 f ( w ( k ) + λ p k ) f(w^{(k)}+\lambda_kp_k)= \min\limits_{\lambda \geq 0}f(w^{(k)}+\lambda p_k) f(w(k)+λk​pk​)=λ≥0min​f(w(k)+λpk​)
(5)置 w ( k + 1 ) = w ( k ) + λ k p k w^{(k+1)} = w^{(k)} + \lambda_k p_k w(k+1)=w(k)+λk​pk​

(6)计算 g k + 1 = g ( w ( k + 1 ) ) g_{k+1} = g(w^{(k+1)}) gk+1​=g(w(k+1)) ,若 g k + 1 = 0 g_{k+1} = 0 gk+1​=0 ,则停止计算,否则,按下式更新 B k + 1 B_{k+1} Bk+1​:
B k + 1 = B k + y k y k T y k T δ k − B k δ k δ k T B k δ k T B k δ k \mathbf B_{k+1} = \mathbf B_{k}+\frac{y_ky_k^T}{y_k^T\delta_k}-\frac{\mathbf B_k\delta_k \delta_k^T\mathbf B_k}{\delta_k^T\mathbf B_k\delta_k} Bk+1​=Bk​+ykT​δk​yk​ykT​​−δkT​Bk​δk​Bk​δk​δkT​Bk​​
其中:
y k = g k + 1 − g k , δ k = w ( k + 1 ) − w k y_k = g_{k+1} - g_k, \qquad\delta_k=w^{(k+1)} - w^{k} yk​=gk+1​−gk​,δk​=w(k+1)−wk
(7)置 k = k + 1 k=k+1 k=k+1 , 转(3)

3,预测问题

维特比算法解码思路

预测问题也可以理解为解码问题:给定条件随机场的条件概率 P ( y ∣ x ) P(y|x) P(y∣x)和一个观测序列x,要求出满足 P ( y ∣ x ) P(y|x) P(y∣x)最大的序列y。这个解码算法最常用的还是和HMM解码类似的维特比算法。

对于我们linear-CRF中的维特比算法,我们定义一个局部状态 δ i ( l ) \delta_i(l) δi​(l),表示在位置 i i i标记 l l l各个可能取值(1,2…m)对应的非规范化概率的最大值。之所以用非规范化概率是,规范化因子 Z ( x ) Z(x) Z(x)不影响最大值的比较。根据 δ i ( l ) \delta_i(l) δi​(l)的定义,我们递推在位置 i + 1 i+1 i+1标记 l l l的表达式为:
δ i + 1 ( l ) = max ⁡ 1 ≤ j ≤ m { δ i ( j ) + ∑ k = 1 K w k f k ( y i = j , y i + 1 = l , x , i ) }    , l = 1 , 2 , . . . m \delta_{i+1}(l) = \max_{1 \leq j \leq m}\{\delta_i(j) + \sum\limits_{k=1}^Kw_kf_k(y_{i} =j,y_{i+1} = l,x,i)\}\;, l=1,2,...m δi+1​(l)=1≤j≤mmax​{δi​(j)+k=1∑K​wk​fk​(yi​=j,yi+1​=l,x,i)},l=1,2,...m
我们需要用另一个局部状态 Ψ i + 1 ( l ) \Psi_{i+1}(l) Ψi+1​(l)来记录使 δ i + 1 ( l ) \delta_{i+1}(l) δi+1​(l)达到最大的位置 i i i的标记取值,这个值用来最终回溯最优解, Ψ i + 1 ( l ) \Psi_{i+1}(l) Ψi+1​(l)的递推表达式为:
Ψ i + 1 ( l ) = a r g    max ⁡ 1 ≤ j ≤ m { δ i ( j ) + ∑ k = 1 K w k f k ( y i = j , y i + 1 = l , x , i ) }    , l = 1 , 2 , . . . m \Psi_{i+1}(l) = arg\;\max_{1 \leq j \leq m}\{\delta_i(j) + \sum\limits_{k=1}^Kw_kf_k(y_{i} =j,y_{i+1} = l,x,i)\}\; ,l=1,2,...m Ψi+1​(l)=arg1≤j≤mmax​{δi​(j)+k=1∑K​wk​fk​(yi​=j,yi+1​=l,x,i)},l=1,2,...m

维特比算法流程

linear-CRF模型维特比算法流程:

输入:模型的K个特征函数,和对应的K个权重。观测序列 x = ( x 1 , x 2 , . . . x n ) x=(x_1,x_2,...x_n) x=(x1​,x2​,...xn​),可能的标记个数m

输出:最优标记序列 y ∗ = ( y 1 ∗ , y 2 ∗ , . . . y n ∗ ) y^* =(y_1^*,y_2^*,...y_n^*) y∗=(y1∗​,y2∗​,...yn∗​)

具体而言:

1,初始化:
δ 1 ( l ) = ∑ k = 1 K w k f k ( y 0 = s t a r t , y 1 = l , x , i ) }    , l = 1 , 2 , . . . m Ψ 1 ( l ) = s t a r t    , l = 1 , 2 , . . . m \delta_{1}(l) = \sum\limits_{k=1}^Kw_kf_k(y_{0} =start,y_{1} = l,x,i)\}\;, l=1,2,...m \\ \Psi_{1}(l) = start\;, l=1,2,...m δ1​(l)=k=1∑K​wk​fk​(y0​=start,y1​=l,x,i)},l=1,2,...mΨ1​(l)=start,l=1,2,...m
2,对于 i = 1 , 2... n − 1 i=1,2...n-1 i=1,2...n−1进行递推:
δ i + 1 ( l ) = max ⁡ 1 ≤ j ≤ m { δ i ( j ) + ∑ k = 1 K w k f k ( y i = j , y i + 1 = l , x , i ) }    , l = 1 , 2 , . . . m \delta_{i+1}(l) = \max_{1 \leq j \leq m}\{\delta_i(j) + \sum\limits_{k=1}^Kw_kf_k(y_{i} =j,y_{i+1} = l,x,i)\}\;, l=1,2,...m δi+1​(l)=1≤j≤mmax​{δi​(j)+k=1∑K​wk​fk​(yi​=j,yi+1​=l,x,i)},l=1,2,...m

Ψ i + 1 ( l ) = a r g    max ⁡ 1 ≤ j ≤ m { δ i ( j ) + ∑ k = 1 K w k f k ( y i = j , y i + 1 = l , x , i ) }    , l = 1 , 2 , . . . m \Psi_{i+1}(l) = arg\;\max_{1 \leq j \leq m}\{\delta_i(j) + \sum\limits_{k=1}^Kw_kf_k(y_{i} =j,y_{i+1} = l,x,i)\}\; ,l=1,2,...m Ψi+1​(l)=arg1≤j≤mmax​{δi​(j)+k=1∑K​wk​fk​(yi​=j,yi+1​=l,x,i)},l=1,2,...m

3, i i i迭代到n-1时停止:
y n ∗ = a r g    max ⁡ 1 ≤ j ≤ m δ n ( j ) y_n^* = arg\;\max_{1 \leq j \leq m}\delta_n(j) yn∗​=arg1≤j≤mmax​δn​(j)
4,回溯:
y i ∗ = Ψ i + 1 ( y i + 1 ∗ )    , i = n − 1 , n − 2 , . . . 1 y_i^* = \Psi_{i+1}(y_{i+1}^*)\;, i=n-1,n-2,...1 yi∗​=Ψi+1​(yi+1∗​),i=n−1,n−2,...1
最终得到的标记序列为:
y ∗ = ( y 1 ∗ , y 2 ∗ , . . . y n ∗ ) y^* =(y_1^*,y_2^*,...y_n^*) y∗=(y1∗​,y2∗​,...yn∗​)

linear-CRF模型维特比算法实例

假设输入的都是三个词的句子,即 X = ( X 1 , X 2 , X 3 ) X=(X_1,X_2,X_3) X=(X1​,X2​,X3​),输出的词性标记为 Y = ( Y 1 , Y 2 , Y 3 ) Y=(Y_1,Y_2,Y_3) Y=(Y1​,Y2​,Y3​),其中 Y ∈ { 1 ( 名 词 ) , 2 ( 动 词 ) } Y \in \{1(名词),2(动词)\} Y∈{1(名词),2(动词)}。

这里只标记出取值为1的特征函数如下:
t 1 = t 1 ( y i − 1 = 1 , y i = 2 , x , i ) , i = 2 , 3 ,      λ 1 = 1 t 2 = t 2 ( y 1 = 1 , y 2 = 1 , x , 2 )      λ 2 = 0.6 t 3 = t 3 ( y 2 = 2 , y 3 = 1 , x , 3 )      λ 3 = 1 t 4 = t 4 ( y 1 = 2 , y 2 = 1 , x , 2 )      λ 4 = 1 t 5 = t 5 ( y 2 = 2 , y 3 = 2 , x , 3 )      λ 5 = 0.2 s 1 = s 1 ( y 1 = 1 , x , 1 )      μ 1 = 1 s 2 = s 2 ( y i = 2 , x , i ) , i = 1 , 2 ,      μ 2 = 0.5 s 3 = s 3 ( y i = 1 , x , i ) , i = 2 , 3 ,      μ 3 = 0.8 s 4 = s 4 ( y 3 = 2 , x , 3 )      μ 4 = 0.5 t_1 =t_1(y_{i-1} = 1, y_i =2,x,i), i =2,3,\;\;\lambda_1=1\\ t_2 =t_2(y_1=1,y_2=1,x,2)\;\;\lambda_2=0.6\\ t_3 =t_3(y_2=2,y_3=1,x,3)\;\;\lambda_3=1\\ t_4 =t_4(y_1=2,y_2=1,x,2)\;\;\lambda_4=1\\ t_5 =t_5(y_2=2,y_3=2,x,3)\;\;\lambda_5=0.2\\ s_1 =s_1(y_1=1,x,1)\;\;\mu_1 =1\\ s_2 =s_2( y_i =2,x,i), i =1,2,\;\;\mu_2=0.5\\ s_3 =s_3( y_i =1,x,i), i =2,3,\;\;\mu_3=0.8\\ s_4 =s_4(y_3=2,x,3)\;\;\mu_4 =0.5 t1​=t1​(yi−1​=1,yi​=2,x,i),i=2,3,λ1​=1t2​=t2​(y1​=1,y2​=1,x,2)λ2​=0.6t3​=t3​(y2​=2,y3​=1,x,3)λ3​=1t4​=t4​(y1​=2,y2​=1,x,2)λ4​=1t5​=t5​(y2​=2,y3​=2,x,3)λ5​=0.2s1​=s1​(y1​=1,x,1)μ1​=1s2​=s2​(yi​=2,x,i),i=1,2,μ2​=0.5s3​=s3​(yi​=1,x,i),i=2,3,μ3​=0.8s4​=s4​(y3​=2,x,3)μ4​=0.5
求标记(1,2,2)的最可能的标记序列。

首先初始化:
δ 1 ( 1 ) = μ 1 s 1 = 1        δ 1 ( 2 ) = μ 2 s 2 = 0.5        Ψ 1 ( 1 ) = Ψ 1 ( 2 ) = s t a r t \delta_1(1) = \mu_1s_1 = 1\;\;\;\delta_1(2) = \mu_2s_2 = 0.5\;\;\;\Psi_{1}(1) =\Psi_{1}(2) = start δ1​(1)=μ1​s1​=1δ1​(2)=μ2​s2​=0.5Ψ1​(1)=Ψ1​(2)=start
接下来开始递推,先看位置2的:
δ 2 ( 1 ) = m a x { δ 1 ( 1 ) + t 2 λ 2 + μ 3 s 3 , δ 1 ( 2 ) + t 4 λ 4 + μ 3 s 3 } = m a x { 1 + 0.6 + 0.8 , 0.5 + 1 + 0.8 } = 2.4        \begin{aligned} \delta_2(1) &= max\{\delta_1(1) + t_2\lambda_2+\mu_3s_3, \delta_1(2) + t_4\lambda_4+\mu_3s_3 \} \\ &= max\{1+0.6+0.8,0.5+1+0.8\} \\ &=2.4\;\;\;\\ \end{aligned} δ2​(1)​=max{δ1​(1)+t2​λ2​+μ3​s3​,δ1​(2)+t4​λ4​+μ3​s3​}=max{1+0.6+0.8,0.5+1+0.8}=2.4​

Ψ 2 ( 1 ) = 1 \Psi_{2}(1) =1 Ψ2​(1)=1

δ 2 ( 2 ) = m a x { δ 1 ( 1 ) + t 1 λ 1 + μ 2 s 2 , δ 1 ( 2 ) + μ 2 s 2 } = m a x { 1 + 1 + 0.5 , 0.5 + 0.5 } = 2.5        \begin{aligned} \delta_2(2) &= max\{\delta_1(1) + t_1\lambda_1+\mu_2s_2, \delta_1(2) + \mu_2s_2\}\\& = max\{1+1+0.5,0.5+0.5\} \\&=2.5\;\;\; \end{aligned} δ2​(2)​=max{δ1​(1)+t1​λ1​+μ2​s2​,δ1​(2)+μ2​s2​}=max{1+1+0.5,0.5+0.5}=2.5​

Ψ 2 ( 2 ) = 1 \Psi_{2}(2) =1 Ψ2​(2)=1

再看位置3的:
δ 3 ( 1 ) = m a x { δ 2 ( 1 ) + μ 3 s 3 , δ 2 ( 2 ) + t 3 λ 3 + μ 3 s 3 } = m a x { 2.4 + 0.8 , 2.5 + 1 + 0.8 } = 4.3 \begin{aligned} \delta_3(1) &= max\{\delta_2(1) +\mu_3s_3, \delta_2(2) + t_3\lambda_3+\mu_3s_3\} \\&= max\{2.4+0.8,2.5+1+0.8\} \\&=4.3 \end{aligned} δ3​(1)​=max{δ2​(1)+μ3​s3​,δ2​(2)+t3​λ3​+μ3​s3​}=max{2.4+0.8,2.5+1+0.8}=4.3​

Ψ 3 ( 1 ) = 2 \Psi_{3}(1) =2 Ψ3​(1)=2

δ 3 ( 2 ) = m a x { δ 2 ( 1 ) + t 1 λ 1 + μ 4 s 4 , δ 2 ( 2 ) + t 5 λ 5 + μ 4 s 4 } = m a x { 2.4 + 1 + 0.5 , 2.5 + 0.2 + 0.5 } = 3.9 \begin{aligned} \delta_3(2) &= max\{\delta_2(1) +t_1\lambda_1 + \mu_4s_4, \delta_2(2) + t_5\lambda_5+\mu_4s_4\} \\&= max\{2.4+1+0.5,2.5+0.2+0.5\} \\&=3.9 \end{aligned} δ3​(2)​=max{δ2​(1)+t1​λ1​+μ4​s4​,δ2​(2)+t5​λ5​+μ4​s4​}=max{2.4+1+0.5,2.5+0.2+0.5}=3.9​

Ψ 3 ( 2 ) = 1 \Psi_{3}(2) =1 Ψ3​(2)=1

最终得到 y 3 ∗ = arg ⁡    m a x { δ 3 ( 1 ) , δ 3 ( 2 ) } y_3^* =\arg\;max\{\delta_3(1), \delta_3(2)\} y3∗​=argmax{δ3​(1),δ3​(2)}递推回去,得到:
y 2 ∗ = Ψ 3 ( 1 ) = 2      y 1 ∗ = Ψ 2 ( 2 ) = 1 y_2^* = \Psi_3(1) =2\;\;y_1^* = \Psi_2(2) =1 y2∗​=Ψ3​(1)=2y1∗​=Ψ2​(2)=1
即最终的结果为 ( 1 , 2 , 1 ) (1,2,1) (1,2,1),即标记为(名词,动词,名词)。

参考文章:

《统计学习方法 第二版》

条件随机场CRF(一)从随机场到线性链条件随机场

条件随机场CRF(二) 前向后向算法评估标记序列概率

条件随机场CRF(三) 模型学习与维特比算法解码

CRF(条件随机场)与Viterbi(维特比)算法原理详解 摘自:https://mp.weixin.qq.com/s/GXbFxlExDtjtQe-OPwfokA https://www.cnblogs.com/zhibei/p/9391014.html CRF(Conditional Random Field),即条件随机场。经常被用于序列标注,其中包括词性标注,分词,命名实体识别等领域。 Viterbi算法,即维特比算法。... 阅读详情

相关推荐

CRF条件随机场的原理、例子、公式推导和应用

1、CRF的概括总结2、图模型之间的关系朴素贝叶斯、HMM、逻辑回归、CRF等图模型关系如下:朴素贝叶斯、HMM、逻辑回归、CRF对比如下表所示:更多HMM可参考:刘启林:HMM隐马尔可夫模型的例子、原理、计算和应用437 赞同 · 39 评论文章更多LR逻辑回归模型可参考:刘启林:LR逻辑回归模型的原理、公式推导、Python实现和应用141 赞同 · 12 评论文章3、CRF的发展简史机器学习阶段:CRF深度学习阶段:BiLSTM-CRF、BiLSTM-CNN-CRF。

WitsMakeMen的专栏 3774

条件随机场CRF(二) 前向后向算法评估标记序列概率

    条件随机场CRF(一)从随机场到线性链条件随机场     条件随机场CRF(二) 前向后向算法评估标记序列概率     条件随机场CRF(三) 模型学习与维特比算法解码     在条件随机场CRF(一)中我们总结了CRF的模型,主要是linear-CRF的模型原理。本文就继续讨论linear-CRF需要解决的三个问题:评估,学习和解码。这三个问题和HMM是非常类似的,本文关注于第一个问题:...

weixin_33953384的博客 921

TensorFlow学习(十四):条件随机场CRF

参考: Module: tf.contrib.crf 还有一些其他的函数可以到官方文档里面查看和使用. Ⅰ tf.contrib.crf.crf_log_likelihood crf_log_likelihood(inputs,tag_indices,sequence_lengths,transition_params=None) 在一个条件随机场里面计算标签序列的log-l

谢小小XH 1万+

11_条件随机场CRF2_统计学习方法

文章目录三、条件随机场的概率计算问题3.1 前向-后向算法3.1.1 前向向量3.1.2 后向向量3.2 一些概率与期望值的计算3.2.1 单个状态概率3.2.2 两个状态的联合概率3.2.3 一些期望四、条件随机场的学习算法五、条件随机场的预测算法六、HMM与线性链条件随机场的比较模型策略方法 条件随机场内容较多,方便阅读,分成2个部分 上接:11_条件随机场CRF1_统计学习方法 三、条件随机...

Hayden的博客 484

运动目标成像必学:5分钟搞懂keystone变换原理与避坑指南

本文深入浅出地解析了雷达信号处理中的Keystone变换原理,它是解决运动目标距离徙动问题的关键技术。文章通过直观比喻和简化公式,阐述了该变换如何通过变量代换实现距离与慢时间的解耦合,将倾斜轨迹“掰直”,从而提升成像与检测性能。同时,文中重点指出了实际应用中关于大速度场景、插值误差、多目标处理及高阶运动补偿等关键避坑点,为工程实践提供了宝贵指南。

ios99的博客 403

LEfSe分析避坑指南:如何解决R语言中的常见错误与优化结果可视化

本文提供了R语言中进行LEfSe(线性判别分析)微生物组差异分析的全流程避坑指南。详细解析了从数据格式准备、参数调优(如显著性水平与LDA阈值)、结果可靠性验证到使用ggplot2进行高级可视化的实战技巧,帮助用户规避常见错误,获得更稳健、美观的分析结果。

weixin_29098391的博客 361

Machine-Learning:第4章 条件随机场

第4章 条件随机场本章思维导图本章内容概要马尔可夫过程隐马尔科夫算法条件随机场 (以线性链条件随机场为例) 本章思维导图 (待更新) 本章内容概要 马尔可夫过程 定义 假设一个随机过程中,tnt_ntn​ 时刻的状态xnx_nxn​的条件发布,只与其前一状态xn−1x_{n-1}xn−1​ 相关,即: P(xn∣x1,x2,...,xn−1)=P(xn∣xn−1) P(x_n|x_1,...

sinat_38059712的博客 620

STM32控制气泵和电磁阀实现

2、mos管的选型:mos管选择主要注意两个参数即可,一是导通的电流,二是耐压值,并且常用NMOS管,根据要求,气泵和电磁阀供电电压为12V,所以选择的mos管耐压值要大于12V,这里选用耐压值为30V的MOS管,并且导通电流为5.8A,如下图。1、气泵和电磁阀的开和关均为开关量,实现控制方法有多种,比如继电器,但是继电器动作有噪声且体积较大,更好的方法为使用mos管。使用STM32控制气泵和电磁阀的开和关,气泵和电磁阀的供电电压为12V。最终实现单片机控制气泵和电磁阀的开和关。

jacklood的博客 1万+

条件随机场(CRF)原理小结(2)

条件随机场(CRF)原理小结(2)6. 线性链CRF的3个基本问题6.1 问题1:概率计算问题6.1.1 前向-后向算法6.1.2 概率计算6.1.3 期望值的计算6.2 问题2:学习问题6.2.1 改进的迭代尺度法6.2.2 梯度下降法6.3 问题3:预测问题维特比算法描述模型评价完整代码地址参考 本博客中使用到的完整代码请移步至: 我的github:https://github.com/qingyujean/Magic-NLPer,求赞求星求鼓励~~~ HMM系列文章: 条件随机场(CRF)原理小结(

小白的专栏 568

Windows 2000系统下载与全套镜像安装:从镜像校验到驱动兼容性实战指南

操作系统镜像文件是安装系统的核心载体,其完整性直接影响部署成败。哈希校验作为验证文件一致性的基础手段,能有效避免因镜像损坏导致的安装中断。对于已停止支持的操作系统,如Windows 2000,其镜像获取与安装更具挑战性,但它在工业控制、专用终端及怀旧技术研究中仍有不可替代的价值。通过理解镜像命名规则、服务包等级(如SP4)及引导方式,结合虚拟机或老硬件平台,可以顺利完成部署。同时,驱动兼容性是老系统运行的关键瓶颈,需针对性解决网卡、显卡等外设驱动问题。本文从镜像下载、校验到安装配置,系统梳理了Windows

weixin_32050773的博客 341

Flink CDC 中 StartupOptions 模式详解

Flink CDC 的 StartupOptions 模式用于指定作业启动时从源数据读取数据的起始位置,不同的模式适用于不同的业务场景,可满足多样化的数据处理需求,主要有 Initial 模式、Earliest 模式、Latest 模式、SpecificOffset 模式和 Timestamp 模式。

RodJohnsonDoctor的专栏 849

CRF 条件随机场

目录 1. 基本概念 1.1 各种随机场 1.2 CRF模型的训练原理 1.3 条件随机场的参数化形式 1.4条件随机场对应的简化概率表达 2. 例子 定义CRF中的特征函数 从特征函数到概率 CRF与逻辑回归的比较 CRF与HMM的比较 HMM和CRF区别 3. Tensorflow实现 tf.contrib.crf (1)tf.contrib.......

满腹的小不甘 6817

C#实现将DataGridView中数据导出到Excel (附完整源码)

C#实现将DataGridView中数据导出到Excel (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1588

条件随机场(CRF)的详细解释

条件随机场(CRF)结合了最大熵模型和隐马尔可夫模型的特点,是一种无向图模型,其中相邻的上下文信息或状态会影响当前预测,常用于标注或分析序列资料,如自然语言文字或是生物序列

deephub 2万+

基于生存结局(生存分析/COX回归)的中介效应分析

① 建立观察变量OVB和中介变量MVB的回归模型(注意:这里根据mediation包的介绍,需要构建的是probit模型,而不是logist回归模型,网上有很多的代码用的logistic回归,结果自己跑的时候发现报错,我在这里陷了很久;为了方便演示,我们生成了一个协变量(Age)、一个连续型观察变量(liaOVC)、一个二分类观察变量(OVB)、一个连续型中介变量(MVC)、一个二分类中介变量(MVB)以及最后的结局变量(生存时间[time],生存结局[stats])。

m0_61863309的博客 1万+

FAST-LIVO2 源码精读(五):IMU 运动模型、离散传播与去畸变原理

本文是「FAST-LIVO2 激光-惯性-视觉里程计源码精读」专栏第五篇,数学基础篇章(第 4–7 篇)的第二篇。上一篇在 SO(3) 流形上建立了姿态表示与右扰动模型;本篇聚焦 IMU 预积分的核心问题:一帧激光扫描横跨约 100 ms,帧内每一个点的采集时刻各不相同,如何利用 200 Hz 的 IMU 量测将全帧点云统一对齐到帧末时刻?答案完整封装在(587 行)的函数中,本篇逐段拆解其四阶段逻辑,并推导协方差矩阵随误差状态转移矩阵F_x逐帧演化的物理含义。

PX4-SLAM-PNC 156

机器学习——条件随机场(CRF)原理

机器学习——条件随机场(CRF)原理 1. 条件随机场(CRF)基本原理 1.1 马尔科夫随机场的引入 在一个无向图中,任意两个具有边连接的节点x,y,如果从x节点走的y节点是具有一定概率数值的,则这种图被称为无向概率图。马尔科夫随机场也是一种无向的概率图。 1.1.1 团与极大团 在无向图中,任意两个节点之间具有边连接的各个节点集合构成了一个团。在各个团中,如果再加入一个节点,就不能再构成团的节...

hei653779919的博客 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

条件随机场 (CRF) 原理及其在语义分割中的应用

条件随机场 (CRF) 原理及其在语义分割中的应用

ningaiiiii的博客 1385

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

条件随机场 CRF

CRF 这种随机概率算法,从一种序列推算另一组序列,虽然现在大语言模型可以更好的解决 NER 问题,无需大量训练,对硬件资源有限的项目来讲 CRF 也可以采用。

hawk2014bj的博客 1179

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

条件随机场CRF

Author: 李文乐; Email: cocoleYY@outlook.com Datawhale CRF简介 条件随机场(conditional random field,简称 CRF)是给定一组输入随机变量条 件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场,是一种鉴别式机率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列...

Datawhale 1720

【NLP 36、CRF条件随机场 —— 源码解读】

① 输入序列 X,输出序列为 y的路径分数:A为转移矩阵(代表前一个字向后一个字转移的概率),P为发射矩阵(过神经网络的每个字对应的概率值),s(X, y)代表任意一条路径的正确概率得分(这里的路径分数可以看作结合两矩阵,再做 log 运算后的)② 输入序列X,预测输出序列为y的概率:对上式做softmax,对 步骤 ① 得到的所有路径分数做归一化依然希望这个路径分数是最大的其他路径的总概率得分之和的 log 值正确路径的总概率得分CRF会明显拖慢训练速度,以效率的角度考虑可以不使用CRF。

m0_73983707的博客 1591

NLP-初学条件随机场(CRF)

说明:学习笔记,内容参考《机器学习》《数学之美》和七月在线课件 条件随机场 定义1: 条件随机场(conditional random field,简称CRF)是一种判别式无向图模型。生成式模型是直接对联合分布进行建模,而判别式模型则是对条件分布进行建模,隐马尔可夫模型就是生成式模型。——周志华《机器学习》 定义2: 条件随机场模型是Lafferty于2001年,在最大...

spring_willow的博客 3660

全连接条件随机场_条件随机场CRF详解

一,条件随机场需要解决的问题:CRF条件随机场,很适合做分类器相关的任务。假设有一些的照片,我们要去给打标签,在吃饭或是在跑步等等,一张照片上只有张着大的大嘴,他可能是在吃饭也可能是在唱歌,这时候单单依靠照片本身的信息,不足以准确的判断照片中的人在干啥!但是如果把这些照片按照时间的顺序来排列起来,它的前一张照片是在吃饭,那有极大的可能这张大嘴也是在吃饭。自然语言处理中的词性标注(POS Taggi...

weixin_39616565的博客 1483

条件随机场CRF的理解

条件随机场CRF与Attention机制结合,又发展成了Transformer-CRF、BERT-BiLSTM-CRF等模型,使中文分词、命名实体识别、词性标注效果又有显著提高。条件随机场(Conditional Random Field,CRF)是自然语言处理的基础模型,广泛应用于中文分词、命名实体识别、词性标注等标注场景。条件随机场CRF与深度学习结合,产生了BiLSTM-CRF、BiLSTM-CNN-CRF等模型,在中文分词、命名实体识别、词性标注也取得不错的效果。

Matrix-yang的博客 1376

CRF条件随机场进行中文分词(基于CRF++)

三、实验原理: 1、 条件随机场: 生成式概率图模型是直接对联合分布进行建模,如隐马尔可夫模型和马尔可夫随机场都是生成式模型。判别式概率图模型是对条件分布进行建模,如条件随机场Conditional Random Field:CRF。 条件随机场是用来标注和划分序列结构数据的概率化结构模型。对于给定的输出,标识序列Y和观测序列X,条件随机场通过定义条件概率P(Y|X),而不是联合概率分布P(X, Y)来描述模型。 条件随机场试图对多个随机变量(它们代表标记序列)在给定观测序列的值之后的条件概率进行建

Alocus的博客 2375

条件随机场原理(CRF)

条件随机场(Conditional Random Fiedl)是指给定一组输入的随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。条件随机场打破了隐马尔可夫模型的俩个假设(观测独立性假设和齐次马尔可夫性假设),使输入向量和输出向量之间的关系更加明显,从而使其在文本处理等问题上的表现更加优越。概率无向图模型又称马尔可夫随机场,它是一个可以由无向图表示的联合概率分布。设无向图G=(V,E)G=(V,E)G=(V,E)表示概率分布P(Y)P(Y)P(Y),其中结v∈V

weixin_52862386的博客 2601
上一篇: EM算法应用:k均值聚类(k-means)和高斯混合模型(GMM)
下一篇: 【统计学习方法】感知机笔记
VariableX
博客等级 码龄7年 142粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值