人工智能裏的數學修煉 | 概率圖模型 : 隱馬爾可夫模型
人工智能裏的數學修煉 | 隱馬爾可夫模型:前向後向算法
人工智能裏的數學修煉 | 隱馬爾可夫模型 : 維特比(Viterbi)算法解碼隱藏狀態序列
人工智能裏的數學修煉 | 隱馬爾可夫模型:基於EM的鮑姆-韋爾奇算法求解模型參數
概率圖模型(probabilistic graphical model)是一類用圖來表達變量相關關係的概率模型。它以圖爲表示工具,最常見的是用一個結點表示一個或一組隨機變量,結點之間的邊表示變量間的概率相關關係,即“變量關係圖”。根據邊的性質不同,概率圖模型可大致分爲兩類:
第一類是使用有向無環圖表示變量間的依賴關係,稱爲有向圖模型或貝葉斯網(Bayesian network);
第二類是使用無向圖表示變量間的相關關係,稱爲無向圖模型或馬爾可夫網(Markov network)
隱馬爾可夫(hidden markov model, HMM)是結構最簡單的動態貝葉斯網,這是一種著名的有向圖模型,主要用於時序建模,在語音識別、自然語言處理等領域有着廣泛的應用
一、隱馬爾可夫模型
隱馬爾可夫模型中的變量可以分爲兩組。
第一組是狀態變量 , 其中 表示第個時刻系統的狀態。通常假定狀態變量是隱藏的、不可被觀測的,因此狀態變量又被稱爲隱變量。在隱馬爾可夫模型中,系統通常在多個狀態 之間轉換,因此狀態變量的取值範圍是有個可能取值的離散空間。
第二組是觀測變量 , 其中表示第時刻的觀測值。觀測變量通常是可以是連續型也可以是離散型,這裏僅考慮離散型觀測變量,並假定其取值範圍爲爲 。
隱馬爾可夫模型的狀態變量與觀測變量的基本結構如下圖所示
上圖中的箭頭表示了變量間的依賴關係,同時也解釋了隱馬爾可夫模型的兩個重要假設
- 齊次馬爾可夫鏈假設:時刻的狀態 僅依賴於時刻的狀態,與其餘狀態無關,即系統下一時刻的狀態僅由當前狀態決定,不依賴於以往的任何狀態
- 觀測獨立性假設: 在任一時刻,觀測變量的取值僅依賴於狀態變量,即由確定,與其他狀態變量和觀測變量無關
這兩個假設大大簡化了隱馬爾可夫模型的複雜度,使其得到廣泛應用
二、隱馬爾可夫模型的三組參數
第一小節介紹了隱馬爾可夫模型的基本圖結構,但確定一個隱馬爾可夫模型還需要三組參數
-
狀態轉移概率:模型在各個狀態之間轉移的概率,記爲矩陣, 其中
表示在任一時刻,若當前狀態爲,下一時刻狀態爲的概率 -
輸出觀測概率:模型根據當前狀態獲得各個觀測值的概率,記爲矩陣, 其中
表示在任一時刻,若狀態爲,則觀測值被獲取的概率 -
初始狀態概率:模型在初始時刻各狀態出現的概率,通常記爲 , 其中
即模型的初始狀態爲的概率
通過指定上述三組參數,就能確定一個隱馬爾可夫模型,它按照如下過程產生觀測序列:
- 設置,並根據初始狀態概率選擇初始狀態;
- 根據狀態和輸出觀測概率選擇觀測變量取值;
- 根據和狀態轉移矩陣轉移模型狀態,確定;
- 若 ,設置, 並轉到第2步,否則停止
三、 隱馬爾可夫模型的三個基本問題
在實際應用中,人們常關注隱馬爾可夫模型的三個基本問題:
- 生成觀察序列概率:給定模型, 如何有效計算其產生觀測序列的概率?換而言之,如何評估模型與觀測序列之間的匹配程度。這個問題的求解需要用到前向後向算法,是HMM模型三個問題中最簡單的
- 預測問題:給定模型和觀測序列,如何找到與此觀測序列最匹配的狀態序列?換言之,如何根據觀測序列推斷出隱藏的模型狀態?這個問題的求解需要用到基於動態規劃的維特比算法,這個問題是HMM模型三個問題中複雜度居中的算法
- 模型參數學習問題:給定觀測序列, 如何調整模型參數使得該序列出現的概率最大?即如何訓練模型使得其能最好的描述觀測數據?這個問題的求解需要用到基於EM算法的鮑姆-韋爾奇算法, 這個問題是HMM模型三個問題中最複雜的。
上述三個問題在實際應用中都有重要意義。例如許多任務需根據以往的觀測序列來推測當前時刻最有可能的觀測值,這顯然可以轉化爲求取概率, 即上述第一個問題;在語音識別等任務中,觀測值爲語音信號,隱藏狀態爲文字,目標就是根據觀測信號來推斷最有可能的狀態序列,即對應上述的第二個問題;至於第三個問題,則是對應於絕大多數機器學習模型所存在的訓練模型參數的問題。
reference
[1] 機器學習,周志華