一個序列,當中轉換概率唔依賴返過去嘅狀態,而只係依賴當前狀態。 From Wikipedia, the free encyclopedia
例如幅附圖 1 入面嗰條簡單嘅馬可夫鏈就係噉:條鏈有 同 兩個可能狀態;如果家陣世界嘅狀態係 ,下一刻狀態變成 嘅機率係 70% / 0.7,狀態繼續維持係 嘅機率係 30% / 0.3;如果家陣世界嘅狀態係 ,下一刻狀態變成 嘅機率係 40% / 0.4,狀態繼續係 嘅機率係 60% / 0.6。除此之外,馬可夫鏈仲可以按好多特性分做進階嘅類別,例如隱馬可夫模型就係一種特殊嘅馬可夫鏈,指條鏈當中有一部份嘅狀態係研究者觀察唔到嘅(隱藏),研究者要齋靠觀察淨低嗰啲-觀察得到嘅-狀態嚟對啲隱藏狀態作出判斷[2]。
喺好多自然科學同工程學領域裏面,馬可夫鏈都係一種有用嘅分析工具,可以攞嚟模擬研究緊嘅現象[3],例如人工智能(AI)上嘅研究就好興教啲人工智能程式將世界抽象化噉諗做一條條嘅馬可夫鏈,用過往所得嘅數據建立心目中嘅馬可夫鏈模型-「根據過去經驗,而家狀態係 下一刻變 嘅機率係咁多咁多」,而人工智能程式跟住就會按「跟住落嚟世界變成呢個狀態嘅機率係幾多」等嘅資訊嚟做決策[4][5]。
喺定義上,一條基本嘅馬可夫鏈係具有以下呢三大特性嘅隨機過程[註 1][6]:
一條馬可夫鏈可以用最少兩種方法嚟表示:一方面,馬可夫鏈可以畫做好似附圖 1 噉嘅有向圖,即係話幅圖有若干個頂點(喺附圖 1 當中,頂點係嗰啲有字母喺裏面嘅圓圈),頂點之間有啲箭咀表示頂點之間可以點樣變化,而每個箭咀都褦住個喺 0 同 1 之間嘅數,表示個箭咀指定嘅嗰種狀態轉移發生嘅概率,當中可以有頂點係有箭咀指住自己嘅,表示嗰啲頂點有可能轉移返去自己嗰度;另一方面,馬可夫鏈又可以寫做好似附圖 2 噉嘅轉移矩陣(transition matrix),即係話畫返個 嘅矩陣 俾條 鏈,當中 係啲可能狀態嘅數量,矩陣打戙行表示「而家啲狀態」,打橫行表示「跟住落嚟啲狀態」,而啲矩陣嘅每個元素都係一個 。技術性啲噉講,將馬可夫鏈寫做矩陣令到研究者有得用線性代數嚟做馬可夫鏈相關嘅運算。
馬可夫鏈嘅概念源自廿世紀初。早喺廿世紀前經已有人提出過類似連續時間馬可夫鏈嘅諗頭[11][12],而俄羅斯數學家安德里·馬可夫(Andrey Markov;馬可夫鏈個名就係由佢嗰度嚟嘅)為咗研究有關隨機過程嘅問題,喺 1906 年嗰度發表論文提出咗「將個系統想像成有若干個會狀態,狀態之間會隨機噉轉移」嘅諗頭,正式開展咗數學上對馬可夫鏈嘅研究[13][14]。
... 等等。
即逝性(transience)同常返性(recurrence)係用嚟描述馬可夫鏈嘅狀態嘅兩個特性。家吓設返回時間 , 表示「離開咗狀態 之後,最少需要幾耐時間(過咗幾多步)先會返返 狀態」;攞式嚟表示即係:
即逝性同常返性嘅定義如下:
常返性又有得再細分做正常返(positive recurrence)同零常返(null recurrence):設平均返回時間 (即係 嘅期望值)[17],對於狀態 嚟講:
呢兩個特性亦都可以攞嚟形容一條馬可夫鏈:若果有條馬可夫鏈啲狀態冚唪唥都係常返嘅,噉條鏈就可以叫做常返嘅鏈;同一道理,如果條鏈啲狀態冚唪唥都係正常返嘅,噉條鏈可以叫做正常返嘅鏈[6][15]。
靜止分佈(stationary distribution)係馬可夫鏈研究上嘅一個重要概念:假想有個概率分佈 基於狀態空間 -簡單講嘅話,即係 表示緊「响每個時間點 ,每個狀態有幾大概率係條鏈身處嘅狀態」;如果話 係一個靜止分佈,意思即係話以下條式成立:
簡化噉講嘅話,
喺呢種情況下,條馬可夫鏈會「靜止」-雖然狀態係有可能變化,但成條鏈都唔會隨時間而演變,無論時間過咗幾耐,每個可能狀態成為條鏈嘅現時狀態嘅概率都唔會變[6]。
如果用向量同矩陣嚟想像嘅話,一個靜止分佈會係一個向量 ,而以下呢條式成立[18][19]:
當中 係條馬可夫鏈嘅轉移矩陣[20]。想像家陣有條三個狀態()嘅馬可夫鏈,設個向量 做一個分佈嚟表達條鏈嘅狀態(嗰三個數分別表示條鏈處於每個狀態嘅概率),又設時間點 而條鏈家陣處於第一個狀態,,跟住再計[註 4]
例如設
噉 得出嘅新向量(新 )如下:
乘多幾次之後, 會慢慢噉變,例如變成 ,而嗰三個數分別反映「根據已有嘅經驗,每個狀態跟住落嚟發生嘅可能概率」;做上述嘅乘法做咗好多次之後,就會攞到個最終向量 ,而且
馬可夫鏈喺科學上相當有用:想像有位科學家,佢將研究緊嘅系統抽象化噉諗做一條馬可夫鏈;喺呢個過程當中,研究者會用演算法嚟建立一條馬可夫鏈(簡單講即係用一啲特製嘅程式),由過往嘅數據嗰度估計出「個系統有邊啲狀態」同埋「每對狀態之間嘅轉移概率係幾多」等嘅參數[註 5]。如果最後得出嗰條馬可夫鏈有返咁上下準確-柞轉移概率有返咁上下準,條鏈就算係大致噉模擬緊個系統,於是嗰位科學家第時就可以攞條馬可夫鏈嚟預計嗰個系統嘅行為,包括係答以下呢啲問題[21]:
... 等等。
馬可夫鏈蒙地卡羅(Markov chain Monte Carlo,MCMC)係一系列統計學上成日用嘅演算法,建基於蒙地卡羅方法(簡單講就係啲程式帶有隨機性),做到由數據嗰度建立一條馬可夫鏈嚟表達一個系統嘅狀態,跟手再靠用條馬可夫鏈做模擬嚟搵出想要嘅概率分佈[21][22]。當中吉布斯抽樣(Gibbs sampling)係最基本嗰種馬可夫鏈蒙地卡羅做法。吉布斯抽樣最簡單嗰個版本如下[23][24]:
初始化 迴圈,for j = 1, 2, 3... do 抽樣計 抽樣計 end for
當個研究者搵到嗮每對可能狀態之間嘅聯合概率分佈,佢就可以知道啲轉移概率嘅數值[23]。
喺統計模型上常用嘅最大似然估計(maximum likelihood estimation,MLE)都可以攞嚟由數據嗰度估計馬可夫鏈啲參數嘅數值。用一句嘢概括嘅話,最大似然估計所做嘅係搵出一柞參數數值,而呢柞參數數值係能夠令「得到手上呢柞數據」嘅概率最大化嘅[25]。用數學啲嘅方法嚟表示嘅話,一排 個狀態嘅集合 ,攞 嚟表示序號(個狀態出現嘅時間點)嘅,要建立一個馬可夫鏈模型(搵出啲參數)畀佢嘅話,即係要設啲參數,令以下條式出嘅嗰個數值 有咁大得咁大(可以參照返上高聯合概率分佈)[26][27]:
直白啲講,條式右手邊第一吓連乘表示乘嗮啲唔同序列嘅初始狀態嘅概率,第二吓連乘表示跟住條路線一路行到 、一路乘嗮啲概率,所以成嚿嘢最後畀出嘅數值就反映到嗰成個概率,代表緊所建出嘅馬可夫鏈模型喺幾大程度上畀得返啲狀態序列係啱返啲真實數據嘅。考慮到同一款初始狀態可能會喺數據庫入面出現好多次(如果個案數成千上萬,即有好多份個案係由同一款初始狀態開始),同一種轉移又有可能出現好多次;係噉可以做合併,即係用對數處理條式並且攞次數項 、 嚟分別表示每一款初始狀態出現過幾多次、每一款狀態轉移又出現過幾多次,好似以下呢條式噉[27]:
當中 係某款初始狀態出現嘅次數, 係撞親某狀態 前提下有後續狀態 嘅次數。有咗條式之後,就可以用程式化嘅方法嚟逐步改變啲參數令 有咁大得咁大,譬如藉助爬山演算法等數學最佳化技術[27]。
馬可夫鏈可以按時間嘅特性嚟分類。
離散時間馬可夫鏈(discrete-time Markov chain)係最基本嗰種馬可夫鏈,指條鏈嘅時間係一個離散性變數:用日常用語講,「離散」即係話「時間點」呢個變數嘅每個可能數值之間都有啲窿窿罅罅喺度,是但攞一個可能嘅時間點數值 嚟睇, 同 (或者 同 )之間並冇任何嘅可能時間點數值,個時間點數值淨係會一吓一吓噉由上一個數值跳去下一個數值;用集合論嘅語言嚟講嘅話,即係話包含可能時間點 嗰個集合係一個可數集[28][29],
連續時間馬可夫鏈(continuous-time Markov chain)將離散時間馬可夫鏈嘅時間變成一個連續性變數:用日常用語講,「連續」即係話「時間點」呢個變數嘅每個可能數值之間都冇窿罅,是但攞一個可能嘅時間點數值 嚟睇, 同 (或者 同 )之間會有無限個可能嘅時間點數值,所以時間點呢個變數(最少理論上[註 6])可以小數點後有無限咁多個位都得[30]。要數學性噉定義連續時間馬可夫鏈,可以用以下嘅做法(即係所謂嘅無窮小量定義;infinitesimal definition)[31]:
隱馬可夫模型(hidden Markov model,HMM)係馬可夫鏈嘅一種,指條鏈將個系統想像成有一部份嘅狀態係所謂嘅隱藏狀態(hidden states)-顧名思義,隱藏狀態係研究者觀察唔到嘅,不過研究者有得靠觀察唔係隱藏嗰啲狀態嚟攞到有關隱藏狀態嘅資訊。定義上,設 同 做兩個隨機過程,,如果話 共同組成一條隱馬可夫鏈,即係話以下呢幾點成立(為咗簡單起見,當條鏈係離散時間嘅)[32][33]:
舉個具體啲嘅例子說明,想像家陣有間房,房入面有三個罌,嗌呢三個罌做 、 同 ,每個罌都有波喺入面,啲波分 4 款,,唔同款色水唔同,而三個罌彼此之間喺「入面唔同款嘅波之間嘅數量比例」上唔一樣;又想像間房入面有個人,喺每個時間點,佢都會由三個罌當中揀一個,然後由嗰個罌度抽一個波出嚟,再將個波(經門或者窗等)掟出嚟俾人睇,跟住再將個波擺返入去本來所屬嗰個罌度;研究者唔能夠直接睇到間房入面嘅事,但佢能夠睇到出嗰個波係邊個款-喺每個時間點 ,「揀咗邊個罌」係個隱藏狀態,但「出咗個乜款嘅波」係一個觀察得到嘅狀態,就好似附圖 3 噉樣。假想個研究者知每個罌入面唔同款嘅波之間嘅數量比例,佢會有能力由「出嗰個波嘅款」(唔完全準噉)估計「個波係由邊個罌嗰度抽出嚟」嘅-攞到有關隱藏狀態嘅資訊[34]。
一個隱馬可夫模型嘅參數同一道理可以靠由過往數據嗰度做最大似然估計等嘅最佳化工序嚟得出。呢種模型喺好多領域都好有用,可以攞嚟模擬一啲唔係完全觀察到嘅現象,例如運算金融學呢個領域就會用到隱馬可夫模型(一個經濟體入面有好多資訊都係分析者冇得直接量度嘅)[35]。
馬可夫決策過程(Markov decision process)可以算係馬可夫鏈嘅一個擴張版,指條馬可夫鏈當中加咗決策(decision making)嘅機制:例如係以下呢幅圖當中嘅馬可夫決策過程噉;個過程模擬咗一隻簡單遊戲嘅虛擬世界,個虛擬世界有三個狀態(、 同 ;例如一盤國際象棋棋盤可以有多個唔同嘅嘅樣),喺每一個狀態當中,玩家都有兩個可能嘅選擇( 同 ;喺棋盤嘅每個可能狀態當中,玩家都有得揀行邊隻棋同點行)同埋相應嘅效益(可以想像成「行咗呢步會提高贏面提高幾多」),而每個選擇有若干概率會令到個世界變成另外一個狀態(由啲箭咀同箭咀側邊嘅數字表示)[36][37]。
如果要用程式語言嚟表達上述嘅馬可夫決策過程嘅話,設計者可以用好似以下噉嘅一個矩陣嚟表示唔同狀態之間嘅轉移概率,當中每個橫行表示「如果喺呢個狀態揀咗呢個選擇,會去另外一個狀態嘅概率」-喺狀態 揀咗 ()嘅話,遊戲狀態會有 50% 機會變成 、50% 機會變成 ... 如此類推[38]:
齋用數字(冇咁易睇)嘅話:
由國際象棋嘅例子可以睇得出,一隻隻遊戲可以抽象噉想像成馬可夫決策過程,而事實係,喺教人工智能玩遊戲嘅技術裏面成日都會用到馬可夫決策過程-研究者會教個人工智能程式由過往嘅數據(例如係俾個程式睇一大柞有關過去國際象棋對局嘅數據)估計個馬可夫決策過程嘅參數(參數包括啲轉移概率同埋「每款轉移會提升邊一方嘅贏面」呀噉),令個程式能夠好似有智能噉捉國際象棋同第啲棋類遊戲[37]。
有好多自然科學、社會科學同工程學上嘅研究都會用到馬可夫鏈嘅相關技術,將研究緊嘅系統想像成馬可夫鏈或者類似嘅抽象數學模型:
... 等等。
Seamless Wikipedia browsing. On steroids.