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)的概率)
偽碼如下:
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},
}
更多建議: