隱馬爾科夫模型,學習筆記

2021-09-30 17:01:07 字數 1541 閱讀 1947

1. 概率計算問題,已知模型和觀測序列,計算在當前模型下觀測序列出現的概率。

2. 學習問題。已知觀測序列,來估計模型的引數**移概率等等),使得在該模型下已知的觀測序列出現的概率最大(極大似然)

3. **(解碼)問題,已知模型和觀測序列,求最有可能對應的狀態序列。

如果已經知道模型的話,那麼狀態轉移概率矩陣,初始狀態概率向量,觀測概率矩陣都已知。

首先考慮暴力的直接計算法

就是直接按照概率公式。

1.求出所有的可能出現的狀態序列,

2.對於每種可能出現的狀態序列,計算已知的觀測序列出現的概率(乘上對應的觀測概率矩陣)

3.將全部的概率相加,就是已知的觀測序列出現的概率。

前向概率:到乙個時刻t,時刻t時狀態為q(而非觀測),觀測序列為(o1,o2.....ot)的概率。

前向演算法:

1. 計算初值:根據初始狀態概率向量,和觀測概率矩陣,計算出每一種狀態對應的t=1的前向概率。

2. 遞推:計算每一種狀態轉移到當前狀態i的概率和,再乘上觀測概率。

3. 終止:概率計算為:對t時刻的每一種狀態i的前向概率求和。

基本和前向演算法很類似。

具體而言,定義t時刻狀態為q,但已知觀測序列為(ot+1,ot+2.....ot)

後向演算法:

1. 初始t時刻的所有狀態i的後向概率為1。(因為後向概率就是這麼定義的。「在時刻t的狀態為i的條件下」)

2. 前推,前一時刻,對於所有t+1時刻狀態j  *  轉移概率i->j  *  觀測概率觀測到oj   求和

3. 終止。

1. 時刻t,處於狀態qi的概率:參見統計機器學習p179(前向*後向)/(對於所有狀態求和前向*後向)

2.時刻t處於狀態qi,且時刻t+1,處於狀態**的概率:

3. 觀測o下狀態i出現的期望值

4.觀測o下由狀態i轉移的期望值

5. 觀測o下由狀態i轉移到狀態j的期望值

極大似然估計法。

1.估計轉移概率:用頻數做比,i->j  /  i->所有狀態

2. 估計觀測概率:頻數做比 ,狀態j觀測為k/狀態j觀測為任意狀態

3. 初始狀態概率:s個樣本中初始狀態為i的概率

只給出s個觀測序列,而沒有給出對應的狀態序列。

使用em演算法。

(略)就像是訓練出模型之後,輸入樣本(觀測序列),得到輸出(狀態序列)

在每個時刻t選擇在該時刻最有可能出現大的狀態i,從而得到乙個狀態序列作為**的結果。

(這裡用到之前計算的某一時刻狀態i的概率,在前向和後向演算法那裡)

計算某一時刻t下,所有狀態i的概率,取其中的最大值。

計算所有時刻,形成乙個序列。

使用動態規劃解馬爾可夫模型**問題。(求概率最大的路徑,這時一條路徑對應乙個狀態序列)

根據動態規劃原理,如果最優路徑(狀態序列),在時刻t通過節點(狀態)i,那麼之後的部分路徑也一定是最優的。

即子路徑最優原則。

略參見統計機器學習中的例子。很詳細。

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

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

隱馬爾科夫模型

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

隱馬爾科夫模型

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