第11章--条件随机场(CRF)---(11)

1.概述

  • 给入一组输入随机变量的条件下另一组输出随机变量的条件概率分布
  • 特点:假设输出随机变量构成隐马尔可夫随机场
  • 线性链条件随机场——应用与标注问题,学习方法是极大似然估计或正则化的极大似然估计
  • 条件随机场可以应用于不同的测试问题

2.概率无向图模型

(1)相关定义

  • 图:由结点及连接结点的边组成的集合
  • 无向图:指边没有方向的图
  • 概率图模型:指由图表示的概率分布
  • 无向图表示的随机变量之间存在着:成对马尔可夫性,局部马尔可夫性和全局马尔可夫性
  • 成对马尔可夫性:设 u u u v v v是无向图 G G G中任意两个没有边连接的结点,结点 u u u v v v分别对应随机变量 Y u Y_u Yu Y v , Y_v, Yv其他结点为 O O O,对应的随机变量组是 Y O Y_O YO。给定随机变量组 Y O Y_O YO的条件下随机变量 Y u Y_u Yu Y v Y_v Yv是条件独立的,即 P ( Y u , Y v ∣ Y O ) = P ( Y u ∣ Y O ) P ( Y v ∣ Y O ) P(Y_u,Y_v|Y_O)=P(Y_u|Y_O)P(Y_v|Y_O) P(Yu,YvYO)=P(YuYO)P(YvYO)
  • 局部马尔可夫性:设 v ∈ V v\in V vV是无向图 G G G中任意一个结点,结点 W W W是与 v v v有边连接的所有节点, O O O v , W v,W v,W以外的其他所有结点。在给定随机变量组 Y W Y_W YW的条件下随机变量 Y v Y_v Yv与随机变量组 Y O Y_O YO是独立的,即 P ( Y v , Y O ∣ Y W ) = P ( Y V ∣ Y W ) P ( Y O ∣ Y W ) P(Y_v,Y_O|Y_W)=P(Y_V|Y_W)P(Y_O|Y_W) P(Yv,YOYW)=P(YVYW)P(YOYW),在 P ( Y O ∣ Y W ) > 0 P(Y_O|Y_W)>0 P(YOYW)>0时,等价地 P ( Y v ∣ Y W ) = P ( Y v ∣ Y W , Y O ) P(Y_v|Y_W)=P(Y_v|Y_W,Y_O) P(YvYW)=P(YvYW,YO)
  • 全局马尔可夫性:设结点集合 A , B A,B A,B是在无向图 G G G中被结点集合 C C C分开的任意结点集合,结点集合 A , B A,B A,B C C C所对应的随机变量组分别为 Y A , Y B Y_A,Y_B YA,YB Y C Y_C YC。给定随机变量 Y C Y_C YC条件下随机变量 Y A , Y B Y_A,Y_B YA,YB是条件独立的,即 P ( Y A , Y B ∣ Y C ) = P ( Y A ∣ Y C ) P ( Y B ∣ Y C ) P(Y_A,Y_B|Y_C)=P(Y_A|Y_C)P(Y_B|Y_C) P(YA,YBYC)=P(YAYC)P(YBYC)

(2)概率无向图模型

  • 定义:设有联合概率分布 P ( Y ) P(Y) P(Y),由无向图 G = ( V , E ) G=(V,E) G=(V,E)表示,在图 G G G中,结点表示随机变量,边表示随机变量之间的依赖关系。如果联合概率分布 P ( Y ) P(Y) P(Y)满足成对、局部或全局马尔可夫性,就称此联合概率分布为概率无向图模型,或马尔可夫随机场。
  • 概率无向图模型是由无向图表示的联合概率分布
  • 最大特点:易于因子分解,可以分解为无向图最大团上的正值函数的乘积的形式

(3)因子分解

  • 团:无向图中任何两个结点均有边连接的结点子集称为团
  • 最大团:一个无向图的团中不能再增加任何一个结点使其成为更大的团,称为最大团
  • 概率无向图模型的因子分解:将联合分布表示为其最大团上的随机变量的函数的乘积
  • Hammersley-Clifford定理: P ( Y ) = 1 C ∏ C Ψ C ( Y C ) Z = ∑ Z ∏ C Ψ C ( Y C ) P(Y)=\frac 1C\prod_C\Psi_C(Y_C)\quad\quad Z=\sum_Z\prod_C\Psi_C(Y_C) P(Y)=C1CΨC(YC)Z=ZCΨC(YC),C为最大团, Ψ C ( Y C ) \Psi_C(Y_C) ΨC(YC)表示严格正函数。

3.条件随机场的定义与形式

(1)条件随机场

  • 定义:是给定输入随机变量 X X X条件下,输出随机变量 Y Y Y的条件概率分布模型。
  • 最大特点:是假设输出变量之间的联合概率分布构成概率无向图模型,即马尔可夫随机场。
  • 条件随机场是判别模型。

(2)线性链条件随机场

  • 是定义在观测序列与标记序列上的条件随机场。
  • 一般表示为给定观测序列条件下的标记序列的条件概率分布,由参数化的对数线性模型表示。
  • 模型包含特征及相应的权值,特征是定义在线性链的边与结点上的。
  • 线性链条件随机场的数学表达式是
    P ( y ∣ x ) = 1 Z ( x ) exp ⁡ ( ∑ 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 \left(\sum_{i, k} \lambda_{k} t_{k}\left(y_{i-1}, y_{i}, x, i\right)+\sum_{i, l} \mu_{l} s_{l}\left(y_{i}, x, i\right)\right) P(yx)=Z(x)1expi,kλktk(yi1,yi,x,i)+i,lμlsl(yi,x,i)其中, Z ( x ) = ∑ y exp ⁡ ( ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l s l ( y i , x , i ) ) Z(x)=\sum_{y} \exp \left(\sum_{i, k} \lambda_{k} t_{k}\left(y_{i-1}, y_{i}, x, i\right)+\sum_{i, l} \mu_{l} s_{l}\left(y_{i}, x, i\right)\right) Z(x)=yexp(i,kλktk(yi1,yi,x,i)+i,lμlsl(yi,x,i)) t k t_k tk(转移特征)是定义在边上的特征函数,依赖当前和前一个位置, s l s_l sl(状态特征)是定义在结点的特征函数,依赖当前位置。
  • 线性链条件随机场的概率计算通常利用前向-后向算法。
  • 线性链条件随机场的一个重要应用是标注。维特比算法是给定观测序列求条件概率最大的标记序列的方法。

4.条件随机场的学习算法

  • 通常是极大似然估计方法或正则化的极大似然估计,即在给定训练数据下,通过极大化训练数据的对数似然函数以估计模型参数。
  • 具体的算法有改进的迭代尺度算法(IIS)、梯度下降法、拟牛顿法等。

(1)条件随机场模型学习的改进的迭代尺度算法——IIS算法

  • 输入:特征函数 t 1 , t 2 , . . . , t K 1 , s 1 , s 2 , . . . , s K 2 t_1,t_2,...,t_{K_1},s_1,s_2,...,s_{K_2} t1,t2,...,tK1s1,s2,...,sK2;经验分布 P ~ ( x , y ) ; \tilde{P}(x,y); P~(x,y);
  • 输出:参数估计值 w ~ \tilde{w} w~;模型 P w ~ P_{\tilde{w}} Pw~
  • 计算过程:
    1)对所有的 k k k,取初值 w k = 0 w_k=0 wk=0
    2)对每一个 k k k,
    \quad (a)计算, δ k , δ K 1 + l \delta_k,\delta_{K_1+l} δkδK1+l:
    \quad\quad k = 1 , 2 , . . . , K 1 k=1,2,...,K_1 k=1,2,...,K1时, δ k \delta_k δk ∑ x , y P ~ ( x ) P ( y ∣ x ) ∑ i = 1 n + 1 t k ( y i − 1 , y i , x , i ) exp ⁡ ( δ k T ( x , y ) ) = E P ~ [ t k ] \sum_{x,y}\tilde{P}(x)P(y|x)\sum_{i=1}^{n+1}t_k(y_{i-1},y_i,x,i)\exp(\delta_kT(x,y))=E_{\tilde{P}}[t_k] x,yP~(x)P(yx)i=1n+1tk(yi1,yi,x,i)exp(δkT(x,y))=EP~[tk]的解
    \quad\quad k = K 1 + l , l = 1 , 2 , . . . , K 2 k=K_1+l,l=1,2,...,K_2 k=K1+ll=1,2,...,K2时, δ K 1 + l \delta_{K_1+l} δK1+l ∑ x , y P ~ ( x ) P ( y ∣ x ) ∑ i = 1 n + 1 t k ( y i , x , i ) exp ⁡ ( δ K 1 + l T ( x , y ) ) = E P ~ [ s l ] \sum_{x,y}\tilde{P}(x)P(y|x)\sum_{i=1}^{n+1}t_k(y_i,x,i)\exp(\delta_{K_1+l}T(x,y))=E_{\tilde{P}}[s_l] x,yP~(x)P(yx)i=1n+1tk(yi,x,i)exp(δK1+lT(x,y))=EP~[sl]的解
    \quad (b)更新 w k : = w k + δ k w_k:=w_k+\delta_k wk:=wk+δk
    3)如果不是所有的 w k w_k wk都收敛,重复步骤2)

(2)条件随机场模型学习的BFGS算法——拟牛顿法

  • 输入:特征函数 f 1 , f 2 , . . . , f n f_1,f_2,...,f_{n} f1,f2,...,fn;经验分布 P ~ ( X , Y ) ; \tilde{P}(X,Y); P~(X,Y);
  • 输出:最优参数值 w ^ \hat{w} w^;最优模型 P w ^ ( y ∣ x ) P_{\hat{w}}(y|x) Pw^(yx)
  • 计算过程:
    1)选定初始点 w ( 0 ) w^{(0)} w(0),取 B 0 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 Bkpk=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_{\lambda\geq0}f(w^{(k)}+\lambda p_k) f(w(k)+λkpk)=minλ0f(w(k)+λpk)
    5)置 w ( k + 1 ) = w ( k ) + λ k p k w^{(k+1)}=w^{(k)}+\lambda_kp_k w(k+1)=w(k)+λkpk
    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 + y k y k T y k T δ k − B k δ k δ k T B k δ k T B k δ k 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} Bk+1=Bk+ykTδkykykTδkTBkδkBkδkδkTBk
    7)置 k = k + 1 k=k+1 k=k+1,转3)

5.条件随机场的预测算法——维特比算法

  • 输入:模型特征向量 F ( y , x ) F(y,x) F(y,x)和权值向量 w w w,观测序列 x = ( x 1 , x 2 , . . . , x n ) x=(x_1,x_2,...,x_n) x=(x1,x2,...,xn)
  • 输出:最优路径 y ∗ = ( y 1 ∗ , y 2 ∗ , . . . , y n ∗ ) y^*=(y_1^*,y_2^*,...,y_n^*) y=(y1,y2,...,yn)
  • 计算过程:
    1)初始化: δ 1 ( j ) = w ⋅ F 1 ( y 0 = s t a r t , y 1 = j , x ) , j = 1 , 2 , . . . , m \delta_1(j)=w\cdot F_1(y_0=start,y_1=j,x),\quad j=1,2,...,m δ1(j)=wF1(y0=start,y1=j,x),j=1,2,...,m
    2)递推:对 i = 1 , 2 , . . . , n i=1,2,...,n i=1,2,...,n计算 δ i ( l ) = max ⁡ 1 ≤ j ≤ m { δ i − 1 ( j ) + w ⋅ F i ( y i − 1 = j , y i = l , x ) , l = 1 , 2 , . . . , m } \delta_i(l)=\max_{1\leq j\leq m}\lbrace \delta_{i-1}(j)+w\cdot F_i(y_{i-1}=j,y_i=l,x),\quad l=1,2,...,m \rbrace δi(l)=1jmmax{δi1(j)+wFi(yi1=j,yi=l,x),l=1,2,...,m} Ψ i ( l ) = arg ⁡ max ⁡ 1 ≤ j ≤ m { δ i − 1 ( j ) + w ⋅ F i ( y i − 1 = j , y i = l , x ) , l = 1 , 2 , . . . , m } \Psi_i(l)=\arg\max_{1\leq j\leq m}\lbrace \delta_{i-1}(j)+w\cdot F_i(y_{i-1}=j,y_i=l,x),\quad l=1,2,...,m \rbrace Ψi(l)=arg1jmmax{δi1(j)+wFi(yi1=j,yi=l,x),l=1,2,...,m}
    3)终止: max ⁡ y ( w ⋅ F ( y , x ) ) = max ⁡ 1 ≤ j ≤ m δ n ( j ) , y n ∗ = arg ⁡ max ⁡ 1 ≤ j ≤ m δ n ( j ) \max_y(w\cdot F(y,x))=\max_{1\leq j\leq m}\delta_n(j),\quad y_n^*=\arg\max_{1\leq j\leq m}\delta_n(j) maxy(wF(y,x))=max1jmδn(j),yn=argmax1jmδn(j)
    4)返回路径: y i ∗ = Ψ i + 1 ( y i + 1 ∗ ) , i = n − 1 , n − 2 , . . . , 1 y_i*=\Psi_{i+1}(y_{i+1}^*),\quad i=n-1,n-2,...,1 yi=Ψi+1(yi+1),i=n1,n2,...,1,求得最优路径 y ∗ = ( y 1 ∗ , y 2 ∗ , . . . , y n ∗ ) y^*=(y_1^*,y_2^*,...,y_n^*) y=(y1,y2,...,yn)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值