1. 程式人生 > >隱馬爾可夫模型(Hidden Markov Model,HMM)

隱馬爾可夫模型(Hidden Markov Model,HMM)

文章目錄

1. 引言

隱馬爾可夫模型是結構最簡單的動態貝葉斯網路。是一種有向圖模型,主要用於時序資料建模,在語音識別,自然語言處理(NLP),生物資訊,模式識別等領域有廣泛的應用。HMM是關於時序的概率模型,描述一個隱藏的馬爾科夫鏈隨機生成不可觀測的狀態隨機序列,再有各個狀態生成一個觀測而產生觀測隨機序列的過程。

2. HMM變數

在這裡插入圖片描述
HMM中的變數可分為兩組。第一組是狀態變數 {

y 1 , y 2 , y 3
, . . . , y n } \{y_1,y_2,y_3,...,y_n\}
其中 y i ϵ Y y_i\epsilon Y 表示第 i i 時刻的系統狀態。通常這個狀態是隱藏的,不可觀測的,因此狀態變數也稱為隱變數。第二組是觀測變數 { x 1 , x 2 , . . . , x n } \{x_1,x_2,...,x_n\} ,其中 x i ϵ X x_i\epsilon X 表示在第 i i 時刻的觀測值,在HMM中,系統通常在多個狀態 { s 1 , s 2 , . . . , s N } \{s_1,s_2,...,s_N\} 之間切換,因此狀態變數 y i y_i 的取值範圍 y y 稱為狀態空間通常是由N個可能取值的離散空間,觀測變數可以是連續的,也可以是離散的。在這裡假定觀測變數 x x { a 1 , a 2 , . . . , a M } \{a_1,a_2,...,a_M\}

3. HMM的結構

箭頭表示為變數間的依賴關係,在任一時刻觀測變數的取值僅依賴於狀態變數,即 x t x_t y t y_t 確定,與其他狀態變數即觀測變數無關。同時t時刻的狀態 y t y_t 僅依賴於 t 1 t-1 時刻的狀態 y t 1 y_{t-1} 以其他 t 2 t-2 之前狀態無關。這就是所謂的馬爾科夫鏈:即 系統下一時刻的狀態僅有當前狀態決定,不依賴於過往的任何狀態,基於這種依賴關係,所有變數的聯合分佈概率為 P ( x 1 , y 1 , . . . , x n , y n ) = P ( y 1 ) P ( x 1 y 1 ) i = 2 n P ( y i y i 1 ) P ( x i y i ) P(x_1,y_1,...,x_n,y_n)=P(y_1)P(x_1|y_1)\prod_{i=2}^nP(y_i|y_{i-1})P(x_i|y_i)

4. HMM的引數

  • 狀態轉移概率:模型在各個狀態間轉移的概率,通常記為矩陣 A = [ a i j ] N × N A=[a_{ij}]_{N×N} 其中 a i j = P ( y t + 1 = s j y t = s i ) , i i , j N a_{ij}=P(y_{t+1}=s_j|y_t=s_i),i\leq i,j\leq N 表示在任意時刻t,到下一時刻t+1,即 s t s t + 1 s_t \rightarrow s_{t+1} 的概率。
  • 輸出觀測概率:模型根據當前狀態獲得各個觀測值的概率,通常記為矩陣 B = [ b i j ] N × M B=[b_{ij}]_{N×M} 其中 b i j = P ( x t = o j y t = s i ) , 1 i N , 1 j M b_{ij}=P(x_t=o_j|y_t=s_i),1 \leq i\leq N,1 \leq j\leq M 表示在任意時刻t,若狀態為 s i s_i