【NLP學習其二】什么是隱馬爾可夫模型HMM?


概念

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

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

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

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

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

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

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

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

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

注:

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

二元語法模型:
我考上大學與我前一天模擬考的我有關

書接上回

我們先做一些約定:

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

image-20210623160001996

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

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

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

image-20210623155742381

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

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

image-20210623161201438

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

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

HMM的假設

image-20210623161735456

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

假設一:

當前第$t$個隱狀態(實體標簽)只跟前一時刻的$t-1$隱狀態(實體標簽)有關,連續多個狀態構成隱馬爾可夫鏈I(隱狀態合集),與除此之外的其他隱狀態無關。
例如,上圖中:藍色的部分指的是$i_t$只與$i_{t-1}$有關,而與藍色區域之外的所有內容都無關,而$P(i_{t}|i_{t-1})$指的是隱狀態$i$$t-1$時刻轉向t時刻的概率。

假設二:

觀測獨立的假設,我們上面說過,HMM模型中是由隱狀態序列(實體標記)生成可觀測狀態(可讀文本)的過程,觀測獨立假設是指在任意時刻觀測$o_t$只依賴於當前時刻的隱狀態i,與其他時刻的隱狀態無關。
例如上圖中:粉紅色的部分指的是$i_{t+1}$只與$o_{t+1}$有關,跟粉紅色區域之外的所有內容都無關。

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

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

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

初始狀態概率向量

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

image-20210624151203517

該表達式的含義:

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

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

狀態轉移概率矩陣

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

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

我們上面提到了$P(i_{t}|i_{t-1})$指的是隱狀態$i$$t-1$時刻轉向$t$時刻的概率

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

image-20210624160308840

(注意我們實體標簽編號從$0$算起)。

假設在$t-1$時刻任何一種實體標簽都可以在$t$時刻轉換為任何一種其他類型的實體標簽

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

矩陣

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

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

image-20210624154036507

該表達式的含義:

某時刻實體具有一個標簽,而下一時刻該標簽轉換到某標簽的概率,即$t$時刻實體標簽為$q_i$, 而在$t+1$時刻實體標簽轉換到$q_j$的概率

發射概率矩陣

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

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

設我們的字典里有$M$個字,

image-20210624160719405

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

image-20210624155257137

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

設這個矩陣為$B$矩陣, 則$B_{jk}$表示矩陣中第$j$行第$k$列:

image-20210624155352274

該表達式的含義:

$t$時刻由實體標簽(隱狀態)$q_j$生成漢字(觀測結果)$v_k$的概率.

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM