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