隱馬爾科夫模型

2021-06-08 16:49:39 字數 1539 閱讀 2332

隱馬爾科夫(hiddenmarkov model)簡稱為hmm,hmm資料相當豐富,推薦參見《hmm學習最佳範例與崔曉源的部落格》一文,本文只對hmm進行簡要介紹,然後說明開源ghmm實現在linux環境的搭建,hmm的開源實現有眾多不同語言的實現。

馬爾科夫模型

一階馬爾科夫模型假設為:

1、t+l時刻系統狀態的概率分布只與t時刻的狀態有關,與t時刻以前的狀態無關;

2、從t時刻到t+l時刻的狀態轉移與t的值無關。

數學表達為:

依次類推,n階馬爾科夫中當前狀態與前面n個時刻的狀態有關。

隱馬爾科夫模型:

在馬爾可夫模型中,狀態對於觀察者來說是直接可見的,但是而在隱馬爾可夫模型中,狀態並不是直接可見的,但受狀態影響的觀測變數則是可見的。如下圖,x為不同時刻的狀態,y為對應時刻的觀察量。

隱馬爾科夫模型三要素:

狀態轉移矩陣:包含了乙個隱藏狀態到另乙個隱藏狀態的概率

觀測概率矩陣:包含了某乙個隱藏狀態觀察到的某個觀察狀態的概率。

初始狀態概率向量:初始狀態t=1下的狀態概率。

隱馬爾可夫應用:

評估:已知模型引數,求乙個觀察序列的概率,通常使用forward演算法。

解碼:給定觀察序列搜尋最可能的隱藏狀態序列,通常使用viterbi演算法。

學習:根據觀察序列生成隱馬爾科夫模型,通常使用baum-welch演算法。

ghmm在linux下的搭建

> ./configure

> make

> make install

為了能夠在python下使用ghmm模組,還需要以下步驟:

> python setup.py build
> python setup.py install
啟動python,輸入

>importghmm

會出現如下錯誤,importerror : libghmm.so.1: cannot open shared object file: no suchfile or directory

解決方案參見一文。

具體方法為在.bashrc檔案中新增:

exportld_library_path=$ld_library_path:/usr/local/lib

並logout之後再 login,重新匯入ghmm模組,執行正常。

>help(ghmm )後,有詳細的ghmm模組相關介紹。

執行例項結果如下:

馬爾科夫模型與隱馬爾科夫模型

隨機過程 是隨時間而隨機變化的過程。又稱為隨機函式。馬爾科夫模型 vmm 它描述了一類重要的隨機過程。乙個系統有有限個狀態集s 隨時間推移,該系統將同某一狀態轉移到另一狀態。q s1,s2,sn 為一隨機變數序列,隨機變數取值為狀態集s中的乙個狀態,設時間t時狀態為qt。對系統的描述通常是給出當前時...

隱馬爾科夫模型

一 介紹 introduction 我們通常都習慣尋找乙個事物在一段時間裡的變化模式 規律 這些模式發生在很多領域,比如計算機中的指令序列,句子中的詞語順序和口語單詞的因素修咧等等,事實上任何領域中的一系列事件都有可能產生有用的模式。考慮乙個簡單的例子,有人試圖通過一片海藻推斷天氣 民間傳說告訴我們...

隱馬爾科夫模型

一 問題 狀態隨時間變化,需要跟蹤 二 基本思想 在每個時間點,根據新的證據變數來更新世界狀態 三 時間上的概率推理 建立 轉移模型 感測器模型 先驗概率分別 1.轉移模型 世界如何演變,在描述了給定過去的時間的世界狀態下,當前時間世界的狀態變數 2.感測器模型,觀察模型 描述了給定當前世界狀態條件...