1. 程式人生 > >隱馬爾科夫模型

隱馬爾科夫模型

算法 模型 三元 符號表 nbsp 元組 時間 bsp 初始

馬爾科夫過程

馬爾科夫過程可以看做是一個自動機,以一定的概率在各個狀態之間跳轉。

考慮一個系統,在每個時刻都可能處於N個狀態中的一個,N個狀態集合是 {S1,S2,S3,...SN}。我們現在用q1,q2,q3,…qn來表示系統在t=1,2,3,…n時刻下的狀態。在t=1時,系統所在的狀態q取決於一個初始概率分布PI,PI(SN)表示t=1時系統狀態為SN的概率。

馬爾科夫模型有兩個假設:

1. 系統在時刻t的狀態只與時刻t-1處的狀態相關;(也稱為無後效性)

2. 狀態轉移概率與時間無關;(也稱為齊次性或時齊性)

第一條具體可以用如下公式表示:

P(qt=Sj|qt-1

=Si,qt-2=Sk,…)= P(qt=Sj|qt-1=Si)

其中,t為大於1的任意數值,Sk為任意狀態

第二個假設則可以用如下公式表示:

P(qt=Sj|qt-1=Si)= P(qk=Sj|qk-1=Si)

其中,k為任意時刻。

隱馬爾科夫模型由初始狀態向量S、狀態轉移概率矩陣A和觀測概率矩陣B決定,S和A決定狀態序列,B決定觀測序列,因此,隱馬爾科夫模型λ可以用三元組符號表示,即

    λ=(A,B,S)

A,B,S稱為隱馬爾科夫模型的三要素。

隱馬爾科夫可以解決的三個問題

(1)概率計算問題:給定模型λ=(A,B,S)和觀測序列O=(o1,o2,...,or),計算在模型λ下觀測序列O出現的概率p(O|λ)①直接計算法

②前向算法

③後向算法

(2)學習模型:已知觀測序列O=(o1,o2,...,or),估計模型λ=(A,B,S)的參數,使得在該模型下觀測序列概率p(O|λ)最大,即用極大似然估計的方法估計參數

(3)預測問題:已知模型λ=(A,B,S)和觀測序列O=(o1,o2,...,or),求給定觀測序列條件概率p(O|λ)最大的狀態序列。即給定觀測序列,求最優可能的對應的狀態序列。

隱馬爾科夫模型