機器學習十大算法---10. 馬爾科夫

3.生成模式(Generating Patterns)


3.1、確定性模式(Deterministic Patterns):確定性系統

  考慮一套交通信號燈,燈的顏色變化序列依次是紅色-紅色/黃色-綠色-黃色-紅色。這個序列可以作爲一個狀態機器,交通信號燈的不同狀態都緊跟着上一個狀態。
    
  注意每一個狀態都是唯一的依賴於前一個狀態,所以,如果交通燈爲綠色,那麼下一個顏色狀態將始終是黃色——也就是說,該系統是確定性的。
3.2、非確定性模式(Non-deterministic patterns):馬爾科夫
  與交通信號燈例子不同,我們並不期望這三個天氣狀態之間的變化是確定性的,但是我們依然希望對這個系統建模以便生成一個天氣變化模式(規律)。
  一種做法是假設模型的當前狀態僅僅依賴於前面的幾個狀態,這被稱爲馬爾科夫假設。顯然,這可能是一種粗糙的假設,並且因此可能將一些非常重要的信息丟失。
  當考慮天氣問題時,馬爾科夫假設假定今天的天氣只能通過過去幾天已知的天氣情況進行預測——而對於其他因素,譬如風力、氣壓等則沒有考慮,這樣的假設顯然是不現實的。然而,由於這樣經過簡化的系統可以用來分析,我們常常接受這樣的知識假設,雖然它產生的某些信息不完全準確。
  一個馬爾科夫過程是狀態間的轉移僅依賴於前n個狀態的過程。這個過程被稱之爲n階馬爾科夫模型,其中n是影響下一個狀態選擇的(前)n個狀態。最簡單的馬爾科夫過程是一階模型,它的狀態選擇僅與前一個狀態有關。這裏要注意它與確定性系統並不相同,因爲下一個狀態的選擇由相應的概率決定。
 
    
  對於有M個狀態的一階馬爾科夫模型,共有M^2個狀態轉移,因爲任何一個狀態都有可能是所有狀態的下一個轉移狀態。每一個狀態轉移都有一個概率值,稱爲狀態轉移概率(從一個狀態轉移到另一個狀態的概率)。所有的M^2個概率可以用一個狀態轉移矩陣表示。注意這些概率並不隨時間變化而不同——這是一個非常重要(但常常不符合實際)的假設。
  下面的狀態轉移矩陣顯示的是天氣例子中可能的狀態轉移概率 

3.3、隱藏模式(Hidden Patterns):隱馬爾科夫


馬爾科夫過程的侷限性
  一個實際的問題是語音識別,我們聽到的聲音是來自於聲帶、喉嚨大小、舌頭位置以及其他一些東西的組合結果。所有這些因素相互作用產生一個單詞的聲音,一套語音識別系統檢測的聲音就是來自於個人發音時身體內部物理變化所引起的不斷改變的聲音。  一些語音識別裝置工作的原理是將內部的語音產出看作是隱藏的狀態,而將聲音結果作爲一系列觀察的狀態,這些由語音過程生成並且最好的近似了實際(隱藏)的狀態。
隱藏狀態的數目與觀察狀態的數目可以是不同的。純粹的語音可以由80個音素描述,而身體的發音系統會產生出不同數目的聲音,或者比80多,或者比80少。
  在這種情況下,觀察到的狀態序列與隱藏過程有一定的概率關係。我們使用隱馬爾科夫模型對這樣的過程建模,這個模型包含了一個底層隱藏的隨時間改變的馬爾科夫過程,以及一個與隱藏狀態某種程度相關的可觀察到的狀態集合。

4、馬爾科夫模型:

馬爾科夫鏈的節點是狀態,邊是轉移概率,是條件概率分佈的一種有向狀態轉移表達

考慮一個系統,在每個時刻都可能處於N個狀態中的一個,N個狀態集合是 {S1,S2,S3,...SN}。我們現在用q1,q2,q3,…qn來表示系統在t=1,2,3,…n時刻下的狀態。

Note: 每個狀態都是一個向量分佈,即在N個狀態集合是 {S1,S2,S3,...SN}上的概率分佈。

獨立同分布建模

處理順序數據的最簡單的方式是忽略順序的性質,將觀測看做獨立同分布,然而,這種方法無法利用數據中的順序模式,例如序列中距離較近的觀測之間的相關性。

馬爾科夫模型( Markov model )

爲了在概率模型中表示這種效果,我們需要放鬆獨立同分布的假設。完成這件事的一種最簡單的方式是考慮馬爾科夫模型。

馬爾科夫模型( Markov model )表示觀測序列的聯合概率分佈

同質馬爾科夫鏈( homogeneous Markov chain )

在這種模型的大部分應用中,條件概率分佈 p(x n | x n−1 ) 被限制爲相等的,對應於靜止時間序列(數據會隨着時間發生變化,但是生成數據的概率分佈保持不變)的假設。這樣,這個模型被稱爲同質馬爾科夫鏈( homogeneous Markov chain )。例如,如果條件概率分佈依賴於可調節的參數(參數的值可以從訓練數據中確定),那麼鏈中所有的條件概率分佈會共享相同的參數值。

高階馬爾科夫鏈

二階馬爾科夫鏈

                                             

馬爾科夫鏈的參數個數分析

假設觀測是具有 K 個狀態的離散變量,那麼一階馬爾科夫鏈中的條件概率分佈 p(x n | x n−1 ) 由 K − 1 個參數指定,每個參數都對應於 x n−1 的 K 個狀態,因此參數的總數爲 K(K − 1) 。

現在假設我們將模型推廣到 M 階馬爾科夫鏈,從而聯合概率分佈由條件概率分佈 p(x n | x n−M , . . . , x n−1 ) 構建。如果變量是離散變量,且條件概率分佈使用一般的條件概率表的形式表示,那麼這種模型中參數的數量爲 K^M * (K − 1) 。

連續變量的馬爾科夫鏈

對於連續變量來說,我們可以使用線性高斯條件概率分佈,其中每個結點都是一個高斯概率分佈,均值是父結點的一個線性函數。這被稱爲自迴歸( autoregressive )模型或者 AR 模型( Box et al., 1994; Thiesson et al., 2004 )。另一種方法是爲 p(x n | x n−M , . . . , x n−1 ) 使用參數化的模型,例如神經網絡。這種方法有時被稱爲抽頭延遲線( tapped delay line ),因爲它對應於存儲(延遲)觀測變量的前面 M 個值來預測下一個值。這樣,參數的數量遠遠小於一個一般的模型(例如此時參數的數量可能隨着 M 線性增長),雖然這樣做會使得條件概率分佈被限制在一個特定的類別中。


馬爾科夫過程收斂性分析與採樣

這裏只討論一階同質的馬爾科夫過程。

(一階同質)馬爾科夫模型有兩個假設:

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爲任意時刻。即任意時刻兩個狀態之間的轉移概率是一樣的,整個轉移概率矩陣在所有時間步之間是共享參數的。








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章