機率圖模型分類
- 有向圖:靜態貝葉斯、動態貝葉斯(隱馬爾可夫模型)
- 無向圖:馬爾可夫網絡(條件隨機場、玻爾茲曼機)
隱馬爾可夫模型
評估問題
$HMM<S,O,\Theta>, \Theta=<\pi ,A, B>$算法
隱藏狀態S,觀測狀態O,初始狀態的機率分佈$\pi$,隱藏狀態轉移機率A,觀測狀態轉移機率B網絡
計算觀測序列機率函數
- $p(O|\Theta)=\sum_{S}^{ }p(O,S|\Theta)=\sum_{S}^{ }p(O|S,\Theta)p(S|\Theta)$
- $p(O|S,\Theta)=\prod_{i}^{ }p(O_i|S_i,\Theta)=\prod_{i}^{ }B(O_i,S_i)$
- $p(S|\Theta)=\pi(S_0)\prod_{i}^{ }p(S_{i+1}|S_i)$
遞歸公式(前向算法)學習
- $p(O_1^t|\Theta)=\sum_i^{ } p(O_1^t,S_{t+1}=i|\Theta)=\sum_i^{ }\alpha_t(i)$
- $\alpha_{t+1}(i)=\sum_j^{ } p(O_1^t,O_{t+1},S_t=j,S_{t+1}=i|\Theta)=\sum_j^{ } p(O_{t+1},S_{t+1}=i|S_t=j,O_1^t,\Theta)p(O_1^t,S_t=j|\Theta)$
- $=\sum_j^{ } p(O_{t+1},S_{t+1}=i|S_t=j,\Theta)\alpha_t(i)=\sum_j^{ } B(O_{t+1},i)A(i,j)\alpha_t(i)$
解碼問題
解碼問題:求解隱藏序列$\arg\,\max_Sp(S|O,\Theta)$,viterbi/A*算法
- 輸入爲音子時,觀察與狀態之間爲多對一關係
- $\arg\,\max_Sp(S|O,\Theta)=\arg\,\max_Sp(O|S,\Theta)p(S|\Theta)=\arg\,\max_S\prod_{i}^{ }B(O_i,S_i)\pi(S_0)\prod_{i}^{ }A(S_{i+1},S_i)$
- 序列空間約束:$given\,S_{n+1}, S_n=\arg\,\max_sB(O_{n+1}, S_{n+1})A(S_{n+1}, s)$
- 遞歸公式:$\delta_i(t)=\max_{q_{1}^{t-1}}p(O_{1}^{t},q_{1}^{t-1},q_t=i)$;$\delta_{i+1}(t)=\max_{i}[\delta_i(t)A(j,i)]B(O_{t+1},j)$
學習問題
參數估計$\arg\,\max_{\Theta}p(O|\Theta)$
- 引入中間變量,採用 EM/向前向後算法
- 後向變量:$\beta_t(j)=p(O_{t+1}^T |q_t=j,\Theta)$
- $\xi_t(i,j)=p(q_t=i,q_{t+1}=j|O,\Theta)=\frac{p(q_t=i,q_{t+1}=j,O|\Theta)}{p(O|\Theta)}=\frac{\alpha_t(i)A(j,i)B(O_{t+1},j)\beta_{t+1}(j)}{\sum_{i}^{ }\alpha_T(i)}$
- $\pi(i)=p(q_1=i|O)=\sum_{i}^{ }\xi_1(i,j)=\gamma_1(i)$
- $A(j,i)=\frac{\sum_{t}^{ }p(q_t=i,q_{t+1}=j|O)}{\sum_{t}^{ }p(q_t=i|O)}=\frac{\sum_{t}^{ }\xi_t(i,j)}{\sum_{t}^{ }\gamma_t(i)}$
- $B(O_T,i)=\frac{\sum_{t}^{ }p(q_t=i,O_t|O)}{\sum_{t}^{ }p(q_t=i|O)}=\frac{\sum_{t}^{ }\gamma_t(i)\delta(o=O_t)}{\sum_{t}^{ }\gamma_t(i)}$
條件隨機場
馬爾可夫隨機場MRF.net
- 無向圖表示的聯合機率分佈
- 成對馬爾可夫性:任意不相鄰的節點a,b在其它節點已知的條件下機率獨立
- 團:徹底子圖
- 聯合機率等於全部最大團的聯合機率的乘積
- $p(x)=\frac{1}{Z}\prod_c\Psi (X_c)$
條件隨機場CRForm
- 若是 Y 爲 MRF,那麼P(Y|X)爲CRF
- 線性鏈隨機場:$p(Y_i|X,Y)=p(Y_i|X,Y_{i-1},Y_{i+1})$
- $=\frac{1}{Z(x)}exp(\sum_{i,k}^{ } w_kf_k(y_{i-1},y_i,x,i))=\frac{1}{Z(x)}exp( W^TF(y,x))$
- 預測問題:$\arg\,max_y\frac{1}{Z(x)}exp( W^TF(y,x))=\arg\,max_yexp( W^TF(y,x))$
- 學習問題:$\arg\,max_w\frac{1}{Z(x)}exp( W^TF(y,x))$
機率採樣算法
定理:[細緻平穩條件](detailed balance condition)遞歸
- 若是非週期馬氏鏈的轉移矩陣P和分佈$\pi(x)$知足$\forall i,j\,\pi(i)P_{ij}=\pi(j)P_{ji}$,則$\pi(x)$是馬氏鏈的平穩分佈
Metropolis-Hastingsget
- 根據轉移矩陣P的馬氏鏈,構造平穩分佈爲p(x)的馬氏鏈
- 須要串聯一個因子$\alpha$,$\pi(i)P_{ij}\alpha_{ij}=\pi(j)P_{ji}\alpha_{ji}$,知足細緻平穩條件。至關於修正轉移矩陣。
- $\alpha=min(1,\frac{\pi(i)P_{ij}}{\pi(j)P_{ji}})$
Metropolis/MCMC僞代碼深度學習
- 初始化狀態x0
- 根據轉移矩陣P ,生成狀態y
- 生成r=uniform(),若是r<α(x,y),接受xn+1=y
- 迭代直到收斂,採樣爲分佈
模擬退火it
- 避免極小值,逐漸下降溫度,使得Metropolis算法快速收斂
玻爾茲曼機
Gibbs採樣算法
- 觀察到任意$p(x_1,x_C)p(x_2|x_C)=p(x_2,x_C)p(x_1|x_C)$,知足細緻平穩條件
- 每次按照邊緣條件分佈機率,改變一個份量
- 收斂到聯合分佈,一般爲Gibbs分佈:$p_x=\frac{1}{Z}e^{-\frac{E_x}{k_BT}}$
Boltzmann機
- 狀態向量分爲可見部分$x_a$和隱藏部分$x_b$
- $p(x)=\frac{1}{Z}e^{-E(x)}$,這裏$E(x)=\frac{1}{2}x^TWx$
- $p(x_j|[x_i|i\neq j])=\phi(x\sum_{i\neq j}^{ } w_{ji}x_i)$
- 最大化似然函數:$L(w)=\sum log(p(x_a))=-\sum E(x)-\sum log(Z)$
- 配分函數Z難以計算
受限Boltzmann機
- 具備隨機性的可見層v和一層隱藏層h,無向的二分圖
- 能量定義爲:$E(v,h)=-a^Tv-b^Th-h^TWv$
- p(h|v)與 p(v|h)易於計算和採樣,所以能夠採用CD、SML(PCD)、比率匹配等技術。
CD算法
- 取 m 個樣本,獲得 ML 的正項
- Gibbs 採樣到平衡,獲得負項估計
- 獲得上升梯度
參考文獻