Viterbi algorithm

2023-05-10 10:33 更新

HMM(隱馬爾可夫模型)是用來(lái)描述隱含未知參數(shù)的統(tǒng)計(jì)模型,舉一個(gè)經(jīng)典的例子:一個(gè)東京的朋友每天根據(jù)天氣{下雨,天晴}決定當(dāng)天的活動(dòng){公園散步,購(gòu)物,清理房間}中的一種,我每天只能在twitter上看到她發(fā)的推“啊,我前天公園散步、昨天購(gòu)物、今天清理房間了!”,那么我可以根據(jù)她發(fā)的推特推斷東京這三天的天氣。在這個(gè)例子里,顯狀態(tài)是活動(dòng),隱狀態(tài)是天氣。

任何一個(gè)HMM都可以通過(guò)下列五元組來(lái)描述:

:param obs:觀測(cè)序列
:param states:隱狀態(tài)
:param start_p:初始概率(隱狀態(tài))
:param trans_p:轉(zhuǎn)移概率(隱狀態(tài))
:param emit_p: 發(fā)射概率 (隱狀態(tài)表現(xiàn)為顯狀態(tài)的概率)

6cbb8645gw1egs40a3bpmj208n09574o

偽碼如下:

states = ('Rainy', 'Sunny')

observations = ('walk', 'shop', 'clean')

start_probability = {'Rainy': 0.6, 'Sunny': 0.4}

transition_probability = { 'Rainy' : {'Rainy': 0.7, 'Sunny': 0.3}, 'Sunny' : {'Rainy': 0.4, 'Sunny': 0.6},
    }

emission_probability = { 'Rainy' : {'walk': 0.1, 'shop': 0.4, 'clean': 0.5}, 'Sunny' : {'walk': 0.6, 'shop': 0.3, 'clean': 0.1},
}
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)