熵、信息量、信息熵、交叉熵-我的小結

1、理解熵

一、首先看到這個詞會產疑問,熵是什麼?誰定義的?用來幹什麼的?爲何機器學習會用到熵?
有了這些疑問後慢慢的開始探索~
複製代碼

熵,熱力學中表徵物質狀態的參量之一,用符號S表示,其物理意義是體系混亂程度的度量。 克勞修斯(T.Clausius) 於1854年提出熵(entropie)的概念, 我國物理學家胡剛復教授於1923年根據熱溫商之意首次把entropie譯爲「熵」。A.Einstein曾把熵理論在科學中的地位概述爲「熵理論對於整個科學來講是第一法則」。機器學習


爲了理解熵,必須講一點物理學。函數

19世紀,物理學家開始認識到,世界的動力是能量,而且提出"能量守恆定律",即能量的總和是不變的。可是,有一個現象讓他們很困惑。學習

(上圖中,單擺在兩側的最高點,勢能最大,動能爲零;在中間的低點,動能最大,勢能爲零,能量始終守恆。)

物理學家發現,能量沒法百分百地轉換。好比,蒸汽機使用的是熱能,將其轉換爲推進機器的機械能。這個過程當中,老是有一些熱能損耗掉,沒法徹底轉變爲機械能。spa

(上圖中,能量 E 的轉換,老是會致使能量損耗 ∆E。).net

一開始,物理學家覺得是技術水平不高致使的,但後來發現,技術再進步,也沒法將能量損耗降到零。他們就將那些在能量轉換過程當中浪費掉的、沒法再利用的能量稱爲熵。3d

後來,這個概念被總結成了"熱力學第二定律":能量轉換老是會產生熵,若是是封閉系統,全部能量最終都會變成熵。code

熵既然是能量,爲何沒法利用?它又是怎麼產生的?爲何全部能量最後都會變成熵?
複製代碼

物理學家有不少種解釋,有一種我以爲最容易懂:能量轉換的時候,大部分能量會轉換成預先設定的狀態,好比熱能變成機械能、電能變成光能。可是,就像細胞突變那樣,還有一部分能量會生成新的狀態。這部分能量就是熵,因爲狀態不一樣,因此很難利用,除非外部注入新的能量,專門處理熵。cdn

(上圖,能量轉換過程當中,創造出許多新狀態。)對象

總之,能量轉換會創造出新的狀態,熵就是進入這些狀態的能量。blog

如今請你們思考:狀態多意味着什麼?
複製代碼

狀態多,就是可能性多,表示比較混亂;狀態少,就是可能性少,相對來講就比較有秩序。所以,上面結論的另外一種表達是:能量轉換會讓系統的混亂度增長,熵就是系統的混亂度。

(上圖中,熵低則混亂度低,熵高則混亂度高。)

轉換的能量越大,創造出來的新狀態就會越多,所以高能量系統不如低能量系統穩定,由於前者的熵較大。並且,凡是運動的系統都會有能量轉換,熱力學第二定律就是在說,全部封閉系統最終都會趨向混亂度最大的狀態,除非外部注入能量。

(上圖中,冰塊是分子的有序排列,吸取能量後,變成液體水,分子排列變得無序。)

熵讓我理解了一件事,若是不施加外力影響,事物永遠向着更混亂的狀態發展。好比,房間若是沒人打掃,只會愈來愈亂,不可能愈來愈乾淨。
複製代碼

(上圖中,若是不花費能量打掃,房間老是愈來愈亂。)

熵的解釋是混亂度的度量單位,一個系統的混亂度越高它的熵就越高
複製代碼

2、理解信息量

咱們知道了熵的概念最先起源於物理學,用於度量一個熱力學系統的無序程度。在信息論裏面,熵是對不肯定性的測量。

這裏有又產生了疑問,熵怎麼就合信息論產生了關係?
複製代碼

信息是咱們一直在談論的東西,但信息這個概念自己依然比較抽象。在百度百科中的定義:信息,泛指人類社會傳播的一切內容,指音訊、消息、通訊系統傳輸和處理的對象。

一、信息量和事件發生的機率相關,事件發生的機率越低,傳遞的信息量越大;
二、信息量應當是非負的,必然發生的事件的信息量爲零;
三、兩個事件的信息量能夠相加,而且兩個獨立事件的聯合信息量應該是他們各自信息量的和;
複製代碼

用數學表達以下:

3、理解信息熵

但信息可不能夠被量化,怎樣量化?答案固然是有的,那就是「信息熵」。早在1948年,香農(Shannon)在他著名的《通訊的數學原理》論文中指出:「信息是用來消除隨機不肯定性的東西」,並提出了「信息熵」的概念(借用了熱力學中熵的概念),來解決信息的度量問題。

好了,這裏就產生了信息熵!那麼怎麼解釋呢?那信息熵如何計算呢?
複製代碼

舉個吳軍在《數學之美》中同樣的例子,假設世界盃決賽圈32強已經產生,那麼隨機變量「2018年俄羅斯世界盃足球賽32強中,誰是世界盃冠軍?」的信息量是多少呢?

根據香農(Shannon)給出的信息熵公式,對於任意一個隨機變量X,它的信息熵定義以下,單位爲比特(bit):

把最前面的負號放到最後,便成了:

上面兩個熵的公式,不管用哪一個都行,並且二者等價,一個意思。
複製代碼

那麼上述隨機變量(誰得到冠軍)的信息量是:

其中,p1,p2,…,p32分別是這32強球隊奪冠的機率。 吳軍的書中給出了幾個結論:一是32強球隊奪冠機率相同時,H=5;二是奪冠機率不一樣時,H<5;三是H不可能大於5。 對於第一個結論:結果是很顯然的,奪冠機率相同,即每一個球隊奪冠機率都是1/32,因此H=-((1/32)·log(1/32)+(1/32)·log(1/32)+…+(1/32)·log(1/32))=-log(1/32)=log(32)=5(bit)

對於第二個結論和第三個結論:使用拉格朗日乘子法進行證實,詳見《求約束條件下極值的拉格朗日乘子法》。這其實是說系統中各類隨機性的機率越均等,信息熵越大,反之越小。

從香農給出的數學公式上能夠看出,信息熵實際上是一個隨機變量信息量的數學指望。
複製代碼

平常生活中,咱們常常說某人說話言簡意賅,信息量卻很大,某些人滔滔不絕,可是廢話連篇,沒啥信息量;這個電視劇情節太拖沓,一集都快演完了也沒演啥內容。這裏的信息量/內容與信息熵有什麼關係呢?

不少人把這些東西與信息熵混爲一談,得出「說話信息量越大,信息熵越高」「語言越言簡意賅,信息熵越高;語言越冗餘堆積,信息熵越低。」等等結論。

不是說這些說法錯了,而是容易引發誤導。我的認爲,這裏平常語境的信息量與其說是信息量,不如說是信息質量和信息傳遞效率問題,有沒有乾貨,有沒有觀點,有沒有思想,而且在必定的文字長度/播放時間內,能不能有效的表達出來,這個實際上是人的能力問題,和信息熵沒啥關係好不!

4、聯合熵、條件熵、交叉熵

聯合熵:兩個隨機變量X,Y的聯合分佈,能夠造成聯合熵Joint Entropy,用H(X,Y)表示。

條件熵:在隨機變量X發生的前提下,隨機變量Y發生所新帶來的熵定義爲Y的條件熵,用H(Y|X)表示,用來衡量在已知隨機變量X的條件下隨機變量Y的不肯定性。
複製代碼

且有此式子成立:H(Y|X) =H(X,Y) – H(X),整個式子表示(X,Y)發生所包含的熵減去X單獨發生包含的熵。至於怎麼得來的請看推導:

簡單解釋下上面的推導過程。整個式子共6行,其中

第二行推到第三行的依據是邊緣分佈p(x)等於聯合分佈p(x,y)的和;
第三行推到第四行的依據是把公因子logp(x)乘進去,而後把x,y寫在一塊兒;
第四行推到第五行的依據是:由於兩個sigma都有p(x,y),故提取公因子p(x,y)放到外邊,而後把裏邊的-(logp(x,y)-logp(x))寫成- log(p(x,y)/p(x)) ;
第五行推到第六行的依據是:條件機率的定義p(x,y) = p(x) * p(y|x),故p(x,y) / p(x) = p(y|x)。
複製代碼

相對熵:又稱互熵,交叉熵,鑑別信息,Kullback熵,Kullback-Leible散度等。設p(x)、q(x)是X中取值的兩個機率分佈,則p對q的相對熵是:
複製代碼

在必定程度上,相對熵能夠度量兩個隨機變量的「距離」,且有D(p||q) ≠D(q||p)。另外,值得一提的是,D(p||q)是必然大於等於0的。

附錄:聯合熵、條件熵、交叉熵、互信息


#交叉熵例子

這是公式定義,x、y都是表示機率分佈(注:也有不少文章喜歡用p、q來表示),這個東西能幹嗎呢?

假設x是正確的機率分佈,而y是咱們預測出來的機率分佈,這個公式算出來的結果,表示y與正確答案x之間的錯誤程度(即:y錯得有多離譜),結果值越小,表示y越準確,與x越接近。

好比:

x的機率分佈爲:{1/4 ,1/4,1/4,1/4},如今咱們經過機器學習,預測出來二組值:

y1的機率分佈爲 {1/4 , 1/2 , 1/8 , 1/8}

y2的機率分佈爲 {1/4 , 1/4 , 1/8 , 3/8}

從直覺上看,y2分佈中,前2項都100%預測對了,而y1只有第1項100%對,因此y2感受更準確,看看公式算下來,是否是符合直覺:

對比結果,H(x,y1)算出來的值爲9/4,而H(x,y2)的值略小於9/4,根據剛纔的解釋,交叉熵越小,表示這二個分佈越接近,因此機器學習中,常常拿交叉熵來作爲損失函數(loss function)。

相關文章
相關標籤/搜索