物理雜記1: Shannon entropy與統計力學之關聯性


在前面的幾篇文章裡面我討論到一些機率的問題時提到了Shannon entropy來決定least informative prior的技巧,在這篇雜記裡我想要對Shannon entropy做一些探討。Shannon entropy源自於C. E. Shannon在資訊理論上的工作,特別是引入了統計力學對一個物理系統微觀狀態上的觀點。所以在這裡,我想從統計力學的角度推導出Shannon entropy或者稱作資訊量II的關係式I=ipilnpi並且探討一些關於資訊理論的簡單問題。

一、系統的狀態

統計力學主要在是從微觀的角度來推論出巨觀的所有現象學上的熱力學特性,這些巨觀的特性諸如壓力P、內能U、熵S和定容或定壓比熱CPCV...等等。我們這裡並不去討論如何推導這些特性,我們只要知道為了得出這些特性,我們必須了解系統現在到底處在什麼樣的狀態上。
 舉例來說,桌上裝滿水的杯子,杯子體積是V且有N個水分子 (已知水的質量便可以除上水分子的莫爾質量乘上Avogadro常數得到總水分子數N),假設它已經和室溫T達成熱平衡,那麼我從中取出任意個水分子,試問該水分子的動能為何?下方我們皆以能量E來代稱動能。學過普通物理學也許會認為每個水分子的能量是ˉE=32kBT其中kB為Boltzmann constant。答案是的沒錯,但注意到我們取的是ˉE即平均能量,表示若我測量了無數個水分子的能量,那麼平均來講每個水分子會帶有ˉE,不過對任意個水分子而言,他所帶的能量是在0到中隨機賦值,這表示所有測量的結果E是一組統計上的隨機變量 (random variable)。所以這個問題便回到了在一給定的杯水的巨觀狀態NVT後,任意取出一個水分子的能量E的值最有可能為何?而這可以由E的機率分佈函數來決定。熟悉統計力學的人便可以馬上領會到,這個杯水對應到的是正則系綜1 (canonical ensemble),而每個水分子則是構成該系綜的成員 (members) 之一,或稱作系統 (systems)。補充一點就是,對於這杯水的狀態,統計力學還可以用微正則系綜 (microcanonical ensemble) 或巨正則系綜 (grand canonical ensemble) 的觀點來描述,但這三個系綜的概念都是等價的,它們皆會 (也必然要) 導出相同的熱力學量。


1 系綜 (ensemble) 是一個物理學上的歷史名詞,它原則上就是一堆樣本資料的集合,在現代統計的語言裡,我們把這些資料的集合稱作一組隨機變量,而這些隨機變量則是從母體中抽樣出來的,所以探討隨機變量的分佈情況,就是探討母體分佈的問題。這裡將系綜想像為母體,了解母體最好的辦法便是觀測 (採樣) 樣本,因為每一個樣本都是來自構成母體的成員 (系統) 的採樣之一。當然統計力學上所謂的採樣並不是真正的拿儀器去量,而是一種想像實驗,所以也不存在採樣誤差。統計力學裡的系綜一共有三種概念,即微正則、正則與巨正則,他們對母體描述的觀點雖然不同,但都是對該母體理想化的呈現,所以最終導出該母體的熱力學量三種觀點必然全部要一致!

1.1 最概然狀態

所以當取出一個系綜的成員時,它最有可能的E便稱作該系統的最概然狀態 (most probable state),或是最似然狀態
 我們繼續用水分子的概念來推導我們想要的結果,由於水分子的數量非常多,我們可以假設即使每個水分子的能量都不同,但它們可以是一個連續分佈的頻譜。若N個水分子當中總共有Ω個處在能量為E的狀態上,則從杯水中任意取到能量為E的水分子的機率p(E)便和Ω成正比,或表示成p(E)Ω(E)注意這裡的E是一個連續的變數。還有,由於杯水中的水分子是和室溫達成平衡,所以室溫的環境可以視為是一個熱庫 (heat reservoir),即其狀態都不受任何影響。若熱庫有能量E,則能量守恆告訴我們在水分子+熱庫的總能量E+E=E0為一常數。又由於熱庫不受水分子的影響,可以預期熱庫的能量非常接近總能量而有E/E01的關係,故熱庫本身可以代表整個體系的狀態,而對這杯水而言則有E/E01,所以杯水的狀態受制於熱庫的狀態。
 由於熱庫具有代表性且和杯水內的水分子的狀態是連動的,所以知道熱庫的狀態數Ω(E)便決定了水分子的狀態數Ω(E)。我們可以將(7.2)改寫如下p(E)Ω(E)Ω(E)Ω(E0E).lnΩ(E)E0處做Taylor expansion我們得到lnΩ(E)=lnΩ(E0)+(lnΩE)E=E0(EE0)+O((EE0)n)lnΩ(E0)(lnΩE)E=E0E=βE,最後一步我們用了(7.3)將熱庫的能量E全部替換成水分子的能量E,這是我們有興趣的量,且E0是一常數故有lnΩ(E0)=,另外熱力學告訴我們以下關係(lnΩE)E=E0=(lnΩE)N,Vβ=1kBT.這就是我們在前面為什麼要取lnΩ的原因,完全是為了將它和熱力學量β劃上等號,這單純是推導上的便利性,這裡也不證明β怎麼來的,因為和我們的討論無關,只要知道當宏觀態中的溫度T給定的時候,β也給定了。
 另外我們真正想要知道的是水分子的狀態Ω,而不是熱庫的狀態Ω,所以藉由(7.4)將之連結起來並拿掉(7.5)的ln後得到p(E)Ω(E)Ω(E)eβE.考慮機率的歸一化p(E)=1我們有p(E)=eβEEeβE,其中分母表示對所有可能的E求和,如果確定E是連續的則將之替換為EeβEeβEdE.而(7.6)則是任意取一水分子,其能量為E的機率分佈,統計力學上也叫做正則分佈 (canonical distribution),(7.6)所描述的便是杯水內所有水分子所構成的那杯水 (系綜) 在巨觀條件NVT給定下其能量E的最概然狀態。

1.2 熱力學量: 熵

既然系綜狀態的分佈已經由(7.6)所給出,那麼對這個系綜而言,任意與E關聯的量G的期望值G,或平均ˉG便可以表示為G=ˉG=0G(E)p(E)dE=EG(E)eβEEeβE其中積分和求和分別表示E為連續或為離散的狀況。我們接下來都討論E是離散的狀態,因為水分子和水分子間本來就是離散的,且定義分母EeβEZ並稱Z配分函數 (partition functiom),不用對這個函數想太多,它不過就是為了讓機率歸一化的歸一常數的別稱。舉例來說,每個水分子的平均能量便可表示成ˉE=EEeβEZ.所以β給定 (即給定T),平均能量也就給定了。
 讓我們重新回到正則分佈(7.6)上,有了配分函數後Z後我們將之表成p(E)=eβE/Z,其對數的期望值便是lnp(E)=lnZβE,由於Z本來就是常數故取平均還是自己。而lnZ=βA對應到熱力學裡的Helmholtz自由能A,且β(AE)=S/kB,這裡的S便是系統的熵 (entropy) 且E有時又稱作系統的內能U。我們並不去推導這些熱力學關係式,我們僅僅使用它們,它們的推導可以在任何基礎熱力學的教科書裡找到,在這裡推導它們對我們的理解之後討論和資訊理論的連結並沒有額外的幫助。
 透過上述的關係我們將系統的熵和系統的狀態的機率分佈函數連結起來的,我們接下來便是找出lnp(E)的表達式,透過(7.7)我們有 lnp(E)=Elnp(E)eβEZ=Ep(E)lnp(E).由於p(E)是離散的,我們用pi代表所有可能的p(E)改寫(7.10)得到lnpi=ipilnpi,則對應的系統熵便有了關係式S=kBlnpi=kBipilnpi.所以S完全可以由系統在任何狀態的機率pi來決定!而當pi表示為在一份文件中某條訊息i出現的機率,則(7.11)在資訊理論裡變成了著名的夏儂熵 (Shannon entropy),是由夏儂 (C. E. Shannon) 在1949年引入對資訊理論的基礎工作中,這裡的熵表示為該文件中所有訊息的含量,或稱作訊息量I。另外在統計力學以外的地方,熵單純是描述亂度,是一無因次 (dimensionless) 的量,故將Boltzmann constant直接取1即可。

二、一些在資訊理論上的應用

在我們繼續討論以前,讓我們先回顧一下Boltzmann最有名的一條公式,即S=kBlnΩ.它表示了一個系統的熵可以完全由該系統的所有可能的狀態數Ω來決定,這條方程也被刻在Boltzmann的墓碑上👻🎃😁
 在統計力學系統裡,我們假定每種狀態出現的機率都是均等的 (這有個專有名詞叫做微正則系綜),因為所有可能的狀態數是Ω,每個出現機率是pi=Ω1,馬上套用著名的夏儂熵公式(7.11)得到S=kBi1Ωln(1Ω)=kBlnΩ.上式便是著名的Boltzmann熵公式!我們在(7.12)最後用到了pi=Ωpi=1,這是因為每個pi都是一樣的定值,對pi的求和等於是狀態數乘上一定值。

2.1 訊息量的增減

我們可以透過(7.11)來看一些有趣的應用。例如在一份文件中,如果有N條訊息,若要讓這份文件的總資訊量最大,則每條訊息出現的機率應如何分佈?這典型的是求哪種訊息分佈會導致最大熵 (maximum entropy)。
 假定每個訊息出現的機率是pi,機率歸一化有Ni=1pi=1這是我們的條件,為了讓S最大,透過Lagrange's multiplier我們有L=kBipilnpiλ(1ipi).pi=pi滿足Lpi|pi=pi=0會讓S最大。故我們得到Ni=1(lnpi+1λ)=0,則對所有的pi須滿足lnpi=λ1pi=eλ1.將(7.14)代入(7.13)有Ni=1pi=Neλ1=1λ=1lnN.我們便得到當pi=e1lnN1=elnN=1N 可以讓資訊量S最大,而(7.15)也意味著每條訊息出現的機率是均等的。

2.2 無關聯訊息與有關聯訊息

英文有26個字母,在我們所熟知那些有意義的英文字彙裡,每個字母出現的機率並不相等,例如子音後面出現母音的機率便高出出現子音的機率,像是字母b後面接上a的機率便大於出現q或z,所以每個字母出現的機率並不都是1/26而是會受前後文的影響。
 按照這樣的推論,在一個假想的雙字母的字彙裡,字母k後方出現k的機率是Pk,k=PkPkGk,k,其中Pk表示單字母k出現的機率,而Gk,k為關聯函數。若出現k的機率與字母k無關,則G=1表無關聯,反之G>1

無關聯的情況G=1

對於有N個字符的系統,因為兩兩出現的字母之間是無關的,我們可以假定每個字母出現的機率是相等的,皆為Pk=p=1/N。對一個單字母的狀況,資訊量 (用I取代S) 為I=kPklnPk=lnp,而雙字母的情況則是I=kkPkPklnPkPk=N2p2lnp2=2lnp.所以我們可以發現在無關聯情況下有II=2lnplnp=2,雙字母的資訊量是單字母資訊量的兩倍

有關聯的情況G1

接著若有關聯的話,我們要推論出雙字母攜帶的訊息量必然小於無關聯的情況。首先我們先說kk出現的順序並不影響結果,因為它們都是所謂的啞變數 (dummy variables)。另外我們可以將PkPkGk,k寫成Pk˜Pk,其中˜Pk表示在有關聯系統下k出現在k後面的機率不再是單字母系統下的Pk而是必須乘上Gk,k。至於Gk,k的效應這邊我們完全用˜Pk來取代了,所以它的真確值並不重要。
 我們先定義一些限制,例如機率的歸一化要求有kPk˜Pk=˜PkkPk=˜Pk,這是由於該求和只對啞變數k有作用而與k無關,而求和的結果滿足歸一化。上述也等價為kPk˜Pk=Pk,如我們前述,kk是啞變數,順序對調無關緊要。
 故對關聯系統下的雙字母資訊量 I=k,kPkPkGk,klnPkPkGk,k=k,k(PkPkGk,klnPk+PkPkGk,klnPk+PkPkGk,klnGk,k)=k,kPk˜PklnPkk,k˜PkPklnPkk,kPkPkGk,klnGk,k=kPklnPkkPklnPkk,kPkPkGk,klnGk,k=I+Ik,kPkPkGk,klnGk,k=Ik,kPkPkGk,klnGk,k,最後我們用了(7.17)的結果。我們接著需要一則不等式lnGG1,接續(7.18)有 Ik,kPkPkGk,klnGk,k=I+k,kPkPkGk,kln(1Gk,k)I+k,kPkPkGk,k(1Gk,k1)=I+k,kPkPk(1Gk,k)I. 最後一步的右式由於Gk,k1,故最大值發生在Gk,k=1的時候。所以我們推斷,若兩個訊息間是關聯的,那麼其訊息量I恆有II,其中I是無關聯雙字母系統下的資訊量。而(7.20)傳達了任何關聯系統都會縮小該系統得資訊項,或者說該系統會朝向有序的方向,這個概念和資料壓縮有著密切的關聯,一個高度有序的系統所涵蓋的資訊量少,可以將其用少量的訊息重新建構,故壓縮率高;反之,當一個系統處於無序的狀態,則必須紀錄所有和系統相關的訊息,壓縮率則會降低。

三、小結

統計力學和資訊理論有著密切的對應關係,因為一個文本所內涵蓋的資訊正如一個系綜內所涵蓋的系統數 (或狀態數),故它們使用相同的語言來表徵是非常合理的。對於熵這個概念不僅僅在統計力學或資訊理論中有著墨,它也可以完整的推廣到機率理論內。
 當我們對於一組隨機變量在什麼情況下可以假設它是Gaussian便可以套用統計力學的觀念。Gaussian分佈屬於指數分佈族 (exponential family),對所有指數族裡的成員都擁有符合該分佈條件情況下的最大熵,這意味著不管這些隨機變量是透過什麼過程 (化學、物理或其他不知明的反應) 產生的,這些過程可能非常的多,最後都混雜在一起,當系統歸於於平衡 (stationary) 的時候,它的狀態會趨近於最大的亂度,或者說擁有最大的熵,而隨機變量便是該系統對觀察者的直接顯現,或者稱作觀測量 (observables),既然系統在平衡時有最大的熵,隨機變量的分佈也直接有最大熵,這時候我們便可套用相對應下擁有最大熵的分佈函數,這就是為何自然界很多現象都可以使用Gaussian分佈。
 不過這當然是一個比較簡便得說法,同樣都有最大熵的狀態,並不是所有隨機變量都可以使用Gaussian來描述,還得看隨機變量是否為連續實數或者有特定的範圍,或者有其它的條件限制,這在古典的機率論裡面如何使用最適當的分佈族已經有非常詳細的探討了!

留言

這個網誌中的熱門文章

PS7 - 小專題: 為何高斯分佈擁有最大熵?

IA9a - K-means分群與EM算法: 理論

IA1 - 布豐投針,圓周率π的估計