先介紹一下馬爾科夫模型:html
馬爾可夫模型(Markov Model)是一種統計模型,普遍應用在語音識別,詞性自動標註,音字轉換,機率文法等各個天然語言處理等應用領域。通過長期發展,尤爲是在語音識別中的成功應用,使它成爲一種通用的統計工具。算法
特徵:有限視野、時間不變性工具
隱性馬爾可夫模型:學習
HMM(Hidden Markov Model), 也稱隱性馬爾可夫模型,是一個機率模型,用來描述一個系統隱性狀態的轉移和隱性狀態的表現機率。spa
特徵:1)問題是基於序列的,好比時間序列,或者狀態序列。2)問題中有兩類數據,一類序列數據是能夠觀測到的,即觀測序列;而另外一類數據是不能觀察到的,即隱藏狀態序列,簡稱狀態序列。htm
HMM的定義:blog
對於HMM模型,首先咱們假設Q是全部可能的隱藏狀態的集合,V是全部可能的觀測狀態的集合,即:get
其中,N是可能的隱藏狀態數,M是全部的可能的觀察狀態數。博客
對於一個長度爲T的序列,I對應的狀態序列, O是對應的觀察序列,即:數學
其中,任意一個隱藏狀態it∈Q,任意一個觀察狀態ot∈V
HMM作出了 兩個很重要的假設:
1) 齊次馬爾科夫鏈假設。即任意時刻的隱藏狀態只依賴於它前一個隱藏狀態。
2) 觀測獨立性假設。即任意時刻的觀察狀態只僅僅依賴於當前時刻的隱藏狀態。
HMM模型一共有三個經典的問題須要解決:
1) 評估觀察序列機率。即給定模型λ=(A,B,Π)和觀測序列O={o1,o2,...oT},計算在模型λλ下觀測序列OO出現的機率P(O|λ)P(O|λ)。這個問題的求解須要用到前向後向算法。這個問題是HMM模型三個問題中最簡單的。
2)模型參數學習問題。即給定觀測序列O={o1,o2,...oT},估計模型λ=(A,B,Π)的參數,使該模型下觀測序列的條件機率P(O|λ)P(O|λ)最大。這個問題的求解須要用到基於EM算法的鮑姆-韋爾奇算法。這個問題是HMM模型三個問題中最複雜的。
3)預測問題,也稱爲解碼問題。即給定模型λ=(A,B,Π)和觀測序列O={o1,o2,...oT},求給定觀測序列條件下,最可能出現的對應的狀態序列,這個問題的求解須要用到基於動態規劃的維特比算法。這個問題是HMM模型三個問題中複雜度居中的算法。
使用條件:
1.隱性狀態的轉移必須知足馬爾可夫性。(狀態轉移的馬爾可夫性:一個狀態只與前一個狀態有關)
2. 隱性狀態必須可以大概被估計。
在知足條件的狀況下,肯定問題中的隱性狀態是什麼,隱性狀態的表現可能又有哪些.
HMM適用於的問題在於,真正的狀態(隱態)難以被估計,而狀態與狀態之間又存在聯繫。
參考博客:http://www.cnblogs.com/pinard/p/6945257.html