日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HMM——前向后向算法

發布時間:2023/12/13 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HMM——前向后向算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 前言

解決HMM的第二個問題:學習問題, 已知觀測序列,需要估計模型參數,使得在該模型下觀測序列 P(觀測序列 | 模型參數)最大,用的是極大似然估計方法估計參數。

根據已知觀測序列和對應的狀態序列,或者說只有觀測序列,將學習過程分為監督和無監督學習方法

主要參考《李航統計學習》、《PRML》

2. 監督學習方法

給定了s個長度相同的觀測序列和對應的狀態序列(相當于有s個樣本,所有樣本長度一樣)


然后我們需要做的就是統計三種頻率:

① 在樣本中,從t 時刻的各狀態轉移到 t+1時刻的各狀態的頻率,比如第一個狀態轉移到第二個狀態共有3次,第2個狀態轉移到第三個狀態共有10次,等。。。。。

據此能夠推導出狀態轉移概率


② 在樣本中,每對(某個狀態j,某個觀測k)出現的頻率,就是狀態為j 觀測為k的概率,即混淆矩陣


③在樣本中,統計s個樣本中初始狀態為?的頻率就是初始狀態概率πi

缺點就是:監督學習需要人工標注訓練數據,代價高

3.前向-后向算法

3.1 目標

其它稱呼有:Baum-Welch算法

主要針對只有觀測序列沒有對應的狀態序列的情況

這一部分在《統計學習方法》中推導的非常好,主要利用的是拉格朗日乘子法求解

已知:訓練數據是S個長度為T的觀測序列,沒有對應的狀態序列

求解:學習隱馬爾科夫的參數,包括:轉移矩陣、混淆矩陣、初始概率

思路:

因為HMM中引入了隱狀態,所以設隱狀態序列為I,那么HMM就可以當做一個具有隱變量的概率模型:


其實這個式子就有點像一種邊緣概率:


只不過將這個概率加了一個條件,是在HMM的模型參數下計算的,就變成了條件概率。

求解的時候利用E-M算法求解即可(EM中,E代表expectation,是求期望;M代表的是maximization,求極大;合起來EM算法就被稱為期望值最大化算法)

3.2 EM步驟簡述

摘自《統計學習方法》

輸入:觀測變量數據Y,隱變量數據Z,聯合分布 P(Y, Z | θ),條件分布 P( Z | Y , θ)

輸出:模型參數 θ

步驟:

① 選擇參數初值,開始迭代

② E步:記為第 i 次迭代參數θ的估計值,在第 i+1 次迭代E步,計算


第二個等式的第二項是給定觀測數據Y和當前的估計參數下隱變量數據Z的條件概率分布

③ M步:求使得極大化的θ,確定第 i+1 次迭代的參數的估計值


④ 重復第②和③步,直到收斂

3.3求解HMM模型參數

(1) 確定完全數據的對數似然函數

觀測數據:

隱藏數據:

完全數據:

完全數據的對數似然函數就是

②EM算法之E:求Q函數


式子中是HMM模型參數的當前估計值,λ 是要極大化的HMM模型參數

對于前面一半,根據概率有向圖的聯合概率分布,我們知道



兩式相乘就可以得到:


根據P(O,I | λ)可以將 Q 函數可以改寫為:


式中的求和是對所有訓練數據的序列長度T進行的

③ EM算法之M:極大化Q函數求解模型參數π、A、B

觀察E步驟的式子發現三個參數剛好分別在三項中,所以單獨對每一項求解就行了

第一步先求π:

注意,π只與初始狀態有關,第一項可以寫成


意思就是在模型參數已知的條件下,初始時候的各種狀態以及對應的初始觀測的概率的和

限制條件就是對于某種觀測,初始的所有狀態,其概率和為1,例如,第一天觀測為晴天時候,海藻的干燥、濕潤、潮濕三個狀態概率和為1


那么就可以根據拉格朗日乘法計算了,設


那么令其偏導數等于零


對 i 求和得到


再帶回偏導為0的式子中得到


第二步求轉移矩陣A

將第二項改寫為


找到約束條件為


意思就是上一個隱狀態到當前所有隱狀態的轉移概率和為1,比如今天是晴天,那么到明天得隱狀態轉移:晴天->多云,晴天->雨天,晴天->晴天的概率和為1

依舊根據拉格朗日乘子法得到


第三步求混淆矩陣

將第三項改寫為


找到約束條件為


也就是說一個隱狀態對應的所有觀測概率和為1,比如天氣為晴天的時候,對應的海藻干燥、濕潤、潮濕的概率和為1

但是有一個需要注意的是只有當觀測狀態為當前所求導的狀態時候,對的偏導數才不為0,其實也就相當于的時候才是偏導不為0,書中用表示,最終偏導以后求得:


3.4 Baum-Welch算法

該求得都求了,那么具體的HMM模型參數估計算法就是:

輸入:觀測數據

輸出:HMM的模型參數

(1) 初始化:

對n=0,選取得到模型

(2) 遞推,對n=1,2,...

分別計算上面的三個偏導

(3) 計算到最后一次迭代就得到最終結果了


后續分析一下HMM的代碼再另行添加

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的HMM——前向后向算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。