隱馬爾可夫模型學習筆記

2021-07-11 16:43:42 字數 3956 閱讀 3973

隱馬爾可夫模型是關於時序的概率模型,描述由乙個隱藏的馬爾可夫鏈隨機生成不可觀測的狀態隨機序列,再由各個狀態生成乙個觀測而產生觀測隨機序列的過程。隱藏的馬爾可夫鏈隨機生成的狀態的序列,稱為狀態序列;每個狀態生成乙個觀測,而由此產生的觀測的序列稱為觀測序列。序列的每乙個位置又可看做是乙個時刻。

設q是所有可能的狀態的集合,v是所有可能的觀測的集合。 q=

,v=

其中,n是可能的狀態數,m是可能的觀測數。

h 是長度為t的狀態序列,

o是對應的觀測序列。 h=

,o=

a是狀態轉移矩陣: a=

[aij

]n×n

其中, ai

j=p(

it+1

=qj|

it=q

i),i

=1,2

,⋯,n

;j=1

,2,⋯

,n是在時刻t處於狀態qi

的條件下在時刻t+1轉移到狀態qj

的概率。

b是觀測概率矩陣: b=

[bj(

k)]n

×m其中, bj

(k)=

p(ot

=vk|

it=q

j),k

=1,2

,⋯,m

;j=1

,2,⋯

,n是在時刻t處於狀態qj

的條件下生成觀測vk

的概率。

π 是初始狀態概率向量: π=

(πi)

其中, πi

=p(i

1=qi

),i=

1,2,

⋯,n

是時刻t=1處於狀態qi

的概率。

假設已給訓練資料報含s個長度相同的觀測序列和對應的狀態序列

,那麼可以用極大似然估計法來估計隱馬爾可夫模型的引數。

1.轉移概率ai

j 的估計

設樣本中時刻t處於i時刻t+1轉移到狀態j的頻數為ai

j ,那麼狀態轉移概率ai

j 的估計是 a∗

ij=a

ij∑n

j=1a

ij,i

=1,2

,⋯,n

;j=1

,2,⋯

,n2.觀測概率bj

(k) 的估計

設樣本中狀態為j並觀測為k的頻數是bj

k ,那麼狀態為j觀測為k的概率bj

(k) 的估計是 bj

(k)∗

=bjk

∑mk=

1bjk

,j=1

,2,⋯

,n;k

=1,2

,⋯,m

3.初始狀態概率πi

的估計π∗

為s個樣本中初始狀態為qi

的頻率由於監督學習需要使用訓練資料,而人工標註訓練資料往往代價很高,又是就會利用非監督學習的方法。

假設給定訓練資料只包含s個長度為t的觀測序列

,而沒有對應的狀態序列,目標是學習隱馬爾可夫模型λ=

(a,b

,π) 的引數。我們將觀測序列資料看做觀測資料o,狀態序列資料看做不可觀測的隱資料i,那麼隱馬爾可夫模型事實上是乙個含有隱變數的概率模型 p(

o|λ)

=∑hp

(o|h

,λ)p

(h|λ

) 它的引數學習可以由em演算法實現。

1.確定完全資料的對數似然函式

所有觀測資料寫成og

=(og

1,og

2,⋯,

ogt)

,所有隱資料寫成hg

=(hg

1,hg

2,⋯,

hgt)

,完全資料是(o

g,hg

)=((

og1,

hg1)

,(og

2,hg

2)⋯,

(ogt

,hgt

))。不完全資料的對數似然函式是l(

λ)=∑

sg=1

logp(o

g|λ)

。2.em演算法的e步求l

(λ) 的下界q(

λ,λ∗

) q(

λ,λ∗

)=∑g

=1s∑

hgp(

hg|o

g,λ∗

)logp(

hg,o

g|λ)

p(o,i|λ

)=πi

1bi1

(o1)

ai1i

2bi2

(o2)

⋯ait

−1it

bit(

ot)

於是函式q(

λ,λ∗

) 可以寫成: q(

λ,λ∗

)=∑g

=1s∑

hgp(

hg|o

g,λ∗

)logπi

1+∑g

=1s∑

hgp(

hg|o

g,λ∗

)∑t=

1t−1

logait

it+1

+∑g=

1s∑h

gp(h

g|og

,λ∗)

∑t=1

tlogbi

t(1)

3.em演算法的m步

最大化q(λ

,λ∗)

,分別對

a ,b,

π 求導。

(1)對

π 求導

式(1)的第一項 ∑g

=1s∑

hgp(

hg|o

g,λ∗

)logπi

1∼∑g

=1s∑

j=1n

p(i1

=qj|

og,λ

∗)logπqj

, 其中, ∑j

=1nπ

qj=1

,含等式約束的最優值求解,很容易想到拉格朗日乘子法,寫出拉格朗日函式: ∑g

=1s∑

j=1n

p(i1

=qj|

og,λ

∗)logπqj

+γ(∑

i=jn

πqj−

1) 對

πqj 求導, ∑g

=1sp

(i1=

qj|o

g,λ∗

)1πq

j+γ=

0 ∑g

=1sp

(i1=

qj|o

g,λ∗

)+γπ

qj=0

對所有qj

求和, γ=

−s π

qj=∑

sg=1

p(i1

=qj|

og,λ

∗)s

(2)對ai

j 求導

(3)對bj

(k) 求導

在每個時刻t選擇在該時刻最有可能出現的狀態。

考慮整體最優性,在選擇下乙個狀態時,記時刻t狀態為i的可能性為δt

(i) ,那麼第t+1時刻最有可能的狀態為

argjma

xδt(

i)ai

j,i=

1,2,

⋯,n;

j=1,

2,⋯,

n 考慮乙個簡單的分詞模型,s由四種狀態組成:詞頭、詞中、詞尾、單字成詞。首先,收集一些已經分詞好的語料,如:我 愛 程式設計師。我 是 祖國 的 花朵。訓練狀態轉移的概率引數ai

j ,某個狀態的觀察資料引數bj

(k) 。最後**時,選擇整體概率最大的路徑。

李航的《統計學習分析》

csdn部落格——hmm在簡單分詞模型中的應用

隱馬爾可夫模型

隱 馬爾可夫模型 hidden markov model,hmm 作為一種統計分析模型,創立於20世紀70年代。80 年代得到了傳播和發展,成為訊號處理的乙個重要方向,現已成功地用於語音識別 行為識別,文字識別以及故障診斷等領域。隱馬爾可夫模型是馬爾可夫鏈的一種,它的狀態不能直接觀察到,但能通過觀測...

隱馬爾可夫模型

對隱馬爾可夫模型的解釋,個人覺得一句簡單概括就是 在馬爾可夫鏈的情況下對每乙個狀態都加入乙個單獨輸出口,而我們把這個輸出口定為可視視窗,可把馬爾可夫鏈放到裡面藏起來。ok!這樣就是知道隱馬爾可夫模型的結構了。通過如下例子來說明hmm的含義。假定乙個暗室中有n個口袋,每個口袋中有m種不同顏色的球,乙個...

隱馬爾可夫模型

搖色子的比喻很好 它解釋了模型的概念 模型的n個狀態 s 對應於色子的種類 隱狀態 真實不可見狀態s的序列,是每次用的色子種類d4 d6 d8組成的序列 觀測狀態 o 是可見的狀態,這裡是色子搖出的點數 觀測概率 是當確定用d4 d6 d8搖的色子的種類,求產生某種點數的概率 如 d4產生點數1的概...