深究熵的概念和公式以及最大熵原理

2021-01-18 Megan精選

聽張首晟在混沌大學《第一性原理和創業》課時,提及「對信息的認識,是人類對大自然最重要的認識。怎麼描寫和衡量信息,也有一個非常奇妙信息熵的公式:S=-p log p。這個公式不像E=mc²那麼知名,但愛因斯坦說過一句話:等到人類的知識往前推進,牛頓力學可能不對,量子力學可能不對,相對論可能也不對,但信息熵的公式是永恆的。

我研究生是學通信的,香農定理瞭然與胸,後來任正非提出組織熵減,又重新認識了這個字「熵」。下面的文章只從網上搜到的深度學習筆記熵這一部分,熵和深度學習有啥關係,信息?



在機器學習算法中,最常用的優化方式就是使熵最大,那麼到底什麼是熵呢?很多文章告訴了我們概念和公式,但是很少有人講到這些公式都是怎麼來的,那麼就讓我們來深究一下這裡面的奧秘 


有關熵的介紹,我在《自己動手做聊天機器人 十五-一篇文章讀懂拿了圖靈獎和諾貝爾獎的概率圖模型》中做過簡單的介紹,熵的英文是entropy,本來是一個熱力學術語,表示物質系統的混亂狀態。

熵(entropy):熵有火字旁,本來是一個熱力學術語,表示物質系統的混亂狀態。延伸數學上表達的是一種不確定性。延伸到資訊理論上是如今計算機網絡信息傳輸的基礎理論,不確定性函數是f(p)=-logp,信息熵H(p)=-∑plogp。提到熵必須要提到資訊理論鼻祖香農(Shannon)

我們都知道信息熵計算公式是H(U)=-∑(p logp),但是卻不知道為什麼,下面我們深入熵的本源來證明這個公式

假設下圖是一個孤立的由3個分子構成一罐氣體

那麼這三個分子所處的位置有如下幾種可能性:

圖中不同顏色表示的是宏觀狀態(不區分每個分子的不同),那麼宏觀狀態一共有4種,而微觀狀態(每一種組合都是一種微觀狀態)一共有2^3=8種

再來看4個分子的情況

這時,宏觀狀態一共有5種,而微觀狀態一共有2^4=16種

事實上分子數目越多,微觀數目會成指數型增長

這裡面提到的宏觀狀態實際上就是熵的某一種表現,如果氣體中各種宏觀狀態都有,那麼熵就大,如果只存在一種宏觀狀態,那麼熵就很小,如果把每個分子看做狀態的形成元素,熵的計算就可以通過分子數目以某種參數求對數得到,這時我們已經了解了為什麼熵公式中是對數關係

上面我們描述的一個系統(一罐氣體),假如我們有兩罐氣體,那麼它們放在一起熵應該是可以相加的(就像上面由四種狀態加了一個狀態的一個分子變成5個狀態),即可加性,而微觀狀態是可以相乘的(每多一個分子,微觀狀態就會多出n-1種),即相乘法則

綜上,我們可以得出熵的計算公式是S=k ln Ω,其中k是一個常數,叫做玻爾茲曼常數,Ω是微觀狀態數,這個公式也滿足了上面的可加性和相乘法則,即S1+S2=k ln (Ω1Ω2)

 

最大熵

在機器學習中我們總是運用最大熵原理來優化模型參數,那麼什麼樣的熵是最大熵,為什麼它就是最優的

這還是要從物理學的原理來說明,我們知道當沒有外力的情況下氣體是不斷膨脹的而不會自動收縮,兩個溫度不同的物體接觸時總是從高溫物體向低溫物體傳導熱量而不可逆。我們知道宏觀狀態越多熵越大,那麼氣體膨脹實際上是由較少的宏觀狀態向較多的宏觀狀態在變化,熱傳導也是一樣,如此說來,一個孤立系統總是朝著熵增加的方向變化,熵越大越穩定,到最穩定時熵達到最大,這就是熵增原理

換句話說:熵是孤立系統的無序度的量度,平衡態時熵最大

將熵增原理也可以擴大到一切自發過程的普遍規律,比如如果你不收拾屋子,那麼屋子一定會變得越來越亂而不會越來越乾淨整潔,擴大到統計學上來講,屋子亂的概率更大,也就是說孤立系統中一切實際過程總是從概率小的狀態向概率大的狀態的轉變過程,並且不可逆


信息熵

1948年,資訊理論之父香農發表的《通信的數學理論》中提出了「信息熵」的概念,從此信息熵對通信和計算機行業產生了巨大的影響。那麼他到底說了些什麼呢?

一個隨機變量ξ有A1、A2、A3……共n個不同的結果,每個結果出現的概率是p1、p2、p3……,那麼我們把ξ的不確定度定義為信息熵,參考上面物理學熵的定義,A1、A2、A3……可以理解為不同的微觀狀態,那麼看起來信息熵應該是log n嘍?不然,因為這個隨機變量ξ一次只能取一個值而不是多個值,所以應該按概率把ξ劈開,劈成n份,每份的微觀狀態數分別是1/p1、1/p2、1/p3……,這樣這n份的熵分別是log 1/p1、log 1/p2、log 1/p3……,再根據熵的可加性原理,得到整體隨機變量ξ的信息熵是∑(p log 1/p),即H(ξ) = -∑(p log p)

 

最大熵原理

繼續看上面的信息熵公式,從公式可以看出,出現各種隨機結果可能性越大,不確定性就越大,熵就越大。相反,如果只可能出現一種結果,那麼熵就為0,因為這時p=1,-∑(p log p)=0

舉個例子,投1000次硬幣,最有可能的概率是正面1/2,負面1/2,因此熵是H(X) = -(0.5log0.5+0.5log0.5) = -0.5*math.log(2,1/2)*2 = -0.5*-1*2 = 1

那麼假設只會出現正面,熵是H(X) = -1log1 = 0

實際上哪種是最符合實際情況的呢?顯然是第一種,這就是最大熵模型的原理:在機器學習中之所以優化最大熵公式能訓練出最接近正確值的參數值,是因為這是「最符合實際」的可能。換句有哲理的話說:熵越大越趨向於自然,越沒有偏見

 

最大熵模型

機器學習中用到的最大熵模型是一個定義在條件概率分布P(Y|X)上的條件熵。其中X、Y分別對應著數據的輸入和輸出,根據最大熵原理,當熵最大時,模型最符合實際情況。那麼這個條件熵應該是什麼樣的呢?

條件概率分布P(Y|X)上的條件熵可以理解為在X發生的前提下,Y發生所「新」帶來的熵,表示為H(Y|X),那麼有

H(Y|X) = H(X,Y) - H(X)

其中H(X,Y)表示X、Y的聯合熵,表示X、Y都發生時的熵,H(Y|X)的計算公式推導如下:

因此我們在機器學習中想方設法優化的就是這個東東,由於這裡的p(x,y)無法統計,因此我們轉成p(x)p(y|x),這樣得到公式如下:

H(Y|X) = -∑p(x)p(y|x)log p(y|x)

那麼機器學習訓練的過程實際就是求解p(y|x)的過程,其中p(x)可以通過x的最大似然估計直接求得

 

最大熵模型

按照前面所說的,看到熵那麼一定會用到H(p)=-∑plogp,怎麼理解最大熵模型呢?我們的最終目的是想知道在某一個信息條件B下,得出某種可能的結果A的最大的概率,也就是條件概率P(A|B)最大的候選結果。因為最大熵就是不確定性最大,其實也就是條件概率最大,所以求最大的條件概率等同於求最大熵,而我們這裡的熵其實是H(p)=H(A|B)=-∑p(b)p(a|b)log(p(a|b)),為了使用訓練數據做估計,這裡的p(a|b)可以通過訓練數據的某些特徵來估計,比如這些特徵是fi(a,b),那麼做模型訓練的過程就編程了訓練∑λf(a,b)中的λ參數的過程,至此就有些像機器學習的線性回歸了,該怎麼做就清晰了。所以其實最大熵模型就是利用熵的原理和熵的公式來用另外一種形式來描述具有概率規律的現實的


總結

至此,我們介紹完了熵的概念和公式以及最大熵原理和最大熵模型公式的由來,總之,熵來源於熱力學,擴展於資訊理論,應用在機器學習領域,它表達的是一種無序狀態,也是最趨向於自然、最符合實際的情況。為了更深入感受最大熵模型的魅力,後續我會把最大熵模型的應用不斷滲透到機器學習教程的具體算法中


來源:http://www.shareditor.com/blogshow?blogId=98


相關焦點

  • 到底什麼是「熵」?----熵的概念辨析(5)
    到底什麼是「熵」? 以前的介紹:熵的世界你不懂?----熵的概念辨析(1)熵(傷)腦筋?
  • 【20180928】原小點科普·最大信息熵原理
    這兒所說的最佳方案,與資訊理論中的「最大信息熵原理」有關。什麼是最大信息熵原理?它來自於熱力學及統計物理中的熵增加原理。要講清楚這個問題需要太多篇幅,在此只作簡單介紹。用通俗的話來說,最大信息熵原理就是當你對一個隨機過程不夠了解時,你對概率分布的猜測要使得信息熵最大。熵最大就是事物可能的狀態數最多,複雜程度最大。
  • 理解熵、交叉熵和交叉熵損失
    交叉熵損失是深度學習中應用最廣泛的損失函數之一,這個強大的損失函數是建立在交叉熵概念上的。當我開始使用這個損失函數時,我很難理解它背後的直覺。在google了不同材料後,我能夠得到一個令人滿意的理解,我想在這篇文章中分享它。
  • 熵的世界你不懂?----熵的概念辨析(1)
    熵,--一個難以理解和應用的概念。
  • 熵:傷腦筋的熵
    ——王安石《讀史》摘要: 就不易理解和容易誤解這一點來說,entropy是非常特殊的一個物理量。Entropy的本意是一個同能量轉換相關的熱力學廣延量,中文的熵,或熱溫商,是對克勞修斯公式形式上的直譯。Entropy是一個具有深遠意義的基礎概念,量子力學以及後來的通訊理論都得益於熵概念之上的深入研究。
  • 熵:傷腦筋的熵-虎嗅網
    Entropy是一個具有深遠意義的基礎概念,量子力學以及後來的通訊理論都得益於熵概念之上的深入研究。熱力學是大學物理教育中不可或缺的一門基礎課,我印象中這是一門教的人和學的人都倍感困惑的課程。溫度一般會被混同於冷熱的感覺,溫度的概念比熵出現得早,但並不是說溫度就比熵是更基本的。人們之所以把熱力學性質看成是物理性質對溫度的依賴而不是表達成同熵的關聯,筆者揣測是因為人們還不習慣於面對熵這樣的emergent的概念 。熵是一個非常獨特的概念,就不易理解和容易誤解這兩點來說,在整個物理學領域,熵都是鮮有其匹的一個詞。
  • 我對熵原理的理解
    1865年提出的一個概念。生活中的很多現象,比如:懶散容易自律難,放棄容易堅持難,變壞容易變好難,拖延容易行動難,邋遢容易整潔難……這些現象都和熵增加原理有關。就好像面對一個沙堆,我們可以隨意更改變沙堆的「形狀」,但不管組成哪種形狀,構成沙子的「結構」不會發生任何改變,從熵的意義上講,這個沙堆(泛指一切自然形成的沙堆,大同小異)的熵值很高。
  • 熵:傷腦筋的熵|賢說八道
    Entropy是一個具有深遠意義的基礎概念,量子力學以及後來的通訊理論都得益於熵概念之上的深入研究。熱力學(thermodynamics)是大學物理教育中不可或缺的一門基礎課,我印象中這是一門教的人和學的人都倍感困惑的課程。
  • 全球熵ETV 什麼是熵 解析entropy熵的概況 如何理解熵原理與熵增定律
    19世紀 中期德國的著名物理學家和數學家克勞修斯在全世界第一個真正提出entropy熵的概念,克勞修斯是全球公認的熱力學理論奠基人,分子運動理論奠基者。熵是表徵物質狀態的參量之一,物理意義指複雜,無或者混亂的度量。2 如何理解熵原理與熵增定律?
  • 什麼是熵?
    對於病人 B,他的不確定性在病人 A 和病人 C 之間。這就是為什麼要引入熵這個概念的原因:描述一個狀況下的不確定性為在xx和xx之間,在日常生活環境下這種精細程度可能足夠了,但是對於機器學習任務來說,這種描述太寬泛了。
  • 熱力學熵:克勞修斯
    他證明了,假如一個系統存在Ω個狀態(也就是說這個系統中粒子排布的所有可能性有Ω個),那麼熵直接與Ω的對數值成正比,比例常數為k(稱為玻爾茲曼常數,這是後來普朗克確定的);寫成公式即s=klnΩ,完全是初等函數,非常簡單漂亮,甚至不需要像克勞修斯那樣引入微分的概念。這個熵是從統計學角度推導的,稱為統計學熵或玻爾茲曼熵。
  • 來認識一下「熵」這個重要的概念
    「熵」是物理學中一個非常重要的概念,這個概念有多重要可以和「能量」概念對比一下。人們對能量的認識稍微早一些,也能夠體會得出能量這個概念在物理學中的重要地位。早期的時候有人認為能量是宇宙的主宰,而熵只不過是其影子。
  • 科普問答| 熱寂為什麼是熵最大呢?
    群友問:1:熱寂為什麼是熵最大呢?2:熱寂就是宇宙能量達到熱平衡,這不是應該也是一種最有序的狀態嗎?有序和無序都是用來描述一個系統的混亂程度的,而在熱力學裡,系統的混亂程度是用一個特定的物理量——熵——來表示的。那麼如何定義熵?在1854年,克勞修斯最早引入了熵的概念:dS=dQ/T, 其中S是系統的熵,Q是系統的熱量,T是系統的溫度。這個定義帶有鮮明的經驗科學的烙印,卻是物理學史上最具創意的概念之一。
  • 坤鵬論:熵,粉墨登場!
    、變成科學,經過嚴格推理,一切都可以從最簡單的基本概念演繹出來。笛卡爾基於能量守恆認為,整個物理學可以用嚴格的數學方式,以廣延、運動和靜止這三個概念為基礎來構建自身。並且,世界萬物,包括生命體的發展,都可以用這幾個基本概念去做數學的和機械的解釋。
  • 這是物理的錯,是熵的錯
    要想使房間更加整潔,就必須要對房間這個系統做功,房間「吸收」能量,熵減小。通過半天的忙活,房間的熵減小了為了更具體地了解熵這個概念,我們必須簡單知曉一下概率。每個系統都有一個宏觀狀態(形狀、大小、溫度等)和幾個微觀狀態。微觀狀態定義了系統中所有分子的排列以及它們如何相互作用,每種微觀狀態都有存在的機會。而熵是一種量化系統當前微觀狀態可能性的方法。
  • 熱力學第二定律與熵(後話)
    上一期我們從熱力學的角度出發,推演了「熵」這個概念的由來,並且從微觀的角度給出了S = k lnΩ這個著名的公式(這個公式的地位與聯繫運動學和力學的F=ma,聯繫質量和能量的E=mc2不相上下)。很多讀者表示難以理解,的確,熵源於熱力學中的一個比值,卻超越了熱力學。今天我們拋開晦澀難懂的熱力學,繼續聊聊熵(聊聊人生)。
  • 熵——奧妙無窮的概念,支配宇宙的萬事萬物
    我在學習物理(化學)時最喜歡的科目之一是熵的概念,以及它與幾乎所有事物的關係,從冰塊到整個宇宙。讓我們從頭開始。熵是什麼?熵可以被認為是隨機性的數量,或者等同於信息的缺失。物理上,熵是一個與「微觀構型」的數量成正比的量,而「微觀構型」與觀察到的「宏觀狀態」是一致的。
  • 物理學中的「熵」,如何通俗地解釋?
    「熵」,可以理解為一個系統的混亂程度。達到了最低值;同樣,在物理學中,宏觀物質都由微觀粒子組成,把上面的學生換成微觀粒子,把排座位換成微觀粒子的物理特徵(比如運動速度、能量、位置、偏振方向等等),那麼熵就代表這些物理量的有序度。
  • 信息熵是什麼,為啥漢語被稱為信息熵最大的語言?最普及的英語呢
    中國文字的發展史有五千年的歷史,非常的深奧,如果不學習拼音,根本認不全所有的字,漢語的複雜和其中的樂趣吸引了很多的外國人,他們也認為漢語是最難學習的語言,一個字有好幾種意思,而且一個意思也可以寫出很多的詞語。
  • 本座選股談量化投資—最大熵模型
    我們的前人用這樣樸素易懂的語言給我們描述的,正是作為信息處理中非常適用的原理,在數學上被稱為:最大熵模型(the maximum entropy principle),千萬別被這個高大上的名字嚇到,實際上用大白話來說就是保留一個事情的所有不確定性,將風險降至最低。    我們來看個例子,作為一個常年的德州撲克愛好者,身邊有這麼一群聰明的牌友,經常在一起研究策略。