HMM隱形馬爾可夫模型實驗報告_第1頁
HMM隱形馬爾可夫模型實驗報告_第2頁
HMM隱形馬爾可夫模型實驗報告_第3頁
HMM隱形馬爾可夫模型實驗報告_第4頁
HMM隱形馬爾可夫模型實驗報告_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、模式識別與機器學習課程實驗報告1實驗內容DesignanHMMmodel,andgeneratesequentialdata(trainingandtest)withthemodel.Learningmodelparametersonthetrainingdata.Testthemodellearnedonthetestdata:Estimatethemostprobablevaluesforthelatentvariables.2實驗環(huán)境Window7,matlab7.11.03實驗原理HMM即隱性馬爾可夫模型,此模型可認為是狀態(tài)空間模型的一個特殊情況。當令狀態(tài)空間模型中的潛變量為離散的時,

2、我們即得到了隱性馬爾可夫模型。3.1模型狀態(tài)在一個典型的HMM模型中,通常有兩個狀態(tài)集合來描述該模型狀態(tài):隱含狀態(tài),通常用S表示。這些狀態(tài)之間滿足馬爾可夫性質,是馬爾可夫模型中實際所隱含的狀態(tài)。這些狀態(tài)通常無法通過直接觀測而得到。(例如SI、S2、S3等等)。可觀測狀態(tài),通常用O表示。在模型中與隱含狀態(tài)相關聯(lián),可通過直接觀測而得到。(例如Ol、O2、03等等)??捎^測狀態(tài)的數(shù)目不一定要和隱含狀態(tài)的數(shù)目一致。3.2模型參數(shù)一個典型的HMM模型包含以下參數(shù): 初始狀態(tài)概率矩陣n。表示隱含狀態(tài)在初始時刻t=l時刻的概率矩陣,(例如t=l時,P(Sl)=pl、P(S2)=P2、P(S3)=p3,則初始

3、狀態(tài)概率矩陣n=p1p2p3).隱含狀態(tài)轉移概率矩陣A。描述了HMM模型中各個狀態(tài)之間的轉移概率,N代表隱含狀態(tài)數(shù)目。其中Aij=P(Sj|Si),lWi,jWN。表示在t時刻、狀態(tài)為Si的條件下,在t+1時刻狀態(tài)是Sj的概率。觀測狀態(tài)發(fā)射概率矩陣B。表示在t時刻、隱含狀態(tài)是Sj條件下,觀察狀態(tài)為Oi的概率。令N代表隱含狀態(tài)數(shù)目,M代表可觀測狀態(tài)數(shù)目,貝V:Bij=P(Oi|Sj),lWiWM,lWjWN.一般來說,可以用入=(A,B,n)三元組來表示一個隱性馬爾可夫模型。給定了這三個參數(shù),我們便得到了一個HMM模型。在實驗過程中,我們在matlab環(huán)境下指定各組參數(shù),得到一個HMM后,便可以

4、利用這個模型生成一定量的數(shù)據(jù)作為訓練集與測試集。3相關算法根據(jù)實驗內容,可以得知這個實驗中主要涉及到利用HMM解決的三類問題:給定觀察得到的序列O,如何調整參數(shù)入,使P(O|入)最大。即通過給定O,不斷估算一個適合的參數(shù)入=(A,B,n),使發(fā)生這個O的概率P(O|入)最大。這個問題的一種有效解決算法是Baum-Welch算法,即EM算法的一種特殊形式。且通過對BW算法的分析可以看出,該算法以前后向算法為基礎。前后向算法用于計算在某一時刻t,潛變量處于某一狀態(tài)的概率。EM算法的具體過程在此不再贅述。給定觀測序列0=0102030t和模型參數(shù)入=(A,B,n),怎樣有效計算某一觀測序列的概率,進

5、而可對該HMM做出相關評估。例如,已有一些模型參數(shù)各異的HMM,給定觀測序列O=O1O2O3-Ot,我們想知道哪個HMM模型最可能生成該觀測序列。通常我們利用前后向算法分別計算每個HMM產生給定觀測序列O的概率,然后從中選出最優(yōu)的HMM模型。給定一個觀察到的序列O,及參數(shù)入,求出最有可能產生這種序列的狀態(tài)序列S。這個問題的一種有效解決算法是Viterbi算法,也是一種動態(tài)的規(guī)劃方法,用來找出最可能的狀態(tài)路徑。Viterbi算法的具體原理及過程在此不再絜述。4實驗過程一、定義HMM模型中的各參數(shù),得到一個HMM模型。在本實驗中,定義該HMM模型為以下實例。假設程序員Tom每天的活動會被其所在項目

6、組是否忙碌所影響。在本例中,項目組忙碌情況為潛變量,包括忙(Busy),閑(free)二種狀態(tài);Tom每天的活動是觀測變量,包括編程(programming,運動(Sport)休息(Relax),讀書(Reading,旅行(Travellin)潛變量對應狀態(tài)如表1所示:忙閑12表1可觀測變量狀態(tài)對應如表2所示:編程運動休息讀書旅行12345表2此HMM模型中的參數(shù)的初始值分別定義如下:n二0.50.5A=0.60.7_0.40.3_0.60.20.10.2B=0.10.40.10.1_0.10.1_賦得初始值后,利用matlab中的某函數(shù),隨機根據(jù)(A,B,n)的值,生成一個data集合,即可

7、根據(jù)已有的markov模型來生成一個數(shù)據(jù)集。在這個數(shù)據(jù)集中,將會80%的數(shù)據(jù)用來訓練生成一個HMM的參數(shù),另外20%將會用來作為測試集來測試這一模型的準確性。具體的程序運行及實現(xiàn)過程詳見代碼說明及注釋。程序運行后,可見代碼運行產生的數(shù)據(jù)集data的部分數(shù)值顯示如圖1所示(也可在命令窗口中通過指令顯示變量數(shù)值,這里我們直接在workspace中查看):二、根據(jù)所得的數(shù)據(jù)集作為輸入,對HMM模型進行訓練,產生一組新的參數(shù)。如實驗原理部分所述,該部分所采用EM作為訓練參數(shù)產生的方法。在程序中,設置迭代次數(shù)為50次。經(jīng)過50次迭代后,程序運行結果如圖2所示:迭代數(shù)次后得到的訓練模型中的對數(shù)似然值:it

8、eration4乞loglik=-481.581776iteration47,loglik=-481.569585iteration48jloglik=-481.557800iteration49loglik=-481.546372iteration50jloglik=-481.535261圖2得到的訓練模型中的初始概率矩陣的值如圖3所示:圖3得到訓練模型中的轉移矩陣的值如圖4所示:得到的訓練模型中的發(fā)射矩陣的值如圖5所示:三、利用前后向算法,通過計算測試數(shù)據(jù)的似然數(shù)值,對訓練所得的模型進行測試。程序運行后產生的似然對數(shù)值為loglik,結果如下圖6所示:三、根據(jù)Viterbi算法,用訓練產生

9、的模型,估算出該模型下測試數(shù)據(jù)的最大可能的潛變量序列。程序運行后產生的序列如下圖7所示:5實驗結果本實驗的實驗結果已在實驗過程中給出。6實驗總結及存在的問題6.1實驗總結:給定參數(shù),完成對HMM模型的構建,并基于該模型生成數(shù)據(jù)集,用于訓練與測試(80%用作訓練數(shù)據(jù),20%用作測試數(shù)據(jù))。以上一步所產生的數(shù)據(jù)集的部分數(shù)據(jù)作為訓練集,對HMM模型進行訓練,生成訓練參數(shù)?;谟柧毮P?,計算測試數(shù)據(jù)集的似然對數(shù)值.給定模型參數(shù)及測試觀測序列,估計潛變量最大可能序列。6.2存在的問題:由于選取的訓練集及算法本身存在的各種問題,從程序的運行結果可以看出,EM算法在若干次迭代后其最大似然對數(shù)值不再發(fā)生大的變化,而且,訓練參數(shù)的結果并不十分令人滿意。訓

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論