1. 程式人生 > >隱馬爾科夫模型與三個問題

隱馬爾科夫模型與三個問題

自然語言處理 算法

隱馬爾科夫模型定義

隱馬爾可夫模型是關於時序的概率模型,描述由一個隱藏的馬爾可夫鏈隨機生成不可觀測的狀態隨機序列,再由各個狀態生成一個觀測而產生觀測隨機序列的過程。

隱藏的馬爾可夫鏈隨機生成的狀態的序列,稱為狀態序列(state sequence);每個狀態生成一個觀測,而由此產生的觀測的隨機序列,稱為觀測序列(observation sequence)。

序列的每一個位置又可以看作是一個時刻。

下面我們引入一些符號來表示這些定義:

設Q是所有可能的狀態的集合,V是所有可能的觀測的集合。
技術分享圖片

其中,N是可能的狀態數,M是可能的觀測數。

狀態q是不可見的,觀測v是可見的。

應用到詞性標註中,v代表詞語,是可以觀察到的。q代表我們要預測的詞性(一個詞可能對應多個詞性)是隱含狀態。

應用到分詞中,v代表詞語,是可以觀察的。q代表我們的標簽(B,E這些標簽,代表一個詞語的開始,或者中間等等)

應用到命名實體識別中,v代表詞語,是可以觀察的。q代表我們的標簽(標簽代表著地點詞,時間詞這些)

上面提到的方法,有興趣的同學可以查閱相應資料。

I是長度為T的狀態序列,O是對應的觀測序列。
技術分享圖片

我們可以看做是給定了一個詞(O)+詞性(I)的訓練集。或者一個詞(O)+分詞標簽(I)的訓練集....有了訓練數據,那麽再加上訓練算法則很多問題也就可以解決了,問題後面慢慢道來~

我們繼續定義A為狀態轉移概率矩陣:
技術分享圖片

其中,
技術分享圖片

是在時刻t處於狀態qi的條件下在時刻t+1轉移到狀態qj的概率。

B是觀測概率矩陣:

技術分享圖片

其中,
技術分享圖片

是在時刻t處於狀態qj的條件下生成觀測vk的概率(也就是所謂的“發射概率”)。

所以我們在其它資料中,常見到的生成概率與發射概率其實是一個概念。

π是初始狀態概率向量:
技術分享圖片

其中,
技術分享圖片

隱馬爾可夫模型由初始狀態概率向量π、狀態轉移概率矩陣A和觀測概率矩陣B決定。π和A決定狀態序列,B決定觀測序列。因此,隱馬爾可夫模型可以用三元符號表示,即
技術分享圖片

\lambda =(A,B,\Pi )稱為隱馬爾可夫模型的三要素。
如果加上一個具體的狀態集合Q和觀測序列V,構成了HMM的五元組,這也是隱馬爾科夫模型的所有組成部分。

下面介紹一下隱馬爾可夫鏈的三個基本問題:
1、已知模型求觀測序列出現的概率
2、已知觀測序列,求模型的參數

3、已知觀測序列求可能的狀態序列

隱馬爾科夫模型與三個問題