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