人工智能裏的數學修煉 | 概率圖模型 : 隱馬爾可夫模型

人工智能裏的數學修煉 | 概率圖模型 : 隱馬爾可夫模型
人工智能裏的數學修煉 | 隱馬爾可夫模型:前向後向算法
人工智能裏的數學修煉 | 隱馬爾可夫模型 : 維特比(Viterbi)算法解碼隱藏狀態序列
人工智能裏的數學修煉 | 隱馬爾可夫模型:基於EM的鮑姆-韋爾奇算法求解模型參數

概率圖模型(probabilistic graphical model)是一類用圖來表達變量相關關係的概率模型。它以圖爲表示工具,最常見的是用一個結點表示一個或一組隨機變量,結點之間的邊表示變量間的概率相關關係,即“變量關係圖”。根據邊的性質不同,概率圖模型可大致分爲兩類:
第一類是使用有向無環圖表示變量間的依賴關係,稱爲有向圖模型或貝葉斯網(Bayesian network);
第二類是使用無向圖表示變量間的相關關係,稱爲無向圖模型或馬爾可夫網(Markov network)

隱馬爾可夫(hidden markov model, HMM)是結構最簡單的動態貝葉斯網,這是一種著名的有向圖模型,主要用於時序建模,在語音識別、自然語言處理等領域有着廣泛的應用

一、隱馬爾可夫模型

隱馬爾可夫模型中的變量可以分爲兩組。
第一組是狀態變量 y1,y2,...,yn{y_{1},y_{2},...,y_{n}}, 其中 yiϵYy_{i}\epsilon Y表示第ii個時刻系統的狀態。通常假定狀態變量是隱藏的、不可被觀測的,因此狀態變量又被稱爲隱變量。在隱馬爾可夫模型中,系統通常在多個狀態 s1,s2,...,sN{s_{1},s_{2},...,s_{N}}之間轉換,因此狀態變量yiy_{i}的取值範圍是有NN個可能取值的離散空間。
第二組是觀測變量 x1,x2,...,xn{x_{1},x_{2},...,x_{n}}, 其中xiϵXx_{i}\epsilon X表示第ii時刻的觀測值。觀測變量通常是可以是連續型也可以是離散型,這裏僅考慮離散型觀測變量,並假定其取值範圍爲XXo1,o2,...,oM{o_{1},o_{2},...,o_{M}}

隱馬爾可夫模型的狀態變量與觀測變量的基本結構如下圖所示
隱馬爾可夫模型的圖結構
上圖中的箭頭表示了變量間的依賴關係,同時也解釋了隱馬爾可夫模型的兩個重要假設

  • 齊次馬爾可夫鏈假設:tt時刻的狀態yty_{t} 僅依賴於t1{t-1}時刻的狀態yt1y_{t-1},與其餘狀態無關,即系統下一時刻的狀態僅由當前狀態決定,不依賴於以往的任何狀態
  • 觀測獨立性假設: 在任一時刻,觀測變量的取值僅依賴於狀態變量,即xt{x_{t}}yt{y_{t}}確定,與其他狀態變量和觀測變量無關

這兩個假設大大簡化了隱馬爾可夫模型的複雜度,使其得到廣泛應用

二、隱馬爾可夫模型的三組參數

第一小節介紹了隱馬爾可夫模型的基本圖結構,但確定一個隱馬爾可夫模型還需要三組參數

  • 狀態轉移概率:模型在各個狀態之間轉移的概率,記爲矩陣A=[aij]N×NA=[a_{ij}]_{N \times N}, 其中
    aij=P(yt+1=sjyt=si),1i,jNa_{ij}=P(y_{t+1}=s_{j}|y_{t}=s_{i}), 1 \leqslant i,j \leqslant N 表示在任一時刻tt,若當前狀態爲sis_{i},下一時刻狀態爲sjs_{j}的概率

  • 輸出觀測概率:模型根據當前狀態獲得各個觀測值的概率,記爲矩陣B=[bij]N×MB=[b_{ij}]_{N \times M}, 其中
    bij=P(xt=ojyt=si),1iN,1jMb_{ij}=P(x_{t}=o_{j}|y_{t}=s_{i}), 1 \leqslant i \leqslant N, 1 \leqslant j \leqslant M表示在任一時刻tt,若狀態爲si{s_{i}},則觀測值oj{o_{j}}被獲取的概率

  • 初始狀態概率:模型在初始時刻各狀態出現的概率,通常記爲 π=(π1,π2,...,πN)\pi=(\pi_{1},\pi_{2},...,\pi_{N}), 其中
    πi=P(y1=si)\pi_{i}=P(y_{1}=s_{i})即模型的初始狀態爲sis_{i}的概率

通過指定上述三組參數λ={A,B,π}\lambda=\{A,B,\pi\},就能確定一個隱馬爾可夫模型,它按照如下過程產生觀測序列x1,x2,..,xn{x_{1},x_{2},..,x_{n}}:

  1. 設置t=1t=1,並根據初始狀態概率π\pi選擇初始狀態y1y_{1};
  2. 根據狀態yty_{t}和輸出觀測概率BB選擇觀測變量取值xtx_{t};
  3. 根據yty_{t}和狀態轉移矩陣AA轉移模型狀態,確定yt+1y_{t+1};
  4. t<nt<n,設置t=t+1t=t+1, 並轉到第2步,否則停止

三、 隱馬爾可夫模型的三個基本問題

在實際應用中,人們常關注隱馬爾可夫模型的三個基本問題:

  • 生成觀察序列概率:給定模型λ={A,B,π}\lambda=\{A,B,\pi\}, 如何有效計算其產生觀測序列x=x1,x2,..,xnx={x_{1},x_{2},..,x_{n}}的概率P(xλ)P(x|\lambda)?換而言之,如何評估模型與觀測序列之間的匹配程度。這個問題的求解需要用到前向後向算法,是HMM模型三個問題中最簡單的
  • 預測問題:給定模型λ={A,B,π}\lambda=\{A,B,\pi\}和觀測序列,如何找到與此觀測序列最匹配的狀態序列y=y1,y2,...,yny={y_{1},y_{2},...,y_{n}}?換言之,如何根據觀測序列推斷出隱藏的模型狀態?這個問題的求解需要用到基於動態規劃的維特比算法,這個問題是HMM模型三個問題中複雜度居中的算法
  • 模型參數學習問題:給定觀測序列x=x1,x2,...,xnx={x_{1},x_{2},...,x_{n}}, 如何調整模型參數λ={A,B,π}\lambda=\{A,B,\pi\}使得該序列出現的概率P(Xλ)P(X| \lambda)最大?即如何訓練模型使得其能最好的描述觀測數據?這個問題的求解需要用到基於EM算法的鮑姆-韋爾奇算法, 這個問題是HMM模型三個問題中最複雜的。

上述三個問題在實際應用中都有重要意義。例如許多任務需根據以往的觀測序列x=x1,x2,...,xn1x={x_{1},x_{2},...,x_{n-1}}來推測當前時刻最有可能的觀測值xnx_{n},這顯然可以轉化爲求取概率P(xλ)P(x|\lambda), 即上述第一個問題;在語音識別等任務中,觀測值爲語音信號,隱藏狀態爲文字,目標就是根據觀測信號來推斷最有可能的狀態序列,即對應上述的第二個問題;至於第三個問題,則是對應於絕大多數機器學習模型所存在的訓練模型參數的問題。

reference
[1] 機器學習,周志華

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章