概念

隱馬爾可夫模型描述的是兩個時序序列聯合分佈p(x,y)的概率模型,其中包含了兩個序列:

x序列外界可見(外界指的是觀測者),稱為觀測序列(obsevation seuence)

y序列外界不可見,稱為狀態序列( state sequence)

如觀測x為單詞,狀態y為詞性,我們需要根據單詞序列去猜測它們的詞性。

隱馬爾可夫模型之所以稱為“隱”, 是因為從外界來看,狀態序列(例如詞性)隱藏不可見,是待求的因變數。

從這個角度來講,人們也稱狀態為隱狀態(hidden state ),而稱觀測為顯狀態( visible state )

為什麼叫“馬爾可夫模型”?是因為它滿足馬爾可夫假設

馬爾可夫假設認為:每件事情的發生概率僅與前一件事有關

當有多個滿足上述假設的事件形成串聯時,就構成了馬爾可夫鏈,在NLP的領域中就稱為一個二元語法模型

注:

一元語法模型:
我考上大學只與考試當天的我有關,與前一天模擬考的我沒有半毛錢關係 二元語法模型:
我考上大學與我前一天模擬考的我有關

書接上回

我們先做一些約定:

Qhidden為所有隱藏狀態種類的合集,有N種

例如我們之前定義了七個標籤(https://www.cnblogs.com/DAYceng/p/14923065.html),那麼N = 7

Vobs表示可觀測的序列的合集(這裡由漢字組成)

其中,V為單個的字,M為已知字的個數

有一串自然語言文字O,共T個字,則觀測合集可表示為

而觀測到的實體對應的實體標記就是隱狀態合集I

I與O一一對應並且長度一致

注:常稱T為時刻,如上式中共有T個時刻(T個字)

HMM的假設

圖片出處:https://github.com/aespresso/a_journey_into_math_of_ml

假設一:

當前第個隱狀態(實體標籤)只跟前一時刻的隱狀態(實體標籤)有關,連續多個狀態構成隱馬爾可夫鏈I(隱狀態合集),與除此之外的其他隱狀態無關。

例如,上圖中:藍色的部分指的是只與有關,而與藍色區域之外的所有內容都無關,而指的是隱狀態時刻轉向t時刻的概率。

假設二:

觀測獨立的假設,我們上面說過,HMM模型中是由隱狀態序列(實體標記)生成可觀測狀態(可讀文字)的過程,觀測獨立假設是指在任意時刻觀測只依賴於當前時刻的隱狀態i,與其他時刻的隱狀態無關。

例如上圖中:粉紅色的部分指的是只與有關,跟粉紅色區域之外的所有內容都無關。

至此,我們確定了狀態與觀測之間的關係。

接下來將介紹HMM用於模擬時序序列生成過程的三個要素(即HMM模型的三個引數):

  • 初始狀態概率向量
  • 狀態轉移概率矩陣
  • 發射概率矩陣

初始狀態概率向量

初始隱狀態概率通常用π表示(不是圓周率!!

該表示式的含義:

自然語言序列的第一個字的實體標籤是的概率,即初始隱狀態概率

而初始狀態可表示如下:p(y1丨π),給定π,初始狀態y1的取值分佈就確定了

狀態轉移概率矩陣

初始狀態確定之後,如何轉移到初始狀態的下一個狀態呢?

還記得馬爾可夫假設第一條嗎?t+1時刻的狀態只取決於t時刻狀態

我們上面提到了指的是隱狀態時刻轉向時刻的概率

比如說我們現在實體標籤一共有種, 也就是(注意是所有可能的實體標籤種類的集合), 也就是

(注意我們實體標籤編號從算起)。

假設在時刻任何一種實體標籤都可以在時刻轉換為任何一種其他型別的實體標籤

由排列組合不難得出以下結論:總共可能的轉換的路徑有, 所以我們可以做一個的矩陣來表示所有可能的隱狀態轉移概率.

圖片出處:https://github.com/aespresso/a_journey_into_math_of_ml

如圖所示即為狀態轉移概率矩陣,設矩陣為矩陣, 則表示矩陣中第i行第j列:

該表示式的含義:

某時刻實體具有一個標籤,而下一時刻該標籤轉換到某標籤的概率,即時刻實體標籤為, 而在時刻實體標籤轉換到的概率

發射概率矩陣

回到最初的問題,有了(隱)狀態yt之後,如何確定觀測xt的概率分佈呢?

根據爾可夫假設第二條,任意時刻觀測只依賴於當前時刻的隱狀態, 也叫做發射概率,描述了隱狀態生成觀測結果的過程

設我們的字典裡有個字,

(注意這裡下標從0算起, 所以最後的下標是, 一共有種觀測), 則每種實體標籤(隱狀態)可以生成種不同的漢字(也就是觀測), 這一過程可以用一個發射概率矩陣來表示, 它的維度是

圖片出處:https://github.com/aespresso/a_journey_into_math_of_ml

設這個矩陣為矩陣, 則表示矩陣中第行第列:

該表示式的含義:

時刻由實體標籤(隱狀態)生成漢字(觀測結果)的概率.

至此,HMM的概念部分基本介紹完畢