簡介
馬爾可夫模型(Markov Model)描述了一類隨機變量隨時間而變化的隨機函數。考察一個狀態序列(此時隨機變量為狀態值),這些狀態並不是相互獨立的,每個狀態的值依賴於序列中此狀態之前的狀態。
數學描述
一個系統由N個狀態S= {s1,s2,...sn},隨着時間的推移,該系統從一個狀態轉換成另一個狀態。Q= {q1,q2,...qn}為一個狀態序列,qi∈S,在t時刻的狀態為qt,對該系統的描述要給出當前時刻t所處的狀態st,和之前的狀態s1,s2,...st, 則t時刻位於狀態qt的概率為:P(qt=st|q1=s1,q2=s2,...qt-1=st-1)。這樣的模型叫馬爾可夫模型。
特殊狀態下,當前時刻的狀態只決定於前一時刻的狀態叫一階馬爾可夫模型,即P(qt=si|q1=s1,q2=s2,...qt-1=sj) =P(qt=si|qt-1=sj)。
狀態之間的轉化表示為aij,aij=P(qt=sj|qt-1=si),其表示由狀態i轉移到狀態j的概率。其必須滿足兩個條件: 1.aij≥ 0 2.=1
對於有N個狀態的一階馬爾科夫模型,每個狀態可以轉移到另一個狀態(包括自己),則共有N2次狀態轉移,可以用狀態轉移矩陣表示。
例子
一段文字中名詞、動詞、形容詞出現的情況可以用有3個狀態的y一階馬爾科夫模型M表示:
狀態s1:名詞 狀態s2:動詞 狀態s3:形容詞
狀態轉移矩陣: s1 s2 s3
A=
則狀態序列O=“名動形名”(假定第一個詞為名詞)的概率為:
P(O|M) = P(s1,s2,s3,s4} = P(s1)*p(s2|s1)p(s3|s2)p(s1|s3)
=p(s1)*a12*a23*a31
=1*0.5*0.2*0.4
=0.04
應用領域
馬爾科夫模型可以用來語音識別、音字轉化、詞性標注、統計機器翻譯。