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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HMM——前向后向算法

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

1. 前言

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

根據(jù)已知觀測(cè)序列和對(duì)應(yīng)的狀態(tài)序列,或者說只有觀測(cè)序列,將學(xué)習(xí)過程分為監(jiān)督和無監(jiān)督學(xué)習(xí)方法

主要參考《李航統(tǒng)計(jì)學(xué)習(xí)》、《PRML》

2. 監(jiān)督學(xué)習(xí)方法

給定了s個(gè)長度相同的觀測(cè)序列和對(duì)應(yīng)的狀態(tài)序列(相當(dāng)于有s個(gè)樣本,所有樣本長度一樣)


然后我們需要做的就是統(tǒng)計(jì)三種頻率:

① 在樣本中,從t 時(shí)刻的各狀態(tài)轉(zhuǎn)移到 t+1時(shí)刻的各狀態(tài)的頻率,比如第一個(gè)狀態(tài)轉(zhuǎn)移到第二個(gè)狀態(tài)共有3次,第2個(gè)狀態(tài)轉(zhuǎn)移到第三個(gè)狀態(tài)共有10次,等。。。。。

據(jù)此能夠推導(dǎo)出狀態(tài)轉(zhuǎn)移概率


② 在樣本中,每對(duì)(某個(gè)狀態(tài)j,某個(gè)觀測(cè)k)出現(xiàn)的頻率,就是狀態(tài)為j 觀測(cè)為k的概率,即混淆矩陣


③在樣本中,統(tǒng)計(jì)s個(gè)樣本中初始狀態(tài)為?的頻率就是初始狀態(tài)概率πi

缺點(diǎn)就是:監(jiān)督學(xué)習(xí)需要人工標(biāo)注訓(xùn)練數(shù)據(jù),代價(jià)高

3.前向-后向算法

3.1 目標(biāo)

其它稱呼有:Baum-Welch算法

主要針對(duì)只有觀測(cè)序列沒有對(duì)應(yīng)的狀態(tài)序列的情況

這一部分在《統(tǒng)計(jì)學(xué)習(xí)方法》中推導(dǎo)的非常好,主要利用的是拉格朗日乘子法求解

已知:訓(xùn)練數(shù)據(jù)是S個(gè)長度為T的觀測(cè)序列,沒有對(duì)應(yīng)的狀態(tài)序列

求解:學(xué)習(xí)隱馬爾科夫的參數(shù),包括:轉(zhuǎn)移矩陣、混淆矩陣、初始概率

思路:

因?yàn)镠MM中引入了隱狀態(tài),所以設(shè)隱狀態(tài)序列為I,那么HMM就可以當(dāng)做一個(gè)具有隱變量的概率模型:


其實(shí)這個(gè)式子就有點(diǎn)像一種邊緣概率:


只不過將這個(gè)概率加了一個(gè)條件,是在HMM的模型參數(shù)下計(jì)算的,就變成了條件概率。

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

3.2 EM步驟簡述

摘自《統(tǒng)計(jì)學(xué)習(xí)方法》

輸入:觀測(cè)變量數(shù)據(jù)Y,隱變量數(shù)據(jù)Z,聯(lián)合分布 P(Y, Z | θ),條件分布 P( Z | Y , θ)

輸出:模型參數(shù) θ

步驟:

① 選擇參數(shù)初值,開始迭代

② E步:記為第 i 次迭代參數(shù)θ的估計(jì)值,在第 i+1 次迭代E步,計(jì)算


第二個(gè)等式的第二項(xiàng)是給定觀測(cè)數(shù)據(jù)Y和當(dāng)前的估計(jì)參數(shù)下隱變量數(shù)據(jù)Z的條件概率分布

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


④ 重復(fù)第②和③步,直到收斂

3.3求解HMM模型參數(shù)

(1) 確定完全數(shù)據(jù)的對(duì)數(shù)似然函數(shù)

觀測(cè)數(shù)據(jù):

隱藏?cái)?shù)據(jù):

完全數(shù)據(jù):

完全數(shù)據(jù)的對(duì)數(shù)似然函數(shù)就是

②EM算法之E:求Q函數(shù)


式子中是HMM模型參數(shù)的當(dāng)前估計(jì)值,λ 是要極大化的HMM模型參數(shù)

對(duì)于前面一半,根據(jù)概率有向圖的聯(lián)合概率分布,我們知道



兩式相乘就可以得到:


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


式中的求和是對(duì)所有訓(xùn)練數(shù)據(jù)的序列長度T進(jìn)行的

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

觀察E步驟的式子發(fā)現(xiàn)三個(gè)參數(shù)剛好分別在三項(xiàng)中,所以單獨(dú)對(duì)每一項(xiàng)求解就行了

第一步先求π:

注意,π只與初始狀態(tài)有關(guān),第一項(xiàng)可以寫成


意思就是在模型參數(shù)已知的條件下,初始時(shí)候的各種狀態(tài)以及對(duì)應(yīng)的初始觀測(cè)的概率的和

限制條件就是對(duì)于某種觀測(cè),初始的所有狀態(tài),其概率和為1,例如,第一天觀測(cè)為晴天時(shí)候,海藻的干燥、濕潤、潮濕三個(gè)狀態(tài)概率和為1


那么就可以根據(jù)拉格朗日乘法計(jì)算了,設(shè)


那么令其偏導(dǎo)數(shù)等于零


對(duì) i 求和得到


再帶回偏導(dǎo)為0的式子中得到


第二步求轉(zhuǎn)移矩陣A

將第二項(xiàng)改寫為


找到約束條件為


意思就是上一個(gè)隱狀態(tài)到當(dāng)前所有隱狀態(tài)的轉(zhuǎn)移概率和為1,比如今天是晴天,那么到明天得隱狀態(tài)轉(zhuǎn)移:晴天->多云,晴天->雨天,晴天->晴天的概率和為1

依舊根據(jù)拉格朗日乘子法得到


第三步求混淆矩陣

將第三項(xiàng)改寫為


找到約束條件為


也就是說一個(gè)隱狀態(tài)對(duì)應(yīng)的所有觀測(cè)概率和為1,比如天氣為晴天的時(shí)候,對(duì)應(yīng)的海藻干燥、濕潤、潮濕的概率和為1

但是有一個(gè)需要注意的是只有當(dāng)觀測(cè)狀態(tài)為當(dāng)前所求導(dǎo)的狀態(tài)時(shí)候,對(duì)的偏導(dǎo)數(shù)才不為0,其實(shí)也就相當(dāng)于的時(shí)候才是偏導(dǎo)不為0,書中用表示,最終偏導(dǎo)以后求得:


3.4 Baum-Welch算法

該求得都求了,那么具體的HMM模型參數(shù)估計(jì)算法就是:

輸入:觀測(cè)數(shù)據(jù)

輸出:HMM的模型參數(shù)

(1) 初始化:

對(duì)n=0,選取得到模型

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

分別計(jì)算上面的三個(gè)偏導(dǎo)

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


后續(xù)分析一下HMM的代碼再另行添加

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。