人工智能裏的數學修煉 | 概率圖模型 : 隱馬爾可夫模型
人工智能裏的數學修煉 | 隱馬爾可夫模型:前向後向算法
人工智能裏的數學修煉 | 隱馬爾可夫模型 : 維特比(Viterbi)算法解碼隱藏狀態序列
人工智能裏的數學修煉 | 隱馬爾可夫模型:基於EM的鮑姆-韋爾奇算法求解模型參數
已經較爲清楚的講述了隱馬爾可夫模型及其在實際應用的三個問題:1. 生成觀察序列概率, 2. 預測問題, 3. 模型參數學習問題。
這裏介紹求解第一個生成觀察序列概率的前向後向算法,前向後向算法實際上是兩個算法的合成,即前向算法和後向算法,二者相似,這裏主要以前向算法爲例進行介紹
一、前向算法
前向算法針對的是隱馬爾可夫模型的概率計算問題,即給定一個模型參數已知的隱馬爾可夫模型(HMM)和一組觀測序列,求HMM生成這組觀測序列的概率
前向算法定義了一個“前向概率”的定義,即:
給定隱馬爾可夫模型,定義1到t時刻部分的觀測序列爲,則t時刻的狀態爲的概率爲前向概率, 記做
定義說明:由於每個狀態生成一個觀測變量,那麼在時刻就會生成個觀測變量,在時刻處於狀態的概率就是前向概率。狀態的的取值範圍爲,詳見 人工智能裏的數學修煉 | 概率圖模型 : 隱馬爾可夫模型
利用定義的前向概率,可以很容易的從1到遞推到得到觀測序列概率,共有三步:
- 計算初值(t=1)
這裏表示初始狀態下狀態變量爲的概率, 表示從狀態推出觀測的輸出觀測概率 - 遞推環節,對於
這裏的表示由狀態轉移到狀態的狀態轉移概率,表示由狀態推出觀測的輸出觀測概率 - 到達指定時刻T
前向算法的求解過程其實是相當簡潔明瞭的,即從1到T時刻,對應於每一個觀測值都計算其由前一時刻狀態轉移後狀態輸出概率各種可能的和。
二、後向算法
後向算法是前向算法的逆過程,定義了相應的“後向概率”,其原理其實是相似的,這裏不做多餘的贅述
三、更多資源下載
微信搜索“老和山算法指南”獲取更多下載鏈接與技術交流羣
有問題可以私信博主,點贊關注的一般都會回覆,一起努力,謝謝支持。