大白話理解——熵和信息熵

在學習深度學習的時候,經(jīng)常使用交叉熵損失函數(shù)。一開始將其籠統(tǒng)的理解為計算兩個分布之間的距離或者相似度,但是對于交叉熵其中的原理并不清楚。那么交叉熵到底是怎么來的呢?首先我們就必須要知道 的概念,并且理解其在信息論中上的定義和表示。這里我們淺淺的看一下熵和信息熵的定義和理解。

一、熵

在中學時代,我們在物理課的熱力學知識中就學習過,熵(entropy)代表的是一個系統(tǒng)中的混亂程度。例如:熵增,就是指一個系統(tǒng)的混亂程度增加。熵減,就是一個系統(tǒng)趨于穩(wěn)定。一碗開水逐漸變涼的過程就是熵減的過程。

這里呢我們從信息論的角度來討論熵。那么什么是信息呢?信息怎么度量呢?

二、信息熵

【信息1】巴菲特昨天出門是左腳先邁出門檻的。(信息量少,與我無關)
【信息2】中國隊進入世界杯決賽。(信息量爆炸?。?br> 從上面兩條信息中可以看出,信息量的大小與信息的長短無關,也與信息的正確性沒有關系。信息量與其確定性有關系,即他能給你帶來多少確定性。那么我們現(xiàn)在怎么去定義一個函數(shù)表述信息量呢?
f(x) := 信息量

現(xiàn)在我們拿世界杯比賽中,阿根廷奪冠這件事進行描述。

我們怎么描述阿根廷奪冠的信息量呢?阿根廷奪冠的信息量等于阿根廷進決賽的信息量+阿根廷贏了決賽的信息量。

與此同時,如果用數(shù)學中的概率學知識對此事件進行描述的話,阿根廷奪冠的概率等于阿根廷進決賽的概率*阿根廷贏得比賽的概率。

那么計算信息量的公式就變成了如下模樣:

根據(jù)紅色方框的函數(shù),我們不難想到,這和我們中學學習的log函數(shù)很像嗎?
log_a(M·N)=log_aM+log_aN
所以我們對于信息量的定義就可以變成如下形式:
f(x) := ? * log _?x
于是現(xiàn)在出現(xiàn)了一個問題,系數(shù)是多少?底是多少?
根據(jù)log函數(shù),它是一個單調遞增的函數(shù)。當x越大,函數(shù)值越大。但是在描述信息量的時候,我們發(fā)現(xiàn)一件事情發(fā)生的概率越小,當他發(fā)生時所包含的信息量越大。所以我們需要給上述定義中的系數(shù)加上一個負號,也就是說當x越小的時候,信息量越大。至于底數(shù)的選擇,我們可以比較隨意。因為其不影響對信息量的定義。于是我們對信息量的定義就可以變成了下面的樣子:
f(x) := -log_2x
我們再去計算阿根廷奪冠的信息量就變成了:
f(1/8) := -log2(1/8) = 3

現(xiàn)在我們已經(jīng)對信息量進行了一個定義,其具體含義為:一個事件,從確定到不確定之間的難度有多大。信息量大,就是說難度大,信息量小,就說明難度小。其實熵也是類似的,熵越大,系統(tǒng)越混亂,系統(tǒng)從混亂到穩(wěn)定的難度也越大。熵和信息量都是來形容難度的,那么其實他們兩個的單位也可以一樣,這個單位可以是比特。
這里的轉變有些復雜,我們假設一個事件發(fā)生的信息量為3比特,其相當于是三個比特組成一個隨機數(shù),這個隨機數(shù)剛好是0的難度一樣。

到這里似乎這個關于信息量理論已經(jīng)很完善了。但其實我們對有關于信息熵的定義還不夠準確。信息熵的概念是指一個系統(tǒng)中的信息量,難道一個系統(tǒng)的信息是單個子事件信息量的簡單的累加嗎?答案是非也。

再舉一個例子,有兩場比賽。
【比賽1】阿根廷對戰(zhàn)比利時,兩者贏球的概率均為0.5.
【比賽2】中國對戰(zhàn)法國,法國贏球的概率為0.99,中國贏球的概率為0.01.


根據(jù)上面我們對信息量的描述,可以計算出每一個國家贏球的信息量。如果簡單累加的話,左邊系統(tǒng)的信息量是2,右邊系統(tǒng)的信息量為6.65。

根據(jù)信息熵的理解,也就是說左邊的系統(tǒng)更加穩(wěn)定,右邊的系統(tǒng)更加不穩(wěn)定。然而在直觀理解中并不是這樣,左邊系統(tǒng)中似乎更不穩(wěn)定,誰是贏家,還真說不準。反觀右邊的系統(tǒng),這個系統(tǒng)似乎挺穩(wěn)定的。所以一個系統(tǒng)的信息熵等于單個子事件的信息量乘以它發(fā)生的概率的積的和。關于信息熵的定義變成了:

觀察這個式子,我們也可以理解為對一個系統(tǒng)求信息熵,那就是對這個系統(tǒng)求信息量的期望。

好啦,學習到這里,我們就完成了對信息熵的介紹。

如果你還想接下來了解KL散度和交叉熵,大家可以參考我的另外兩篇文章:
【1】大白話理解——KL散度和交叉熵 - 簡書 (jianshu.com)
【2】大白話理解——交叉熵 - 簡書 (jianshu.com)

本文參考視頻內容:“交叉熵”如何做損失函數(shù)?打包理解“信息量”、“比特”、“熵”、“KL散度”、“交叉熵” 去給up主點個贊吧!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容