條件隨機場(CRF)筆記

Prerequisite

  • Markov隨機場
  • 好天氣

HMM(隱馬爾科夫模型)

定義:

我們從一個模型,二個假設,三個問題去簡單認識下HMM。
在這裏插入圖片描述
其中 Y = ( y 1 , y 2 , , y T ) T Y=(y_1,y_2,\cdots,y_T)^T 爲隱變量(狀態), X = ( x 1 , x 2 , , x T ) T X=(x_1,x_2,\cdots,x_T)^T 爲觀測變量(輸出)。
一個模型
是指HMM是由參數集合 λ = ( π , A , B ) \lambda=(\pi, A,B) 決定的。其中 π \pi 是指 p ( y i ) p(y_i) ,即是初始狀態的概率向量。 A A 爲狀態轉移矩陣,即是 A i j = p ( y t + 1 = q j y t = q i ) A_{ij}=p(y_{t+1}=q_j\vert y_{t}=q_i) B B爲發射矩陣 ,即是 B i j = p ( x i = v j y i = q i ) B_{ij}=p(x_i=v_j\vert y_i=q_i) 。其中 q , v q,v 分別是 y i x i y_i和x_i 的取值集合。
二個假設
1.齊次馬爾科夫假設:
即是說,任意狀態 y i y_i 只會與前一狀態 y i 1 y_{i-1} 有關,說:
P ( y i x 1 , x 2 , , x i 1 , y 1 , y 2 , , y i 1 ) = P ( y i y i 1 ) P(y_i\vert x_1,x_2,\cdots,x_{i-1},y_1,y_2,\cdots,y_{i-1})=P(y_i\vert y_{i-1})
2.觀測獨立性假設:
即是說,任意觀測(輸出)只依賴於該時刻的狀態,說:
P ( x i x 1 , x 2 , , x i 1 , y 1 , y 2 , , y i 1 , y i ) = P ( x i y i ) P(x_i\vert x_1,x_2,\cdots,x_{i-1},y_1,y_2,\cdots,y_{i-1},y_i)=P(x_i\vert y_i)
三個問題
1.概率計算: P ( X λ ) P(X\vert \lambda)
2.學習問題:計算出 λ \lambda
3.預測問題: P ( Y X , λ ) P(Y\vert X,\lambda)

存在的問題:

如果是在詞性標註問題中,那麼HMM的假設就過於嚴格了,因爲顯然詞性應該和整個文本都有關係。因此CRF就彌補了這一點。

CRF

在這裏插入圖片描述
其中 Y = ( y 1 , y 2 , , y T ) T Y=(y_1,y_2,\cdots,y_T)^T 爲隱變量(狀態), X = ( x 1 , x 2 , , x T ) T X=(x_1,x_2,\cdots,x_T)^T 爲觀測變量(輸入)。

定義:

CRF是指給定隨機變量集合X的條件下,Y隨機變量集合構成馬爾科夫隨機場,由其性質即是有:
P ( Y v X , Y w , w v ) = P ( Y V X , Y w , w v ) P(Y_v\vert X,Y_w,w\ne v)=P(Y_V\vert X,Y_w,w\sim v)
v w v , w w v v 其中v,w指隨機變量集合的第v,w個元素,w\sim v表示與v有邊相連
等式的含義是, Y v Y_v 只與給定 X X 和與 v v 有邊相連的節點 w w 有關。

因子分解:

表示:

Markov隨機場的因子分解通式爲:
P ( Y ) = 1 Z i = 1 N ϕ c i ( Y c i ) Z = Y i = 1 N ϕ c i ( Y c i ) P(Y)=\frac{1}{Z}\prod_{i=1}^N\phi_{c_i}(Y_{c_i})\\ Z=\sum_Y\prod_{i=1}^N\phi_{c_i}(Y_{c_i})
c i i Y c i i Z 使 Y P ( Y ) = 1 其中,c_i表示第i個最大團,Y_{c_i}表示第i個最大團的隨機變量集合。Z是歸一化因子,\\使得\sum_YP(Y)=1
在這裏插入圖片描述

爲了表示方便,引入了startstop
條件隨機場的因子分解:
這裏,我們定義 i N ϕ c i ( Y c i ) \prod_i^N\phi_{c_i}(Y_{c_i}) 爲:
i N ϕ c i ( Y c i ) = exp { t , k λ k t k ( y t 1 , y t , x , i ) + t , l μ l s l ( y t , x , i ) } \prod_i^N\phi_{c_i}(Y_{c_i})=\exp\{\sum_{t,k}\lambda_kt_k(y_{t-1},y_t,x,i)+\sum_{t,l}\mu_ls_l(y_t,x,i)\}
t k , s l λ k , μ l 其中,t_k,s_l爲特徵函數,\lambda_k,\mu_l爲權值
Z = Y exp { t , k λ k t k ( y t 1 , y t , x , i ) + t , l μ l s l ( y t , x , i ) } Z=\sum_Y\exp\{\sum_{t,k}\lambda_kt_k(y_{t-1},y_t,x,i)+\sum_{t,l}\mu_ls_l(y_t,x,i)\}

化簡(向量形式):

e x p { t , k λ k t k ( y t 1 , y t , x , i ) + t , l μ l s l ( y t , x , i ) } = e x p { t ( k K λ k t k ( y t 1 , y t , x , i ) + t L μ l s l ( y t , x , i ) ) } λ = [ λ 1 λ 2 λ k ] t = [ t 1 t 2 t k ] μ = [ μ 1 μ 2 μ l ] s = [ s 1 s 2 s l ] t ( k K λ k t k ( y t 1 , y t , x , i ) + l L μ l s l ( y t , x , i ) ) = t λ T t + μ T s t , s y i , y i 1 = λ T t t + μ T t s θ = [ λ μ ] H = [ t t t s ] P ( Y ) = 1 Z exp { t , k λ k t k ( y t 1 , y t , x , i ) + t , l μ l s l ( y t , x , i ) } = 1 Z exp ( θ T H ) \begin{aligned}&exp\{\sum_{t,k}\lambda_kt_k(y_{t-1},y_t,x,i)+\sum_{t,l}\mu_ls_l(y_t,x,i)\}\\ &=exp\{\sum_{t}\big (\sum_{k}^K\lambda_kt_k(y_{t-1},y_t,x,i)+\sum_{t}^L\mu_ls_l(y_t,x,i)\big)\}\\ 其中:&\lambda=\begin{bmatrix}\lambda_1\\\lambda_2\\\cdot\\\cdot\\\cdot\\ \lambda_k \end{bmatrix}\vec t=\begin{bmatrix} t_1\\t_2\\\cdot\\\cdot\\\cdot\\ t_k\end{bmatrix}\mu=\begin{bmatrix} \mu_1\\\mu_2\\\cdot\\\cdot\\\cdot\\ \mu_l \end{bmatrix}\vec s=\begin{bmatrix} s_1\\s_2\\\cdot\\\cdot\\\cdot\\ s_l\end{bmatrix}\\ &\sum_t\big(\sum_{k}^K\lambda_kt_k(y_{t-1},y_t,x,i)+\sum_{l}^L\mu_ls_l(y_t,x,i)\big)\\ &=\sum_t\lambda^T\vec t+\mu^T\vec s\\ 其中,\vec t,\vec s爲y_i,y_{i-1}的函數:\\ &=\lambda^T\sum_t\vec t+\mu^T\sum_t\vec s\\ &令:\theta=\begin{bmatrix}\lambda\\\mu\end{bmatrix} H=\begin{bmatrix} \sum_t\vec t\\ \sum_t\vec s\end{bmatrix}\\ 則:\\ \\P(Y)&=\frac{1}{Z}\exp\{\sum_{t,k}\lambda_kt_k(y_{t-1},y_t,x,i)+\sum_{t,l}\mu_ls_l(y_t,x,i)\}\\ &=\frac{1}{Z}\exp{(\theta^TH)}\\ \end{aligned}
Z = Y exp ( θ T H ) \qquad\qquad\qquad\qquad\qquad Z=\sum\limits_Y\exp(\theta^TH)

求解問題:

邊緣概率求解

前向後向算法
其主要思想就是找到關於勢函數的遞推式。
P ( y t = a ) = y 0 , y 1 y t 1 , y t + 1 , , y T 1 Z i T ϕ c i ( Y c i ) = y 0 , y 1 y t 1 , y t + 1 , , y T 1 Z ϕ c 1 ( Y c 1 ) ϕ c 2 ( Y c 2 ) ϕ c N ( Y c N ) ϕ c i ( Y c i ) = ϕ c i ( y i 1 , y i ) = 1 Z y T y T 1 ϕ c T ( y T 1 , y T ) y 2 ϕ c 3 ( y 2 , y 3 ) y 1 ϕ c 2 ( y 1 , y 2 ) y 0 ϕ c 1 ( y 0 , y 1 ) Δ l e f t = y t 1 ϕ c t ( y t 1 , y t ) y 2 ϕ c 3 ( y 2 , y 3 ) y 1 ϕ c 2 ( y 1 , y 2 ) y 0 ϕ c 1 ( y 0 , y 1 ) α t ( i ) = y t 1 ϕ c t ( y t 1 , y t = i ) y t 2 ϕ c t 1 ( y t 2 , y t 1 ) y 2 ϕ c 3 ( y 2 , y 3 ) y 1 ϕ c 2 ( y 1 , y 2 ) y 0 ϕ c 1 ( y 0 , y 1 ) α t 1 ( j ) = y t 2 ϕ c t 1 ( y t 2 , y t 1 = j ) y 2 ϕ c 3 ( y 2 , y 3 ) y 1 ϕ c 2 ( y 1 , y 2 ) y 0 ϕ c 1 ( y 0 , y 1 ) α t ( i ) = j ϕ c i ( y t 1 = j , y t = i ) α t 1 ( j ) : Δ r i g h t = y T y T 1 ϕ c T ( y T 1 , y T ) y t + 2 ϕ c t + 3 ( y t + 2 , y t + 3 ) y t + 1 ϕ c t + 2 ( y t + 1 , y t + 2 ) ϕ c t + 1 ( y t = i , y t + 1 ) β t ( i ) = y t + 1 ϕ c t + 1 ( y t = i , y t + 1 ) y t + 2 ϕ c t + 2 ( y t + 1 , y t + 2 ) y T 2 ϕ c T 2 ( y T 3 , y T 2 ) y T 1 ϕ c T 1 ( y T 2 , y T 1 ) y T ϕ c T ( y T 1 , y T ) β t + 1 ( j ) = y t + 2 ϕ c t + 2 ( y t + 1 = j , y t + 2 ) y T 2 ϕ c T 2 ( y T 3 , y T 2 ) y T 1 ϕ c T 1 ( y T 2 , y T 1 ) y T ϕ c T ( y T 1 , y T ) β t ( i ) = j ϕ t + 1 ( y t = i , y t + 1 = j ) β t + 1 ( j ) : α t ( i ) = j ϕ c i ( y t 1 = j , y t = i ) α t 1 ( j ) β t ( i ) = j ϕ t + 1 ( y t = i , y t + 1 = j ) β t + 1 ( j ) P ( y t = a ) = 1 Z α t ( a ) β t ( a ) \begin{aligned}P(y_t=a)=&\sum_{y_0,y_1\cdots y_{t-1},y_{t+1},\cdots ,y_T}\frac{1}{Z}\prod_i^T\phi_{c_i}(Y_{c_i})\\ &=\sum_{y_0,y_1\cdots y_{t-1},y_{t+1},\cdots ,y_T}\frac{1}{Z}\phi_{c_1}(Y_{c_1})\phi_{c_2}(Y_{c_2})\cdots\phi_{c_N}(Y_{c_N})\\ 其中:\phi_{c_i}(Y_{c_i})=\phi_{c_i}(y_{i-1},y_i)\\ &=\frac{1}{Z}\sum_{y_T}\sum_{y_{T-1}}\phi_{c_T}(y_{T-1},y_T)\cdots\sum_{y_2}\phi_{c_3}(y_2,y_3)\sum_{y_1}\phi_{c_2}(y_1,y_2)\sum_{y_0}\phi_{c_1}(y_0,y_1)\\ 令:\\ &\Delta_{left}=\sum_{y_{t-1}}\phi_{c_{t}}(y_{t-1},y_t)\cdots\sum_{y_2}\phi_{c_3}(y_2,y_3)\sum_{y_1}\phi_{c_2}(y_1,y_2)\sum_{y_0}\phi_{c_1}(y_0,y_1)\\ &\alpha_t(i)=\sum_{y_{t-1}}\phi_{c_{t}}(y_{t-1},y_t=i)\sum_{y_{t-2}}\phi_{c_{t-1}}(y_{t-2},y_{t-1})\cdots\sum_{y_2}\phi_{c_3}(y_2,y_3)\sum_{y_1}\phi_{c_2}(y_1,y_2)\sum_{y_0}\phi_{c_1}(y_0,y_1)\\ &\alpha_{t-1}(j)=\sum_{y_{t-2}}\phi_{c_{t-1}}(y_{t-2},y_{t-1}=j)\cdots\sum_{y_2}\phi_{c_3}(y_2,y_3)\sum_{y_1}\phi_{c_2}(y_1,y_2)\sum_{y_0}\phi_{c_1}(y_0,y_1)\\ 可以發現有:\\ &\alpha_{t}(i)=\sum_j\phi_{c_i}(y_{t-1}=j,y_t=i)\alpha_{t-1}(j)\\ 令:\\ &\Delta_{right}=\sum_{y_{T}}\sum_{y_{T-1}}\phi_{c_T}(y_{T-1},y_T)\cdots\sum_{y_{t+2}}\phi_{c_{t+3}}(y_{t+2},y_{t+3})\sum_{y_{t+1}}\phi_{c_{t+2}}(y_{t+1},y_{t+2})\phi_{c_{t+1}}(y_t=i,y_{t+1})\\ &\beta_t(i)=\sum_{y_{t+1}}\phi_{c_{t+1}}(y_{t}=i,y_{t+1})\sum_{y_{t+2}}\phi_{c_{t+2}}(y_{t+1},y_{t+2})\cdots\sum_{y_{T-2}}\phi_{c_{T-2}}(y_{T-3},y_{T-2})\sum_{y_{T-1}}\phi_{c_{T-1}}(y_{T-2},y_{T-1})\sum_{y_{T}}\phi_{c_T}(y_{T-1},y_T)\\ &\beta_{t+1}(j)=\sum_{y_{t+2}}\phi_{c_{t+2}}(y_{t+1}=j,y_{t+2})\cdots\sum_{y_{T-2}}\phi_{c_{T-2}}(y_{T-3},y_{T-2})\sum_{y_{T-1}}\phi_{c_{T-1}}(y_{T-2},y_{T-1})\sum_{y_{T}}\phi_{c_T}(y_{T-1},y_T)\\ 可以發現有:\\ &\beta_t(i)=\sum_j\phi_{t+1}(y_t=i,y_{t+1}=j)\beta_{t+1}(j)\\ 綜上有遞推式:\\ &\alpha_{t}(i)=\sum_j\phi_{c_i}(y_{t-1}=j,y_t=i)\alpha_{t-1}(j)\\ &\beta_t(i)=\sum_j\phi_{t+1}(y_t=i,y_{t+1}=j)\beta_{t+1}(j)\\ 那麼:\\ &P(y_t=a)=\frac{1}{Z}\alpha_t(a)\beta_t(a)\\ \end{aligned} y0,y1yt1,yt+1,,yTZ1iTϕci(Yci)=y0,y

相關文章
相關標籤/搜索