1. Background
頻率派:定義 loss function 並進行最佳化
貝葉斯派:計算後驗機率,使用數值積分的方式計算
2. HMM
HMM 是一個屬於機率圖模型中的動態模型(ref:機率圖模型),並不要求資料是獨立同分布的,又是一個混合模型
HMM 中的變數可以分為兩組,一組為狀態變數\(y=\{y_1, \dots, y_n \}\),其中\(y_i\)表示第 i 時刻狀態,一組為觀測變數\(x= \{x_1, \dots, x_n \}\),狀態變數是隱藏的,觀測變數是可見的,因此狀態變數又被稱作隱變數。
系統常在多個狀態中轉移,如果狀態變數是離散的,那麼 動態模型就為 HMM,如果狀態變數是連續的,那麼動態模型就是 Kalman Filter / Parlide filter。
flowchart TD
subgraph one
y1-->x1
end
subgraph two
y2-->x2
end
subgraph three
...
end
y1 --> y2
y2 --> ...
根據機率圖模型筆記中的因子分解,HMM 的聯合機率分佈可以寫成:
\[p(x,y) = p(y_1) p(x_1|y_1) \prod_{i=2}^n p(y_i|y_{i-1}) p(x_i|y_i)
\]
引數
除去結構資訊之外,HMM 還有三個引數\(\lambda = [A, B, \pi]\), \(A\)為狀態轉移矩陣,\(B\)為輸出觀測矩陣,\(\pi\)為初始狀態機率。
假設狀態變數的取值為\(S=\{s_1, \dots, s_n\}\),觀測變數的取值為\(O=\{o_1, \dots, o_m\}\),則有:
- 狀態轉移機率\[a_{ij} = p(y_{t+1}=s_j|y_t=s_i) \]
- 輸出觀測機率\[b_{jk} = p(x_t=o_k|y_t=s_j) \]
- 初始狀態機率\[\pi_i = p(y_1=s_i) \]
兩個假設
- 齊次馬爾科夫性假設(無後效性):當前時刻的狀態只與前一個時刻的狀態有關,與其他時刻無關
\(p(s_t | x_1, \dots s_{t-1},s_{t+1},\dots, s_{p}) = p(s_t | s_{t-1})\) - 觀測獨立性假設:當前時刻的觀測只與當前時刻的狀態有關,與其他時刻的狀態和觀測值無關
\(p(o_t|s_1,\dots,s_t,o_1,\dots, o_{t-1}) = p(o_t|s_t)\)
三個問題
- Evaluation Problem:給定模型\(\lambda\)和觀測序列\(O\),計算在模型\(\lambda\)下觀測序列\(O\)出現的機率。一般使用前向演算法或者後向演算法計算。
- Learning Problem:給定觀測序列\(O\),估計模型\(\lambda\),使得在該模型下觀測序列\(O\)出現的機率最大。一般使用 Baum-Welch/EM 演算法進行估計。
- Decoding Problem:給定模型\(\lambda\)和觀測序列\(O\),求解最有可能的狀態序列\(S\),即\(S = \arg \max_S P(S|O;\lambda)\)。
- 預測:\(p(s_{t+1}|s_1, \dots, s_t)\)
- 濾波:\(p(s_t|o_1, \dots, o_t)\)
例如在 Text-to-Speech 中,HMM 可以用來建模音素的序列,狀態變數表示音素,觀測變數表示音訊訊號,狀態轉移機率表示音素之間的轉移機率,輸出觀測機率表示音素對應的音訊訊號的機率。