由於前一段時間在看ctc**,裡面用到了hmm中的前向後向演算法,推公式的時候·一臉懵逼,所以又來學習hmm的思想,所以寫篇部落格做個筆記。本部分部落格分為兩篇,第一篇主要介紹一些基本的概念和思想,第二篇介紹理論的推導。部落格的內容主要是基於《統計學習方法》以及其他的一些部落格
隱馬爾可夫模型:隱馬爾科夫模型是關於時序的概念模型,描述了由乙個隱藏的馬爾科夫鏈隨機產生不可觀測的狀態隨機序列,再由各個狀態生成乙個觀測而產生的觀測隨機序列的過程。隱藏的馬爾科夫鏈隨機生成的狀態序列成為狀態序列:每個狀態生成乙個觀測,而由此產生的觀測的隨機序列,稱為觀測序列。序列的每乙個位置又可以看作乙個時刻。
當第一次看到上述描述時估計大都數人都會和我一樣一臉矇逼,什麼是狀態序列,什麼又是觀測序列?還有隱馬爾可夫鏈又是神馬?
對於上述的例子而言,如果連續持續多天,你的朋友可能根據不同的天氣進行不同的活動(當然,這裡有乙個前提,你的朋友在同一天只能進行一種活動),這幾天天氣的變化的就是乙個隱藏的狀態序列,比如說連續五天的天氣為[『晴』,『雨』,『雨』,『晴』,『雨』](這是在你不看天氣預報的前提下o(╯□╰)o),而你的朋友每一天做的活動就組成了觀測序列。這樣看起來是不是簡單多了。如果對這個例子還是不太理解,推薦看看參考資料[2]。
有了上面的例子,下面可以對隱馬爾可夫模型進行符號化的定義。
隱馬爾科夫模型有初始概率分布、狀態轉移概率分布以及觀測概率分布確定,其形式化定義如下:
設q qq
qq q
qqqit
有關。而與其他的狀態無關。下面以乙個具體例子幫助理解。
假設有4個盒子,每乙個盒子裡面都裝有紅白兩種顏色的球,盒子裡面的紅白求數有下面**給出。盒子1
234紅球數53
68白球數574
2按照下面的方法抽球,並且產生乙個關於球的顏色觀測序列:首先從四個盒子中等概率隨機抽取乙個求。記錄顏色然後放回盒子,然後根據當前的概率隨機轉移到下乙個盒子。規則是:當前盒子為1,下個盒子一定是2,當前盒子為2或者3。分別以0.4和0.6的概率轉移到左邊或者右邊的盒子,如果當前盒子為4,那麼各以0.5的概率轉移到盒子3或者停留在盒子4。隨機抽取乙個球,如此重複5次,得到乙個球的顏色的觀察序列:
o =紅
,紅,白
,白,紅
o=紅,
紅,白,
白,紅o
=o=o= o=\
o=紅,紅,
白,白,
紅o=紅
,紅,白
,白,紅
o=π=
(0.2
5,0.
25,0
.25,
0.25
) 狀態轉移概率分布為
a =⎡
⎣⎢⎢⎢
⎢00.400100.400
a=⎡⎣⎢⎢⎢⎢00.400100.400
a=⎡⎣⎢⎢
⎢⎢00
.400
100.400
馬爾科夫模型與隱馬爾科夫模型
隨機過程 是隨時間而隨機變化的過程。又稱為隨機函式。馬爾科夫模型 vmm 它描述了一類重要的隨機過程。乙個系統有有限個狀態集s 隨時間推移,該系統將同某一狀態轉移到另一狀態。q s1,s2,sn 為一隨機變數序列,隨機變數取值為狀態集s中的乙個狀態,設時間t時狀態為qt。對系統的描述通常是給出當前時...
隱馬爾科夫模型
隱馬爾科夫 hiddenmarkov model 簡稱為hmm,hmm資料相當豐富,推薦參見 hmm學習最佳範例與崔曉源的部落格 一文,本文只對hmm進行簡要介紹,然後說明開源ghmm實現在linux環境的搭建,hmm的開源實現有眾多不同語言的實現。馬爾科夫模型 一階馬爾科夫模型假設為 1 t l時...
隱馬爾科夫模型
一 介紹 introduction 我們通常都習慣尋找乙個事物在一段時間裡的變化模式 規律 這些模式發生在很多領域,比如計算機中的指令序列,句子中的詞語順序和口語單詞的因素修咧等等,事實上任何領域中的一系列事件都有可能產生有用的模式。考慮乙個簡單的例子,有人試圖通過一片海藻推斷天氣 民間傳說告訴我們...