隱馬爾科夫模型HMM自學(xué) (1)介紹 崔曉源 翻譯 我們通常都習(xí)慣尋找一個事物在一段時間里的變化規(guī)律。在很多領(lǐng)域我們都希望找到這個規(guī)律,比如計(jì)算機(jī)中的指令順序,句子中的詞順序和語音中的詞順序等等。一個最適用的例子就是天氣的預(yù)測。 首先,本文會介紹聲稱概率模式的系統(tǒng),用來預(yù)測天氣的變化 然后,我們會分析這樣一個系統(tǒng),我們希望預(yù)測的狀態(tài)是隱藏在表象之后的,并不是我們觀察到的現(xiàn)象。比如,我們會根據(jù)觀察到的植物海藻的表象來預(yù)測天氣的狀態(tài)變化。 最后,我們會利用已經(jīng)建立的模型解決一些實(shí)際的問題,比如根據(jù)一些列海藻的觀察記錄,分析出這幾天的天氣狀態(tài)。 Generating Patterns 有兩種生成模式:確定性的和非確定性的。 確定性的生成模式:就好比日常生活中的紅綠燈,我們知道每個燈的變化規(guī)律是固定的。我們可以輕松的根據(jù)當(dāng)前的燈的狀態(tài),判斷出下一狀態(tài)。
非確定性的生成模式:比如說天氣晴、多云、和雨。與紅綠燈不同,我們不能確定下一時刻的天氣狀態(tài),但是我們希望能夠生成一個模式來得出天氣的變化規(guī)律。我們可以簡單的假設(shè)當(dāng)前的天氣只與以前的天氣情況有關(guān),這被稱為馬爾科夫假設(shè)。雖然這是一個大概的估計(jì),會丟失一些信息。但是這個方法非常適于分析。 馬爾科夫過程就是當(dāng)前的狀態(tài)只與前n個狀態(tài)有關(guān)。這被稱作n階馬爾科夫模型。最簡單的模型就當(dāng)n=1時的一階模型。就當(dāng)前的狀態(tài)只與前一狀態(tài)有關(guān)。(這里要注意它和確定性生成模式的區(qū)別,這里我們得到的是一個概率模型)。下圖是所有可能的天氣轉(zhuǎn)變情況:
對于有M個狀態(tài)的一階馬爾科夫模型,共有M*M個狀態(tài)轉(zhuǎn)移。每一個狀態(tài)轉(zhuǎn)移都有其一定的概率,我們叫做轉(zhuǎn)移概率,所有的轉(zhuǎn)移概率可以用一個矩陣表示。在整個建模的過程中,我們假設(shè)這個轉(zhuǎn)移矩陣是不變的。
該矩陣的意義是:如果昨天是晴,那么今天是晴的概率為0.5,多云的概率是0.25,雨的概率是0.25。注意每一行和每一列的概率之和為1。 另外,在一個系統(tǒng)開始的時候,我們需要知道一個初始概率,稱為
到現(xiàn)在,我們定義了一個一階馬爾科夫模型,包括如下概念: 狀態(tài):晴、多云、雨 狀態(tài)轉(zhuǎn)移概率 初始概率 (待續(xù)) |
|
|