隱馬爾科夫模型 HMMs 之一 簡介及生成模式

2021-07-15 13:35:01 字數 1778 閱讀 7562

介紹(introduction)

通常我們總是對尋找某一段時間上的模式感興趣,這些模式可能出現在很多領域:乙個人在使用電腦的時候使用的命令的序列模式;一句話中的單詞的序列;口語中的音素序列。總之能產生一系列事件的地方都能產生有用的模式。

考慮乙個最簡單的情況:有人(柯南?)試圖從一塊海藻來推斷天氣的情況。一些民間的傳說認為「soggy」的海藻意味著潮濕(wet)的天氣,「dry」的海藻預示著晴朗(sun)。如果海藻處於中間狀態「damp」,那就無法確定了。但是,天氣的情況不可能嚴格的按照海藻的狀態來變化,所以我們可以說在一定程度上可能是雨天或是晴天。另乙個有價值的資訊是之前某些天的天氣情況,結合昨天的天氣和可以觀察到的海藻的狀態,我們就可以為今天的天氣做乙個較好的預報。

這是在我們這個系列的介紹中乙個非常典型的系統。

如果我們觀察乙個星期每一天的海藻的狀態,我們是否能知相應的其天氣情況

如果給出乙個海藻狀態的序列,我們是否能判斷是冬天還是夏天?我們假設,如果海藻幹(dry)了一段時間,那就意味著是夏天如果海藻潮濕(soggy)了一段時間,那可能就是冬天。

生成模式(generating patterns)

考慮交通燈的例子,乙個序列可能是紅-紅/橙-綠-橙-紅。這個序列可以畫成乙個狀態機,不同的狀態按照這個狀態機互相交替

我們可以注意到,每乙個狀態都只依賴於此前的狀態,如果當前的是綠燈,那麼接下來就是橙燈,這就是乙個確定型的系統。確定型的系統更容易理解和分析,只要這些狀態轉移都是已知的。

為了讓之前那個天氣的例子更貼近現實,我們可以新增乙個狀態-多雲。和交通燈的例子不同,我們不能得到乙個確定的狀態轉移系統,但是我們還是希望能得到乙個天氣的模式。

一種辦法就是假設這個模型的每個狀態都只依賴於之前的狀態,這個假設被稱為馬爾科夫假設,這個假設可以大大的簡化這個問題。顯然,這個假設可能是乙個非常糟糕的假設,導致很多重要的資訊都丟失了。

當涉及到天氣的時候,馬爾科夫假設假設如果我們知道之間一些天的天氣的資訊,不考慮風力、氣壓等因素,那麼我們就能預言今天的天氣。當然,和其他許多例子一樣,這個列子也是不合實際的。但是,這樣乙個簡化的系統可以有利於我們的分析,所以我們通常接受這樣的假設,因為我們知道這樣的系統能讓我們獲得一些有用的資訊,儘管不是十分準確的。

乙個馬爾科夫過程就是指過程中的每個狀態的轉移只依賴於之前的n個狀態,這個過程被稱為1個n階的模型,其中n是影響轉移的狀態的數目。最簡單的馬爾科夫過程就是一階過程,每乙個狀態的轉移只依賴於其之間的那乙個狀態。注意這和確定型的系統不一樣,因為這種裝因是有概率的,而不是確定的。下面這個圖展示了天氣這個例子中所有可能的一階轉移:

注意乙個含有m個狀態的一階過程有m的平方個狀態轉移。每乙個轉移的概率叫做狀態轉移概率(state transition probability),就是從乙個狀態轉移到另乙個狀態的概率。這所有的m的平方個概率可以用乙個狀態轉移矩陣來表示。注意這裡有乙個假設,概率不隨時間的變化而變化,這又是乙個不現實但很重要的假設。下面就是乙個狀態轉移矩陣的列子:

這個矩陣的意思是,如果昨天是晴天,那麼今天又50%的可能是晴天,37.5%的概率是陰天,12.5%的概率會下雨,很明顯,每一行的和都是1。

為了初始化這樣乙個系統,我們需要乙個初始的概率向量:

這個向量表示第一天是晴天。

到這裡,我們就為一階馬爾科夫過程定義了以下三個部分:

所有的能被這樣描述的系統都是乙個馬爾科夫過程。

我們為了找到隨時間變化的模式,就試圖去建立乙個可以產生模式的過程模型。我們使用了具體的時間步驟、狀態、並且做了馬爾科夫假設。有了這些假設,這個能產生模式系統就是乙個馬爾科夫過程。乙個馬爾科夫過程包括乙個初始向量和乙個狀態轉移矩陣。關於這個假設需要注意的一點是狀態轉移概率不隨時間變化。

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

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

隱馬爾科夫模型

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

隱馬爾科夫模型

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