HMM->MEMM->CRF

1 相关概念

随机过程
马尔科夫随机过程
随机场
马尔科夫随机场联合概率分布 P(Y) P ( Y ) 可用无向图 G(V,E) G ( V , E ) 表示,在图 G G 中,节点表示随机变量,边表示变量之间的依赖。如果该联合分布满足成对、局部、全局马尔科夫性,那么该联合分布称为概率无向图模型,或马尔科夫随机场(Markov radom field). 图中节点之间的连接无方向限制,即没有强因果联系,只是表示软限制。
马尔科夫链
马尔科夫假设状态的转化只取决于相邻状态
隐马尔科夫 描述由隐藏的马尔科夫链(状态序列)生成观测序列的过程,属于生成模型。观测值只和产生它的状态有关,而条件随机场中观测值可以和产生它的状态及其前后两个状态有关,所以条件随机场是隐马尔科夫模型大的扩展。
条件随机场是给定随机变量X的前提下,随机变量 Y Y 的马尔科夫随机场。

2 HMM

属于概率生成模型

2.1 Why Hidden

是关于时序的概率模型,描述由隐马尔可夫链生成状态序列,每个状态生成一个观测由此生成观测序列的模型的过程。其中,t时刻的状态仅受t-1时刻的状态的影响,t时刻的观测仅受t时刻的状态的影响。

2.2 HMM模型的形式化定义

状态集合:Q=q1,...,qN 观测集合: V=v1,...,vM V = v 1 , . . . , v M
观测序列: O=o1,...,oT O = o 1 , . . . , o T 状态序列: I=i1,...,iT I = i 1 , . . . , i T
HMM的三要素为:
1.初始状态概率向量: π=(πi) π = ( π i )
2.状态转移概率矩阵

A=[aij]NN A = [ a i j ] N ∗ N

3.状态生成观测概率矩阵
B=[bj(k)]NM B = [ b j ( k ) ] N ∗ M

2.3 HMM的三个基本问题求解

概率计算
已知观测序列 O=o1,...,oN O = o 1 , . . . , o N 和模型参数 λ λ ,求 p(o1,...,oN|λ) p ( o 1 , . . . , o N | λ )
模型学习
已知观测序列 O=o1,...,oN O = o 1 , . . . , o N ,求模型参数 λ λ .极大似然函数为 p=(O|λ) p = ( O | λ ) .
预测问题
已知观测序列 O=o1,...,oN O = o 1 , . . . , o N 和模型参数 λ λ ,求状态序列 I I .其中极大化的似然函数式p=(O|I).

2.3.1 针对第一个问题

直接计算

p(I|λ)=πi1ai1...aiT(1) (1) p ( I | λ ) = π i 1 a i 1 . . . a i T

p(O|I,λ)=bi1(o1)...bit(ot)(2) (2) p ( O | I , λ ) = b i 1 ( o 1 ) . . . b i t ( o t )

p(O,I|λ)=p(O|I,λ)p(I|λ)=πi1bi1(o1)t=2Taitbit(ot)(3)(4) (3) p ( O , I | λ ) = p ( O | I , λ ) p ( I | λ ) (4) = π i 1 b i 1 ( o 1 ) ∏ t = 2 T a i t b i t ( o t )

I I 上求和
(5)p(O|λ)=Ip(O,I|λ)(6)=Iπi1bi1(o1)...aiTbiT(oT)

计算复杂度为 O(TNT) O ( T N T )
Forward
1.初始化 α1(i)=πibi(o1) ,i=1,...,N t=1 α 1 ( i ) = π i b i ( o 1 )   , i = 1 , . . . , N   t = 1
2. αt+1(j)=(i=1Nαt(i))bj(ot) , j=1,...,N α t + 1 ( j ) = ( ∑ i = 1 N α t ( i ) ) b j ( o t )   ,   j = 1 , . . . , N
3. t=t+1 ,  t = t + 1   ,   如果 t<T t < T 继续执行步骤2,否则执行步骤4
4. p(O|λ)=i=1NαT(i) p ( O | λ ) = ∑ i = 1 N α T ( i )
其中, αt(i)=p(o1,o2,...,Ot,qt=i|λ) α t ( i ) = p ( o 1 , o 2 , . . . , O t , q t = i | λ ) ,该算法的时间复杂度为 O(TN2) O ( T N 2 )

Backward
1.初始化 βT(i)=1 , i=1,...,N β T ( i ) = 1   ,   i = 1 , . . . , N
2. βt1(j)=i=1Naijbj(ot)βt(i), i=1,...,N β t − 1 ( j ) = ∑ i = 1 N a i j b j ( o t ) β t ( i ) ,   i = 1 , . . . , N
3. t=t1, t = t − 1 , 如果 t>1 t > 1 继续执行步骤2,否则执行步骤4
4. p(O|λ)=i=1Nβ1(i) p ( O | λ ) = ∑ i = 1 N β 1 ( i )
其中, βt(i)=p(ot+1,ot+2,...,OT,qt=i|λ) β t ( i ) = p ( o t + 1 , o t + 2 , . . . , O T , q t = i | λ )

2.3.2 针对第二个问题

在未知状态序列的情况下,即没有标注序列的非监督学习中,Baum-Welch即用EM算法求解HMM的模型参数。
观测数据 O O 已知,隐藏数据I未知,使用非监督算法求模型参数 λ  λ   .完全数据为 (O,I) ( O , I )
Q Q 函数
EI[ln(p(I,O|λ))|O,λ]=lnp(I,O|λ)p(I|O,λ)=lnp(I,O|λ)p(I,O|λ)/p(O|λ)
去掉上式中常数项 1/p(O|λ) 1 / p ( O | λ ′ ) ,令 Q(λ,λ)=lnp(I,O|λ)p(I,O|λ) Q ( λ , λ ′ ) = ln ⁡ p ( I , O | λ ) p ( I , O | λ ′ )
E步骤

p(I,O|λ)Q(λ,λ)=πi1bi1(o1)ai2i2bi2(o2)...aiTiTbiT(oT)  , it=1,2,...,N=i=1Nlnπip(I,O|λ)+t=2TIlnbit(oit)p(I,O|λ)+t=2TIlnaititp(I,O|λ)(76)(77)(78) (76) p ( I , O | λ ) = π i 1 b i 1 ( o 1 ) a i 2 i 2 b i 2 ( o 2 ) . . . a i T i T b i T ( o T )     ,   i t = 1 , 2 , . . . , N (77) Q ( λ , λ ′ ) = ∑ i = 1 N ln ⁡ π i p ( I , O | λ ′ ) + ∑ t = 2 T ∑ I ln ⁡ b i t ( o i t ) p ( I , O | λ ′ ) (78) + ∑ t = 2 T ∑ I ln ⁡ a i t i t p ( I , O | λ ′ )

M步骤
分别求 Q Q λ=(πi,aitit,bit(ot))的偏导数,并令它们等于零,从而解得参数 λ λ

2.3.3 针对第三个问题

近似算法
已知 λ λ O O ,在时刻t,状态it=qi的概率为:

rt(i)=p(it=qi|O,λ)=p(it=qi,O|λ)p(O|λ) r t ( i ) = p ( i t = q i | O , λ ) = p ( i t = q i , O | λ ) p ( O | λ )

在问题一的前后向算法中, αt(i)=p(o1,o2,...,Ot,qt=i|λ)  α t ( i ) = p ( o 1 , o 2 , . . . , O t , q t = i | λ )    βt(i)=p(ot+1,ot+2,...,OT,qt=i|λ)   β t ( i ) = p ( o t + 1 , o t + 2 , . . . , O T , q t = i | λ ) ,所以
rt(i)=p(it=qi|O,λ)=αt(i)βt(i)p(O|λ)=αt(i)βt(i)j=1Nαt(j)βt(j) r t ( i ) = p ( i t = q i | O , λ ) = α t ( i ) β t ( i ) p ( O | λ ) = α t ( i ) β t ( i ) ∑ j = 1 N α t ( j ) β t ( j )

近似算法就是计算在每个时刻 t t 最可能出现的状态it ,t=1,...,T,即求

it=argmaxit rt(i) i t ∗ = a r g m a x i t ⁡   r t ( i )

维特比算法
利用动态规划(Dynamic Programming)思想求概率最大的路径(状态序列),称为最优路径。如果最优路径在时刻 t t 的所取状态为it,那么从时刻 1 1 到时刻t+1的最优路径在时刻 t t 的所取状态也必须为it,否则将存在矛盾。
为了方便说明维特比算法,首先定义两个变量 δt(i) δ t ( i ) ψt(i) ψ t ( i )
δt(i) δ t ( i ) 表示在时刻 t  t   ,状态为 i i 的最优路径的概率:
δt(i)=max p(it=i,it1,it2,...,i1,ot,ot1,...,o1)
δt+1(i)=max p(it+1=i,it,it1,...,i1,ot+1,ot,...,o1)=max1jN(δt(j)aji)bi(ot+1)(10)(11) (10) δ t + 1 ( i ) = m a x   p ( i t + 1 = i , i t , i t − 1 , . . . , i 1 , o t + 1 , o t , . . . , o 1 ) (11) = m a x 1 ≤ j ≤ N ⁡ ( δ t ( j ) a j i ) b i ( o t + 1 )
ψt(i) ψ t ( i ) 表示在时刻 t  t   ,状态为 i i 的最优路径的第 t1 个状态:
ψt(i)=argmax1jNp(it=i,it1=j,it2,...,i1,ot,ot1,...,o1)(12) (12) ψ t ( i ) = a r g m a x 1 ≤ j ≤ N ⁡ p ( i t = i , i t − 1 = j , i t − 2 , . . . , i 1 , o t , o t − 1 , . . . , o 1 )

维特比算法的步骤如下:
1.初始化, δ1(i)=πibi(o1),ψ1(i)=0 δ 1 ( i ) = π i b i ( o 1 ) , ψ 1 ( i ) = 0
2.递推,t=2,3,…,T
δt(i)=max1jN(δt1(j)aji)bi(ot) δ t ( i ) = m a x 1 ≤ j ≤ N ⁡ ( δ t − 1 ( j ) a j i ) b i ( o t )
ψt(i)=argmax1jN(δt1(j)aji) ψ t ( i ) = a r g m a x 1 ≤ j ≤ N ⁡ ( δ t − 1 ( j ) a j i )
3.停止, pmax=max1iNδT(i)  p m a x = m a x 1 ≤ i ≤ N ⁡ δ T ( i )   , iT=argmax1iNδT(i) i T ∗ = a r g m a x 1 ≤ i ≤ N ⁡ δ T ( i )
4.回溯求最优路径,即概率最大状态序列, t=T1,T2,...,1 t = T − 1 , T − 2 , . . . , 1
it=ψt(it+1) i t ∗ = ψ t ( i t + 1 ∗ )
最优序列为:
I=(i1,...,iT) I = ( i 1 ∗ , . . . , i T ∗ )

3 MEMM

3.1 最大熵模型 Maximum Entropy

最大熵模型是判别模型.
假设满足所有约束条件的模型集合为

C={P|EP(fi)=EP̂ (fi),i=1,...,n} C = { P | E P ( f i ) = E P ^ ( f i ) , i = 1 , . . . , n }
定义条件概率分布 P(Y|X) P ( Y | X ) 上的条件熵为
H(P)=X,YP̂ (x)P(y|x)logP(y|x) H ( P ) = − ∑ X , Y P ^ ( x ) P ( y | x ) log ⁡ P ( y | x )

注释:特征函数 fi f i 表示 X X Y满足的限制。 EP(fi)=EP̂ (fi) E P ( f i ) = E P ^ ( f i ) 即为: X,YP̂ (X,Y)f(x,y)=X,YP(Y|X)P̂ (X)f(x,y) ∑ X , Y P ^ ( X , Y ) f ( x , y ) = ∑ X , Y P ( Y | X ) P ^ ( X ) f ( x , y ) ,其中, P̂ (X,Y) P ^ ( X , Y ) P̂ (X) P ^ ( X ) 可以通过样本数据得到。
求解 H(P) H ( P ) 的最大值,可得 P(Y|X) P ( Y | X ) ,推导省略。
P(Y|X)=1Z(x)exp(i=1Nwifi(x,y)) P ( Y | X ) = 1 Z ( x ) e x p ( ∑ i = 1 N w i f i ( x , y ) )
其中, Z(x)=jexp(i=1Nwifi(x,y)) Z ( x ) = ∑ j e x p ( ∑ i = 1 N w i f i ( x , y ) )

3.2 最大熵马尔科夫模型

将最大上模型和HMM模型结合成生成模型,在序列标注的任务中表现出比HMM模型、无序列的最大熵模型更好的性能,但是存在标注偏置的问题。
MEMM模型使用一个概率分布 P(s|s,o)=Ps(s|o) P ( s | s ′ , o ) = P s ′ ( s | o ) 取代HMM中的 P(s|s) P ( s | s ′ ) P(o|s) P ( o | s ) ,MEMM模型不仅可以表示观测之间的依赖,还可以表示当前观测和下一个状态之间的依赖。

模型定义

Ps(s|o)=1Z(o,s)exp(i=1Nwifi(o,s)) P s ′ ( s | o ) = 1 Z ( o , s ′ ) e x p ( ∑ i = 1 N w i f i ( o , s ) )
其中, O O 表示观测序列或需要标记的序列,S表示状态序列或标记序列 。

模型求解

标记偏置问题

4 条件随机场CRF

鉴于CRF与逻辑斯谛回归的关系(如下图),先简介逻辑斯谛模型。
图1
(图片来自参考文献3)

4.1逻辑斯谛回归模型

线性回归模型用于预测输出为实数值的情形,而在分类模型中使用线性模型输出表示分类的概率时不能保证概率特性(如概率介于0、1之间),如下

P(y=true|x)=wf P ( y = t r u e | x ) = w ⋅ f
但是使用线性输出结果可以表示不同分类发生的几率,
P(y=true|x)P(y=false|x)=P(y=true|x)1P(y=true|x)=wf P ( y = t r u e | x ) P ( y = f a l s e | x ) = P ( y = t r u e | x ) 1 − P ( y = t r u e | x ) = w ⋅ f

上式等式两边的值域范围不同,使用自然对数解决这个问题
lnP(y=true|x)1P(y=true|x)=wf ln ⁡ P ( y = t r u e | x ) 1 − P ( y = t r u e | x ) = w ⋅ f

解上式得
P(y=true|x)=ewf1+ewf=11+ewf P ( y = t r u e | x ) = e w ⋅ f 1 + e w ⋅ f = 1 1 + e − w ⋅ f
P(y=false|x)=11+ewf P ( y = f a l s e | x ) = 1 1 + e w ⋅ f
11+ewf 1 1 + e − w ⋅ f 是逻辑斯谛函数,其一般形式为 11+ex 1 1 + e − x .
逻辑斯谛回归模型用于分类(classification,也称inference)的方法是通过计算不同类别的条件概率,如 y=true y = t r u e ,则有
P(y=true|x)P(y=false|x)>1 P ( y = t r u e | x ) P ( y = f a l s e | x ) > 1
ewf>1 e w ⋅ f > 1
wf>0 w ⋅ f > 0
ewf>1 e w ⋅ f > 1
|w| | w | 维空间的超平面,所以使用超平面的判别问题在逻辑斯谛回归模型中借助了条件概率从比较概率大小的角度进行判别。
逻辑斯谛模型的求解
线性判别模型的参数学习通过缩小训练集上的误差平方和进行,逻辑斯谛模型参数的学习是通过最大化条件概率,即
w=argmaxw iP(yi|xi) w ∗ = a r g m a x w ⁡   ∏ i P ( y i | x i )
等价于
w=argmaxw ilogP(yi|xi) w ∗ = a r g m a x w ⁡   ∑ i log ⁡ P ( y i | x i )
求解该最大值的方法有拟牛顿法、梯度下降等。
注释:逻辑斯谛回归可用于二分类问题中,而上面介绍的MEMM模型是多项逻辑斯谛模型,可用于K分类问题。

4.2条件随机场的定义

在给定随机变量 X X 的前提下,随机变量Y构成马尔科夫随机场,该马尔科夫随机场可用无向图 G(V,E) G ( V , E ) 表示。

P(Yv|X,Yw,vw)=P(Yv|X,Yw,v w) P ( Y v | X , Y w , v ≠ w ) = P ( Y v | X , Y w , v   w )
.当 X X Y为线性链时可定义线性链条件随机场,
P(Yi|X,Y1,Y2,...,Yi1,Yi+1,...Yn)=P(Yi|X,Yi1,Yi+1) P ( Y i | X , Y 1 , Y 2 , . . . , Y i − 1 , Y i + 1 , . . . Y n ) = P ( Y i | X , Y i − 1 , Y i + 1 )
.

4.3条件随机场的参数化形式

P(y|x)=1Z(x)expk=1KwKfk(y,x) P ( y | x ) = 1 Z ( x ) e x p ∑ k = 1 K w K f k ( y , x )

Z(x)=yexpk=1KwKfk(y,x) Z ( x ) = ∑ y e x p ∑ k = 1 K w K f k ( y , x )

条件随机场的矩阵表示
P(y|x)=1Z(x)i=1n+1Mi(yi1,yi|x) P ( y | x ) = 1 Z ( x ) ∏ i = 1 n + 1 M i ( y i − 1 , y i | x )

Zw(x)=(M1(x)M2(x)...Mn+1(x))start,stop Z w ( x ) = ( M 1 ( x ) M 2 ( x ) . . . M n + 1 ( x ) ) s t a r t , s t o p

4.3 条件随机场的三个基本问题及求解

4.3.1 概率计算问题

给定条件随机场 P(Y|X) P ( Y | X ) 和观测序列,计算条件概率 P(Y=yi|X) P ( Y = y i | X ) P(Y=yi1,Y=yi|X) P ( Y = y i − 1 , Y = y i | X ) 以及相应的数学期望的问题。求解算法递归。

4.3.2 学习问题

根据训练数据求模型参数 w w 。学习策略是极大似然或正则化极大似然,学习算法的具体实现是改进的迭代尺度法、牛顿法、拟牛顿法。
已知训练数据的经验分布P(X,Y),条件概率分布 P(X|Y) P ( X | Y ) 的似然函数是:

L=x,yP̂ (x,y)logPw(y|x)=x,y[P̂ (x,y)k=1Kwkfk(y,x)P̂ (x,y)logZw(x)]=j=1Nk=1Kwkfk(yj,xj)j=1NlogZw(xj)(13)(14)(15) (13) L = ∑ x , y P ^ ( x , y ) l o g P w ( y | x ) (14) = ∑ x , y [ P ^ ( x , y ) ∑ k = 1 K w k f k ( y , x ) − P ^ ( x , y ) l o g Z w ( x ) ] (15) = ∑ j = 1 N ∑ k = 1 K w k f k ( y j , x j ) − ∑ j = 1 N l o g Z w ( x j )

4.3.3 预测问题

给定条件随机场 P(Y|X) P ( Y | X ) 和观测序列,求最可能的标记序列。所用算法为维特比算法。

4.4 模型工具

CRF++

5 相关问题

MRF

MRF(Markov Radom Field)马尔科夫随机场,又称概率无向图模型,其联合分布为

HMM、MEMM、CRF模型比较

HMM模型中存在两个假设:一是输出观察值之间严格独立,二是状态的转移过程中当前状态只与前一状态有关(一阶马尔可夫模型)。
MEMM模型克服了观察值之间严格独立产生的问题,但是由于状态之间的假设理论,使得该模型存在标注偏置问题。
CRF模型解决了标注偏置问题,去除了HMM中两个不合理的假设,模型相应得也变复杂了。

6 相关算法小结

6.1 分类模式

分为两类:

生成模型

尝试对分布 P(S|O) P ( S | O ) 建模,如利用贝叶斯公式 P(S|O)=P(S,O)SP(O) P ( S | O ) = P ( S , O ) ∑ S P ( O ) ,并据此生成样本。生成模型观测序列 O O 作为模型的一部分。如 HMM模型、贝叶斯。

判别模型

直接学习条件分布P(S|O),如逻辑斯谛回归模型、最大熵模型、最大熵马尔科夫模型(MEMM)、条件随机场(CRT)、SVM等。
判别模型观测序列 X X <script type="math/tex" id="MathJax-Element-150">X</script>只是作为条件,所以可以针对观测序列建立灵活的特征函数。
关于生成模型和判别模型的更多阐述参看参考文献3.

其他

最大熵模型

参考文献

1.李航《统计学习方法》
2.Lafferty, etc”Conditional random fields: Probabilistic models for segmenting and labeling sequence data”. 2001.
3.An Introduction to Conditional Random Fields By Charles Sutton and Andrew McCallum
4.An introduction to natural language processing,computational linguistics, and speech recognition. Daniel Jurafsky etc. 2006 Chapter 6 HIDDEN MARKOV AND MAXIMUM ENTROPY MODELS

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值