1. 程式人生 > >從隨機過程的熵率和馬爾科夫穩態過程引出的一些思考 - 人生逃不過一場馬爾科夫穩態

從隨機過程的熵率和馬爾科夫穩態過程引出的一些思考 - 人生逃不過一場馬爾科夫穩態

1. 引言

0x1:人生就是一個馬爾科夫穩態

每一秒我們都在做各種各樣的選擇,要吃青菜還是紅燒肉、看電影還是看書、跑步還是睡覺,咋一看起來,每一個選擇都是隨機的,而人生又是由無數個這樣的隨機選擇組成的結果。從這個前提往下推導,似乎可以得出一個結論,即人生是無常的,未來是不可預測的。但事實真的是如此嗎?

以前的老人流行說一句話,三歲看小,七歲看老。這似乎是一句充滿迷信主義色彩的俗語,但其實其中暗含了非常質樸而經典的理論依據,即隨機過程不管其轉移概率分佈如何,隨著時序的增大,最終會收斂在某個穩態上。用人話說就是:人在七歲時,其核心性格會定型,在今後的一生中,不管其經歷了什麼,最終都會殊途同歸,到達同一個人生結局。

現在很流行一句話叫,性格決定命運。這句話從很多不同的學科中可以得到不同的解釋,例如現代心理學會說性格的本質就是潛意識,而潛意識影響所有的思想和行為,進而影響了命運。社會行為學會說性格決定了你的人際網路拓樸結構與網路資訊互動率等因素,而成功的人往往是那種同時佔據了多個重要結構洞的關鍵人物,例如國家領導人或者公司高層。用資訊理論馬爾柯夫隨機過程的理論來解釋就說,每個人的概率轉移函式在很小的時候就會基本定型,對於每個人來說,出生、天賦這些都不是至關重要的因素,而相反,決定一個人最終能得到多少成就的決定因素是你的n,也即你能在多大程度上延伸生命的長度,生命週期n越長,就越容易收斂到一個馬爾科夫穩態,而只要你的底層性格(概率轉移函式)足夠優秀,這個穩態一般也不會差到哪裡去。用現代育兒學的主流觀點就是,對於小孩的教育,素質教育並沒有那麼重要,而相反,應該更注重性格和人格塑造上的培養。用一句很俗的話來說,就是”起點並不重要,長久的堅持才重要“。

那麼這篇文章中,筆者將嘗試從資訊理論中隨機過程的相關討論,來逐步分析和論證一下上述這段人生道(糟)理(粕)的底層邏輯。

0x2:非i.i.d.獨立同部分情況下隨機過程的熵如何分佈

在之前的文章中,我們討論了漸進均分性(AEP),AEP表明在平均意義下使用nH(X)位元足以描述n個i.i.d.獨立同分布的隨機變數。但是,如果隨機變數不獨立,尤其是隨機變數成為平穩過程時,情況又如何呢?

在本文中,我們將證明,對於任意的隨機過程,熵H(X1,X2,...,Xn)隨n以速率H(X)(漸進地)線性增加(和i.i.d.一樣),這個速率稱為過程的熵率。事實上,在物理和電腦科學中,非i.i.d.才是佔主流的現象,很多事物現象的內部原子狀態之間都不是彼此獨立的,例如語音序列是上下文依賴關聯的,文字序列是前後文文法關聯的等等。

Relevant Link: 

《資訊理論基礎》阮吉壽著 - 第四章

  

2. 馬爾可夫鏈

0x1:隨機過程

馬爾可夫鏈屬於隨機過程的一種,因此我們先從隨機過程開始討論起。

1. 隨機過程的形式化定義

隨機過程{Xi}是一個帶下標的隨機變數序列。一般允許變數間具有任意的相關性。刻畫一個過程需要知道所有有限的聯合概率密度函式:

例如N次伯努利實驗得到的二項分佈序列,就是一個隨機過程,當引數p確定時,該隨機過程滿足一個確定的概率分佈函式公式。

2. 平穩隨機過程

如果隨機變數序列的任何有限子集的聯合分佈關於時間的下標的位移不變,即對於每個n和位移l,以及任意的x1,x2,...,xn∈X,均滿足:

,則稱該隨機過程是平穩的。

平穩過程也可以叫做穩態系統,這是一個非常重要的概念,在非常多學科和交叉學科中都有相關的概念和理論涉及:

  • 系統科學:系統或者過程(Process theory)的穩態是指其行為的變數(稱為狀態變數)不隨時間而變化。
  • 熱力學
  • 經濟學:穩態經濟(Steady state economy)是指一個國家(或城市、區域或全世界)經濟在一個穩定的規模,可以有穩定的人口以及穩定的消費,而且是在其環境承載力的範圍內。
  • 工程學
  • 通訊:"時不變穩態系統"

對於許多系統,系統啟動後需要一段時間才會進入穩態。進入穩態前的狀態稱為暫態或啟動階段。例如流過管子的流體會呈現穩態,這表示有持續固定的流體通過,而正在裝水的水槽則是暫態,因為水的體積仍隨時間而變化。

系統常常是以漸近的方式進入穩態。若系統無法進入穩態,反而發散,這稱為不檼定的系統。

3. 馬爾科夫過程:一種非獨立隨機過程

一個非獨立隨機過程的簡單例子是隨機序列中的每個隨機變數僅依賴於它的前一個隨機變數,而條件獨立於其他更前面的所有隨機變數,這樣的過程稱為馬爾科夫過程,或馬爾柯夫鏈。

此時,隨機變數的聯合概率密度函式可以寫成:

4. 時不變馬爾科夫過程:一種非獨立平穩隨機過程

如果條件概率不依賴於n,即對n=1,2,....,有:

,則稱馬爾柯夫鏈是時間不變的。

若無特別說明,總假定馬爾柯夫鏈是時間不變的,在大多數應用場景中,我們都假定馬爾柯夫鏈是時間不變的。

0x2:馬爾柯夫鏈

1. 馬爾柯夫鏈的表徵定義

如果{Xi}為馬爾柯夫鏈,則稱Xn為n時刻的狀態。

一個時間不變的馬爾柯夫鏈完全由其初始狀態和概率轉移矩陣P=[Pij]所表徵。其中,i,j∈{1,2,....,m}

2. 馬爾柯夫鏈性質

  • 若馬爾柯夫鏈可以從任意狀態經過有限步轉移到另一個任意狀態,且其轉移概率為正,則稱此馬爾柯夫鏈是不可約的。
  • 如果從一個狀態轉移到它自身的不同路徑長度的最大公因子為1,則稱此馬爾柯夫鏈是非週期的。

3. 平穩馬爾柯夫鏈及其收斂性

如果在時刻n,隨機變數的概率密度函式為p(xn),那麼在n+1時刻,隨機變數的概率密度函式為:

若在n+1時刻,狀態空間上的分佈於在n時刻的分佈相同,則稱此分佈為平穩分佈。

如果馬爾科夫鏈的初始狀態服從平穩分佈,那麼該馬爾柯夫鏈為平穩過程。

若有限狀態馬爾柯夫鏈是不可約和非週期的,則它的平穩分佈唯一,從任意的初始分佈出發,當n->∞時,Xn的分佈必定趨向於此平穩分佈。

Relevant Link: 

《資訊理論基礎》阮吉壽著

 

3. 熵率

0x1:熵率形式化定義

如果給定一個長度為n的隨機變數序列,則該序列隨著n增長而增長的熵的速度,稱為熵率。

當如下極限存在時,隨機過程{Xi}的熵率定義為:

0x2:熵率的形象化舉例理解

熵率是一個純資訊理論概念,比較抽象,我們這小節用具體的例子來說明熵率的現實意義。

以打字機為例,假定一臺打字機鍵盤上有m個按鍵,即該打字機可輸出m個等可能的字母。由此打字機可產生長度為n的mn個序列,並且都等可能出現。

因此,,熵率為H(X) = logm bit/字元。

直觀上可以這麼理解,因為字元表長度 |X| = m,根據熵的基本性質,H(X) <= log|X|,所以該打字機每打出一個字,至多產生了logm的不確定性,熵率衡量的是理論上隨機過程每一步產生的最大熵。

上升到抽象思考模式,將打字機打出的字元序列看作是一個隨機變數序列X1,X2,...,Xn,此時有下式:

及打字機對應的隨機過程的熵率為H(X1),即打出一個字產生的熵值。

0x3:隨機過程熵率極限收斂定理

我們定義隨機過程熵率的兩個公式

上面二式反映了熵率概念的兩個不同方面,第一個量指的是n個隨機變數的每個字元熵。第二個量指在已知前面n-1隨機變數的情況下最後一個隨機變數的條件熵。

對於平穩過程來說,以上兩者的極限均存在且相等,即,我們分別來討論。

1. 隨機過程條件熵率極限收斂定理

對於平穩隨機過程,隨n遞減且存在極限

證明:

其中:

  • 條件作用使熵減小這個性質得到不等號,即新資訊的加入會引入熵的減少;
  • 由隨機過程平穩性得到等號;

因此,是非負且遞減的數列,故其極限存在。

2. 隨機過程熵率收斂於條件熵率定理

上一小節證明了隨機過程的條件熵率收斂於某個確定值,現在證明隨機過程的熵率也收斂於同樣的值。

藉助數學分析中cesaro均值的定理:

若an -> a,且,則bn -> a。

由於序列{ak}中的大部分項最終趨於a,那麼,bn是{ak}的前n項的平均,也將最終趨於a。

基於cesaro均值定理,我們來看隨機過程的熵率公式,由聯合熵的鏈式法則有下式:

上式中,隨機過程的熵率為條件熵的時間平均,如果條件熵趨於極限,則隨機過程的聯合熵率也同樣趨近於同樣的極限值,即:

3. 熵率對平穩遍歷過程的平均描述長度表徵的泛化能力

研究隨機過程熵率的重要意義體現在平穩遍歷過程的AEP,事實上,對任意的遍歷過程,都有下式:

以概率1收斂,即隨機過程恆收斂。

我們可以定義典型集,可以證明典型集的概率近似為1,且大約有2nH(X)個長度為n的典型序列,其每個序列出現的概率大約為2-nH(X)

所以,大約使用nH(X)位元可表示長度為n的典型序列。這體現出熵率可以表徵平穩遍歷過程的平均描述長度的重要意義。

0x4:馬爾可夫鏈熵率收斂

1. 馬爾柯夫鏈熵率收斂定理形式化描述

對於平穩的馬爾柯夫鏈,熵率為

其中的條件熵可以根據給出的平穩分佈計算得到,注意到,平穩分佈μ為下列方程組的解:

下面形式化描述馬爾柯夫鏈熵率收斂定理。

設{Xi}為平穩馬爾柯夫鏈,其平穩分佈為μ,轉移矩陣為P,則熵率為:

2. 兩狀態馬爾柯夫鏈熵率收斂具體例子

考慮兩狀態的一個馬爾柯夫鏈,其概率轉移矩陣為:

如下圖所示:

設向量μ表示平穩分佈,其分量分別為狀態1和狀態2的概率。通過解方程μP = μ,即可求得平穩概率,或者更簡便地,利用平衡概率的方法求得。

對於平穩分佈,穿越狀態轉移圖中任意割集的網路概率流必為0。將此結論應用於上圖,即可得:

由於μ1+μ2=1,則平穩分佈為

如果該馬爾柯夫鏈的初始狀態服從平穩分佈,則匯出的過程是平穩的,在n時刻的狀態Xn的熵為

根據平穩遍歷馬爾柯夫鏈的熵率收斂定理,上式兩狀態馬爾柯夫鏈的熵率為:

通過這個例子,可以看到:若馬爾柯夫鏈是不可約的且非週期的,那麼該馬爾柯夫鏈存在狀態空間誰給你的唯一平穩分佈,並且給定任意的初始分佈,當n->∞時,分佈必趨向於此平穩分佈。由於熵率是依據序列的長期行為定義的,那麼在此情形下,即使初始分佈不是平穩分佈,熵率也最終會收斂。

3. 加權圖上隨機遊動的熵率:馬爾柯夫鏈熵率收斂的另一個例子

這個小節,我們繼續通過一個具體的例子來深入體會馬爾柯夫鏈的漸進收斂性,理解什麼是穩態隨機過程。

考慮下面這個連通圖上的隨機遊動:

假定圖有m個標記{1,2,....,m}的節點,其中連線節點 i 和 j 的邊權重為 Wij >= 0。假定此圖是無向的,若節點 i 和 j 沒有連線邊,則設Wij = 0。

現在有一個粒子在圖中由一個節點到另一個節點作隨機遊動,設隨機遊動的軌跡為一個序列 {Xn},Xn∈{1,2,...,m},若Xn=i,那麼下一個頂點 j 只可能是與節點 i 相連的所有節點中的一個,且轉移概率為連線 i 和 j 的邊權重所佔所有與 i 相連的邊的權重之和的比例。因此

為連線節點 i 的所有邊權重總和,再設

為圖中所有的邊權重總和,所以有

,因為該圖是無向圖,所以左式中所有節點都被重複多算了一次。

對於這種情況,平穩分佈有一個非常簡單的形式,將此馬爾柯夫鏈的平穩分佈設定為節點 i 的概率是連線 i 的各邊權重總和佔圖中所有的邊權重總和的比例,即平穩分佈為:

通過驗證可證實上述分佈確為平穩分佈,此時有:

因此,狀態 i 的平穩概率是連線節點 i 的各邊權重總和佔圖中所有的邊權重總和的比例。此平穩分佈是個區域性性質:因為它僅僅依賴於總權重以及與該節點相連的所有的邊權重之和,因而若改變圖中某些部分的權重,但保持總權重為常數,平穩分佈不會有所改變。

通過計算,熵率為:

熵率的這個答案是如此的簡潔,顯然,這個熵率是平均轉移熵。這再次體現了,平穩馬爾柯夫鏈的穩態和初始狀態無關,而僅僅和概率轉移矩陣有關。

同時希望讀者朋友注意的是,隨機遊動也是非常普適泛化的抽象概念,在工程中大量的實際現象都可以抽象為一個隨機遊動過程,例如:

  • 某個系統指標隨時間的不斷變化,其變動的範圍區間就可以抽象為一個隨機遊動
  • 一段文字(例如waf url檢測),將其看做char或者token序列,其不同char/token之間的轉換就可以抽象為一個隨機遊動,也有很多地方直接叫馬爾柯夫鏈

筆者思考:另一方面也要注意,在實際工程中應用隨機遊動漸進收斂理論的時候,要注意考察當前面對的問題是否符合”穩態馬爾柯夫過程“這個大前提,即狀態概率轉移矩陣是否隨時間保持不變這個大前提,很多時候,實際問題是一個複雜混沌系統,而狀態轉移矩陣也是隨時間不斷變化的,這些都會導致馬爾柯夫鏈的應用失敗。很多時候,不是演算法和理論錯了,是假設前提錯了。

Relevant Link: 

《資訊理論基礎》阮吉壽著 - 第四章

 

4. 從熱力學第二定律引出馬爾柯夫鏈中不同狀態的熵函式之間的關係

0x1:從熱力學第二定律中匯出的四條關於系統熵的結論

熱力學第二定律是物理學中的基本定律之一,表明孤立系統的熵總是不減的。在統計熱力學中,熵通常定義為物理系統的微觀狀態數的對數值,所有單元狀態都是等可能發生的,這與熵的概念是一致的。

我們將物理孤立系統建模為一個馬爾柯夫鏈,其中狀態的轉移規律由控制該系統的物理定律所決定。對於這樣的系統,我們可以獲得關於熱力學第二定律的4種不同解釋。

1. 馬爾柯夫鏈狀態空間上不同概率分佈之間的相對熵隨狀態n遞減

設μn和μn'為n時刻時,馬爾柯夫鏈狀態空間上的兩個概率分佈,而μn+1和μn+1'是時刻n+1時的相應分佈。令對應的聯合概率密度分別記為p和q,於是有

其中表示馬爾柯夫鏈的概率轉移函式。由相對熵的鏈式法則,可得兩種展開方式:

由於p和q都由該馬爾柯夫鏈推導而來,所以條件概率密度函式和都等於。

於是,此時,利用的非負性,可得:

或:

因此,對於任何馬爾柯夫鏈,兩個概率密度函式間的距離隨時間n遞減。

2. 馬爾柯夫鏈n時刻的狀態分佈和平穩分佈之間的相對熵隨狀態n遞減

隨著時間的流逝,狀態分佈將會愈來愈接近於每個平穩分佈。序列為單調下降的非負序列,其極限必定存在。

3. 若平穩分佈是均勻分佈,則系統熵不斷增加

熵定理告訴我們,均勻分佈是最大熵分佈,所以如果馬爾柯夫鏈的穩態是均勻分佈,則整個系統將逐漸收斂到這個最大熵分佈,在收斂的過程中,整體系統熵也在不斷增大。

如果平穩分佈為均勻分佈,則可以將n狀態下概率分佈和平穩分佈之間的相對熵表示如下:

此時,相對熵的單調遞減蘊含了整體系統熵的單增性(和max之間的距離逐漸減小,正說明了當前值在不斷增大)。這個解釋和統計熱力學聯絡非常緊密,其中所有微觀狀態都是等可能發生的

4. 平穩馬爾科夫過程中初始狀態對當前狀態的條件熵遞增

對於平穩的馬爾科夫過程,條件熵H(Xn|X1)隨n遞增。如果馬爾科夫過程是平穩的,則未來狀態的條件不確定性是遞增的。證明過程如下:

0x2:關於馬爾科夫平穩分佈和熵增定理的一些延伸思考

筆者思考1:用經濟學理論來解釋上面的不等式,假定加拿大和英格蘭對於財產重新分配都採用相同的稅收體系。設μn和μn'分別代表兩個國家的私人財產分佈,那麼由上述不等式可得一個結論,這兩個國家之間的私人財產分佈的相對熵距離,將隨時間而遞減。假以時日,加拿大和英格蘭的財產分佈情況將愈來愈相似。

筆者思考2:從博弈論的角度來解釋上面的不等式,在競爭理論中,博弈論告訴我們,追上對手最好的方式就是和對手保持一致,對手做什麼,你也做什麼。 

一個具體形象化的解釋就是,如果你和你的對手在一個單人帆船比賽中,你和你的對手之間有一段100米的差距,現在你需要找到一種策略,能穩定地縮短你和對手之間的距離。最好的策略是這樣的,你需要緊緊盯著你的對手的一舉一動,他做什麼你也做什麼,他左轉你也左轉,他右轉你也右轉,他落水你也落水,只要你100%地保持和他一致,那麼你和他之間的距離就會逐漸減少。聽起來很匪夷所思,但實際是理論合理的。但這其實只是一種理論策略,在實際情況中,僅僅追上競爭對手是沒有用的,一味地模仿是無法真正做到行業老大的,相反,一個好的競爭者需要不斷優化自己的概率轉移函式,使自己的概率轉移函式由於你的競爭對手,做到了這一步後,通過n步的收斂後,你最終達到的穩態才有可能超過你的對手。前面說的模仿策略只適合於一些特殊場景,例如你和對手之間實力差距過大需要先進行模仿,或者說你純粹是為了打壓對手,通過模仿將對手的某一維度(例如創意)的優勢磨平,然後通過自己在另一個維度的優勢(例如資金)來碾壓對手,例如TX的遊戲模仿策略。

Relevant Link: 

《資訊理論基礎》阮吉壽著 - 第四章

 

5. 馬爾柯夫鏈的函式

在之前的文章中,我們從概率論的角度討論了HMM(隱馬爾可夫模型),這個章節,我們重新從資訊理論中馬爾科夫鏈函式的角度,重新審視一下HMM的思想原理。

0x1:馬爾柯夫鏈函式的收斂性討論

設X1,X2,...,Xn,....為平穩馬爾柯夫鏈,是一個隨機過程,其中每一項均為原馬爾柯夫鏈中對應狀態的函式。

現在問題來了,此時熵率H(Y)是多少?Y序列的收斂性性和收斂值如何評估和計算?

有一個好的想法是,如果給出上界和下界,且它們分別從上下收斂於同一極限,這樣,當上界和下界差別較小時,我們可以中止計算而獲得極限的一個很好的估計。

已知單調地收斂於H(Y),對於下界,將使用下面這個引理

證明過程如下:

其中:

  • (a)成立是因為Y1為X1的函式
  • (b)成立可由X的馬爾科夫性得到
  • (c)成立由於Yi為Xi的函式
  • (d)成立由於條件作用使熵減小
  • (e)成立根據馬爾柯夫鏈平穩性得到

由於對任意的k,不等式都成立,故兩邊取極限不等式亦成立,所以:

下面引理表明,由上述上界和下界所構成的區間長度是遞減的,也即漸進收斂。

0x2:隱馬爾可夫模型(HMM)

綜合上面定理和引理,我們有如下定理:

若X1,X2,...,Xn構成平穩的馬爾柯夫鏈,且,那麼

且:

一般地,給定馬爾科夫過程X1,X2,...,Xn,由此定義新過程Y1,Y2,...,Yn,其中每個Yi服從p(yi | xi),且條件獨立於其他所有的,即

這樣的過程稱為隱馬爾可夫模型(HMM)。 

Relevant Link: 

《資訊理論基礎》阮吉壽著 - 第四章

&n