機率圖基礎

機率圖模型分類

  • 有向圖:靜態貝葉斯、動態貝葉斯(隱馬爾可夫模型)
  • 無向圖:馬爾可夫網絡(條件隨機場、玻爾茲曼機)

隱馬爾可夫模型

評估問題

$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(a,b|C)=p(a|C)p(b|C)$
  • 團:徹底子圖
  • 聯合機率等於全部最大團的聯合機率的乘積
    •  $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 採樣到平衡,獲得負項估計
  • 獲得上升梯度

參考文獻

  • Deep learning, www.deeplearning.net
  • 俞棟、鄧力,解析深度學習:語言識別實踐,電子工業出版社,2016.7
相關文章
相關標籤/搜索