當前位置:
首頁 >
机器学习笔记(十五)——HMM序列问题和维特比算法
發(fā)布時間:2025/3/15
24
豆豆
生活随笔
收集整理的這篇文章主要介紹了
机器学习笔记(十五)——HMM序列问题和维特比算法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、引言
????這篇blog主要講序列問題和其解法——維特比算法。
二、HMM中的第二個基本問題
序列問題:給定一個觀察序列O=O1O2…OT和模型u=(A,B,π),如何快速有效地選擇在一定意義下”最優(yōu)”的狀態(tài)序列Q=q1q2…qT,使得該狀態(tài)序列“最好地解釋”觀察序列?
三、定義最優(yōu)狀態(tài)序列
????序列問題的答案并不是唯一的,那是因為它取決于對“最優(yōu)狀態(tài)序列的理解”。
定義 最優(yōu)狀態(tài)序列 在給定模型u和觀察序列O的條件下,使得條件概率P(Q|O,u)最大的狀態(tài)序列:
四、維特比算法
????維特比算法運用動態(tài)規(guī)劃的搜索算法求解這種最優(yōu)狀態(tài)序列。為了實現(xiàn)這種搜索,首先定義一個維特比變量δt(i)。
定義 維特比變量δt(i) 是在時間t時,HMM沿著某一條路徑到達狀態(tài)si,并輸出觀察序列O1O2…Ot的最大概率:
與前向變量類似, δt(i)有如下遞推關(guān)系:
δt+1(i)=maxj[δt(j)aji]bi(Ot+1)
???? 為了記錄在時間 t時,HMM通過哪一條概率最大的路徑到達狀態(tài)si,維特比算法設(shè)置了另外一個變量 ψt(i),用于路徑記憶,讓 ψt(i)記錄該路徑上的狀態(tài) si的前一個(在時間 t?1)狀態(tài)。
維特比算法
1. 初始化
2. 歸納計算
δt(j)=max1≤i≤N[δt?1(i)aij]bj(Ot),2≤t≤T;1≤j≤N記憶回退路徑:ψt(j)=argmax1≤i≤N[δt?1(i)aij]bj(Ot),2≤t≤T;1≤i≤N
3. 終結(jié)
QT^=argmax1≤i≤N[δT(i)]P^(QT^)=max1≤i≤N[δT(i)]
4. 路徑(狀態(tài)序列)回溯
qt^=ψt+1(q^t+1),t=T?1,T?2,…,1
???? 維特比算法的時間復(fù)雜度也是 O(N2T)。 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
總結(jié)
以上是生活随笔為你收集整理的机器学习笔记(十五)——HMM序列问题和维特比算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 元器件基础知识--排阻命名
- 下一篇: Hi3516A开发-- 常见问题FAQs