概率无向图模型,又称为马尔科夫随机场,是一个可以由无向图表示的联合概率分布。如果联合概率分布P(Y)满足成对、局部或全局马尔科夫性,就称此联合概率分布为概率无向图模型,或马尔科夫条件随机场。
条件随机场是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出变量构成马尔科夫随机场。线性链条件随机场是无向图、判别模型。 通过因子分解,条件随机场的条件概率分布表示为其最大团中随机变量的函数的乘积形式,函数一般由两种特征组成,一种是转移特征,另一种为状态特征。
z = ∑ x ∏ i = 1 K φ i ( x c i ) z=\sum_x\prod_{i=1}^K\varphi_i(x_{c_i}) z=x∑i=1∏Kφi(xci)
用最初的形式,令 p ( y ∣ x ) = 1 z ∏ t = 1 T φ t ( y t − 1 , y t , x ) p(y|x)=\frac{1}{z}\prod_{t=1}^{T}\varphi_t(y_{t-1},y_t,x) p(y∣x)=z1∏t=1Tφt(yt−1,yt,x)
p ( y t = i ∣ x ) = ∑ y 1 : y t − 1 , y t + 1 , y T 1 z ∏ t ′ = 1 T φ t ( y t ′ − 1 , y t ′ , x ) = δ l e f t ⋅ δ r i g h t p(y_t=i|x)=\sum \limits_{y_1:y_{t-1},y_{t+1},y_T}\frac{1}{z}\prod_{t^{'}=1}^{T}\varphi_t(y_{t^{'}-1},y_{t^{'}},x)\\ =\delta_{left} \cdot \delta_{right} p(yt=i∣x)=y1:yt−1,yt+1,yT∑z1t′=1∏Tφt(yt′−1,yt′,x)=δleft⋅δright
δ l e f t = ∑ y 1 , y t − 1 φ 1 ( y 0 , y 1 , x ) ⋅ ⋅ φ t ( y t − 1 , y t = i , x ) = ∑ y t − 1 φ ( y t − 1 , y t = i , x ) ⋅ ⋅ ⋅ ∑ y 0 φ ( y 0 , y 1 , x ) ( 从 后 向 前 计 算 ) \delta_{left}=\sum \limits_{y_1,y_{t-1}}\varphi_1(y_{0},y_1,x) \cdot \cdot \varphi_t(y_{t-1},y_t=i,x)\\ =\sum_{y_{t-1}}\varphi(y_{t-1},y_t=i,x) \cdot \cdot \cdot \sum_{y_0}\varphi(y_0,y_1,x)(从后向前计算) δleft=y1,yt−1∑φ1(y0,y1,x)⋅⋅φt(yt−1,yt=i,x)=yt−1∑φ(yt−1,yt=i,x)⋅⋅⋅y0∑φ(y0,y1,x)(从后向前计算)
δ r i g h t = ∑ y t + 1 , y T φ t + 1 ( y t = i , y t + 1 , x ) ⋅ ⋅ φ T ( y T − 1 , y T , x ) = ∑ y T φ T ( y T − 1 , y T , x ) ⋅ ⋅ ⋅ ∑ y t + 1 φ t + 1 ( y t = i , y t + 1 , x ) \delta_{right}=\sum \limits_{y_{t+1},y_{T}}\varphi_{t+1}(y_{t}=i,y_{t+1},x) \cdot \cdot \varphi_T(y_{T-1},y_T,x)\\ =\sum_{y_T}\varphi_T(y_{T-1},y_T,x)\cdot \cdot \cdot \sum_{y_{t+1}}\varphi_{t+1}(y_{t}=i,y_{t+1},x) δright=yt+1,yT∑φt+1(yt=i,yt+1,x)⋅⋅φT(yT−1,yT,x)=yT∑φT(yT−1,yT,x)⋅⋅⋅yt+1∑φt+1(yt=i,yt+1,x)
计算递推公式:
令:
α t ( i ) : 所 有 y 0 ⋅ ⋅ y t − 1 相 关 的 势 函 数 φ , y t = i 的 左 半 部 势 函 数 φ α t − 1 ( j ) : 所 有 y 0 ⋅ ⋅ y t − 2 相 关 的 势 函 数 φ , y t − 1 = j 的 左 半 部 势 函 数 φ \alpha_t(i):所有y_0 \cdot \cdot y_{t-1}相关的势函数\varphi,y_t=i的左半部势函数\varphi\\ \alpha_{t-1}(j):所有y_0 \cdot \cdot y_{t-2}相关的势函数\varphi,y_{t-1}=j的左半部势函数\varphi αt(i):所有y0⋅⋅yt−1相关的势函数φ,yt=i的左半部势函数φαt−1(j):所有y0⋅⋅yt−2相关的势函数φ,yt−1=j的左半部势函数φ
为 α t − 1 ( j ) 添 加 右 半 部 的 势 函 数 φ , 再 积 分 \alpha_{t-1}(j)添加右半部的势函数\varphi,再积分 αt−1(j)添加右半部的势函数φ,再积分:
∑ j φ t ( y t − 1 = j , y t = i , x ) α t − 1 ( j ) = α t ( i ) = δ l e f t \sum_{j}\varphi_t(y_{t-1}=j,y_t=i,x)\alpha_{t-1}(j)=\alpha_t(i)=\delta_{left} j∑φt(yt−1=j,yt=i,x)αt−1(j)=αt(i)=δleft
同理得:
β t ( i ) = δ r i g h t \beta_t(i)=\delta_{right} βt(i)=δright
所以:
p ( y t = i ∣ x ) = 1 z α t ( i ) β t ( i ) p(y_t=i|x)=\frac{1}{z}\alpha_t(i)\beta_t(i) p(yt=i∣x)=z1αt(i)βt(i)
θ ^ = a r g max θ ∏ i = 1 N p ( y i ∣ x i ) λ ^ , η ^ = a r g max λ , η ∏ i = 1 N p ( y i ∣ x i ) \hat \theta=arg\max \limits_{\theta}\prod_{i=1}^{N}p(y^i|x^i)\\ \hat \lambda , \hat \eta=arg\max \limits_{\lambda,\eta}\prod_{i=1}^{N}p(y^i|x^i) θ^=argθmaxi=1∏Np(yi∣xi)λ^,η^=argλ,ηmaxi=1∏Np(yi∣xi)
用概率密度函数向量形式,令
p ( y ∣ x ) = 1 z ( x , λ , η ) e x p ∑ t = 1 T [ λ T ⋅ f ( y t − 1 , y t , x ) + η T ⋅ g ( y t , x ) ] p(y|x)=\frac{1}{z(x,\lambda,\eta)}exp\sum_{t=1}^{T}[\lambda^{T}\cdot f(y_{t-1},y_t,x)+\eta^T\cdot g(y_t, x)] p(y∣x)=z(x,λ,η)1expt=1∑T[λT⋅f(yt−1,yt,x)+ηT⋅g(yt,x)]
λ ^ , η ^ = a r g max λ , η l o g ∏ i = 1 N p ( y i ∣ x i ) = a r g max λ , η ∑ i = 1 N l o g p ( y i ∣ x i ) = a r g max λ , η ∑ i = 1 N ( − l o g z ( x i , λ , η ) + ∑ t = 1 T [ λ T f ( y t − 1 , y t , x i ) + η T g ( y t , x i ) ] ) = a r g max λ , η L ( λ , η , x i ) \hat \lambda , \hat \eta=arg\max \limits_{\lambda,\eta}log \prod_{i=1}^Np(y^i|x^i)\\ =arg\max \limits_{\lambda,\eta}\sum_{i=1}^Nlogp(y^i|x^i)\\ =arg\max \limits_{\lambda,\eta}\sum_{i=1}^N(-logz(x^i,\lambda,\eta)+\sum_{t=1}^T[\lambda^{T}f(y_{t-1},y_t,x^i)+\eta^Tg(y_t, x^i)])\\ =arg\max \limits_{\lambda,\eta}L(\lambda,\eta,x^i) λ^,η^=argλ,ηmaxlogi=1∏Np(yi∣xi)=argλ,ηmaxi=1∑Nlogp(yi∣xi)=argλ,ηmaxi=1∑N(−logz(xi,λ,η)+t=1∑T[λTf(yt−1,yt,xi)+ηTg(yt,xi)])=argλ,ηmaxL(λ,η,xi)
用梯度上升法,求偏导,以 λ 为 例 \lambda为例 λ为例:
∂ L ∂ λ = ∑ i = 1 N ( ∑ t = 1 T f ( y t − 1 , y t , x i ) − ∂ l o g z ( x i , λ , η ) ∂ λ ) ( z 对 λ 的 偏 导 有 固 定 值 , 不 做 解 释 ) = ∑ i = 1 N ( ∑ t = 1 T f ( y t − 1 , y t , x i ) − E [ ∑ t = 1 T f ( y t − 1 , y t , x i ) ] ) = ∑ i = 1 N ( ∑ t = 1 T f ( y t − 1 , y t , x i ) − ∑ y p ( y ∣ x i ) ∑ t = 1 T f ( y t − 1 , y t , x i ) ) = ∑ i = 1 N ( ∑ t = 1 T f ( y t − 1 , y t , x i ) − ∑ y p ( y ∣ x i ) ∑ t = 1 T f ( y t − 1 , y t , x i ) ) \frac{\partial L}{\partial \lambda}=\sum_{i=1}^{N}(\sum_{t=1}^{T}f(y_{t-1},y_t,x^i)-\frac{\partial logz(x^i,\lambda,\eta)}{\partial \lambda})(z对\lambda的偏导有固定值,不做解释)\\ =\sum_{i=1}^{N}(\sum_{t=1}^{T}f(y_{t-1},y_t,x^i)-E[\sum_{t=1}^Tf(y_{t-1},y_t,x^i)])\\ =\sum_{i=1}^{N}(\sum_{t=1}^{T}f(y_{t-1},y_t,x^i)-\sum_yp(y|x^i)\sum_{t=1}^Tf(y_{t-1},y_t,x^i))\\ =\sum_{i=1}^{N}(\sum_{t=1}^{T}f(y_{t-1},y_t,x^i)-\sum_yp(y|x^i)\sum_{t=1}^Tf(y_{t-1},y_t,x^i)) ∂λ∂L=i=1∑N(t=1∑Tf(yt−1,yt,xi)−∂λ∂logz(xi,λ,η))(z对λ的偏导有固定值,不做解释)=i=1∑N(t=1∑Tf(yt−1,yt,xi)−E[t=1∑Tf(yt−1,yt,xi)])=i=1∑N(t=1∑Tf(yt−1,yt,xi)−y∑p(y∣xi)t=1∑Tf(yt−1,yt,xi))=i=1∑N(t=1∑Tf(yt−1,yt,xi)−y∑p(y∣xi)t=1∑Tf(yt−1,yt,xi))
https://www.bilibili.com/video/av34444816