概念
隱馬爾可夫模型描述的是兩個時序序列聯合分布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的概念部分基本介紹完畢