HMM原理1

1. 簡介

隱馬爾可夫模型(HMM)是關於時序的概率模型。假設我們有三種骰子(A、B、C),每種骰子都有6面,但是這三種骰子不都是均勻的,即骰子出現數字1-6的概率不同,這三種骰子每個都有自己的概率分佈且三者概率分佈不同。現假設我們擲了5次,選擇的骰子爲o = [A,C,B,A,C];出現的數字分別是n = [1,3,2,3,1],我們稱n爲觀測序列,因爲是我們可以用眼睛看到的,o爲隱藏序列,因爲我們不知道用哪個骰子擲出了n這個觀測序列。(擲骰子時,只告訴了我們結果,沒告訴我們過程)HMM模型包含了觀測序列和隱藏序列。

2. 定義

上文大概介紹了HMM,現以詞性標註爲例。我們能看到的是給出的一句話,看不到的是這句話每個單詞對應的詞性。假設句子I like apples。我們的觀測序列就是I like apples,隱藏序列(也稱爲狀態序列)就是其詞性[物主代詞,動詞,名詞]。HMM涉及的各種符號如下:
在這裏插入圖片描述
以上7個符號對照詞性標註案例進行講解

  • 在詞性標註中,觀測序列是由單詞構成的句子,那麼詞庫有多少單詞呢?由M表示,即詞庫裏一共有M個單詞,其中單詞i可表示成viv_i,如I表示成v1v_1,like可表示成v2v_2,因此V就是所有單詞的集合:V=v1,v2,...vMV={v_1,v_2,...v_M}。重點記憶:詞庫中單詞總數爲M,單詞i爲viv_i
  • 隱藏序列(狀態序列)就是觀測序列對應的詞性序列,那麼我們詞庫裏的單詞一共有多少種詞性呢?由N表示,其實詞性i可表示成qiq_iQ=q1,q2,...qNQ={q_1,q_2,...q_N}就是詞性的集合。重點記憶:詞性的種類數爲N,詞性i爲qiq_i
  • 對於一個實例,就比如I like apples,其可用觀測序列O表示,該句話對應的詞性序列可用I表示,此時T爲3
    在這裏插入圖片描述
  • 一般的,假如一開始出現的單詞詞性爲名詞,那麼下一個單詞出現動詞的概率爲多少?出現名詞的概率呢?如果一開出現的是動詞,那麼下一個單詞出現動詞的概率爲多少?出現名詞的概率呢?這一過程可以由N*N的矩陣表示,矩陣index代表的是詞性庫中所有的詞性,columns也是詞性庫中所有的詞性,如下圖所示:
    在這裏插入圖片描述
    aija_{ij}表示爲t時刻單詞詞性(用iti_t表示)爲qiq_i時,t+1時刻單詞詞性(用it+1i_{t+1}表示)爲qjq_j的概率
  • 一般的,假如知道單詞詞性爲名詞,那麼他對應的單詞是什麼呢?apple還是banana,或是其他。
    在這裏插入圖片描述
    b1(2)b_1(2):時刻t時,詞性爲動詞,其對應的單詞爲banana的概率
    bj(k)b_j(k):時刻t時,詞性(iti_t)爲qjq_j,其對應的單詞爲oto_tvkv_k的概率
  • πiπ_i爲時刻t等於1時,單詞的詞性(i1i_1)爲qiq_i的概率,舉個例子,還是I like apples,t=1時刻即I這個單詞,π=(I這個單詞的詞性爲物主代詞的概率,爲名詞的概率,爲動詞的概率,…)故π其實就是第一個單詞爲各種詞性的概率構成的集合。其實π也可以理解爲一種特殊的轉移矩陣,即從詞性0轉移到詞性名詞的概率,從詞性0轉移到詞性動詞的概率。
  • λ\lambda即馬爾科夫的三元素,也即參數,用三元符號表示λ=(A,B,π)\lambda=(A,B,\pi)

3. HMM假設條件

3.1 齊次馬爾科夫假設

描述:任意時刻t的狀態只依賴於前一時刻的狀態,與其他時刻狀態及觀測無關,(注意這裏的狀態就是隱藏狀態,觀測就是觀測值)。應用到HMM模型即t時刻的詞性只與前一時刻的詞性有關
P(itit1)P(i_t|i_{t-1})正是由於該假設,我們纔得到了狀態轉移矩陣A

3.2 觀測獨立性假設

任意時刻的觀測只依賴於該時刻的馬爾科夫鏈狀態,與其他觀測及狀態無關。應用到HMM即t時刻的觀測值至於t時刻的詞性有關
P(otit)P(o_t|i_{t})正是由於該假設,我們纔得到了發射矩陣B

3.3 馬爾科夫經典圖

正是由於上述兩個假設,得到我們經常看到的一張圖:
在這裏插入圖片描述
從圖可以看到it+1i_{t+1}依賴於iti_{t}
oto_{t}依賴於iti_{t}

4. HMM實例

此案例來自小藍書
在這裏插入圖片描述
在這裏插入圖片描述

5. HMM的3個基本問題

  • 1.概率計算問題:
    • 給定模型參數λ=(A,B,π)\lambda=(A,B,\pi),和觀測序列O,計算在模型在λ\lambda下觀測序列O出現的概率P(Oλ)P(O|\lambda)前後向算法
  • 2.參數估計問題(估計模型參數λ\lambda,分爲兩種情況):
    • 2.1已知觀測序列和和隱藏序列,求λ\lambda,即P(λO,I)P(\lambda|O,I),用極大似然估計
    • 2.2僅已知觀測序列O,求λ\lambda, 即P(λO)P(\lambda|O)
  • 3.預測問題/推理問題/decoding:
    • 已知O和λ\lambda,求I,即P(IO,λ)P(I|O,\lambda)維特比算法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章