信息論之香農熵(又名信息熵)最簡單-形象講解

1948 年,香農提出了“信息熵”(shāng) 的概念,解決了對信息的量化度量問題。

首先,先介紹一下克勞德 • 香農(Claude Shannon, 1916-2001)

        香農生於美國密歇根州,本科畢業於“美國大學之母”密歇根大學。他兒時崇拜的英雄人物是大名鼎鼎的、造福全人類的美國大發明家托馬斯 • 愛迪生(Thomas Alva Edison, 1847-1931),後來他發現這位英雄是他家的一個遠親。二十歲本科畢業時,他拿回了電子工程和數學兩張學士文憑。而他在密西根大學修課時接觸到英國數學家和哲學家喬治 • 布爾(George Boole, 1815-1864)最有名的工作“布爾代數”,成就了他二十一歲在麻省理工學院完成的題爲《中繼及開關電路的符號分析》(Symbolic analysis of relay and switching circuits,1937)的碩士學位論文。有人說這是二十世紀甚至人類歷史上最有價值的碩士論文,因爲它用布爾代數的理論首次表明對付真假李逵的“符號邏輯”與對付電路開關的“0-1數字”具有一致性,從而論證了數字計算機和數字線路的邏輯設計之可能性。

         香農最初並沒有借用“熵”這個詞彙來表達他關於信息傳輸中的“不確定性”的度量化。他甚至都不太知曉他所考慮的量與古典熱力學熵之間的類似性。他想把它稱爲“information(信息)”,但又認爲這個名詞太過大衆化,已被普通老百姓的日常話語用濫了。他又考慮過就用單詞“uncertainty(不確定性)”,但它卻更像抽象名詞,缺乏量化的餘地,確實難於定奪。終於有一天,他遇見了天才的數學家馮 • 諾依曼(John von Neumann, 1903-1957)。真是找對了人!馮·諾依曼馬上告訴他:

就叫它熵吧,這有兩個好理由。一是你的不確定性函數已在統計物理中用到過,在那裏它就叫熵。第二個理由更重要:沒人真正理解熵爲何物,這就讓你在任何時候都可能進能退,立於不敗之地。

香農的信息熵本質上是對我們司空見慣的“不確定現象”的數學化度量。譬如說,如果天氣預報說“今天中午下雨的可能性是百分之九十”,我們就會不約而同想到出門帶傘;如果預報說“有百分之五十的可能性下雨”,我們就會猶豫是否帶傘,因爲雨傘無用時確是累贅之物。顯然,第一則天氣預報中,下雨這件事的不確定性程度較小,而第二則關於下雨的不確定度就大多了。(轉自:返樸 鏈接:https://www.zhihu.com/question/22178202/answer/667876061)

在正式介紹香農熵的計算之前,我們需要先了解如何將詞轉成計算機可以識別的編碼。

比如:一句話中包含下面四個詞,那這四個詞彙,如何轉成計算機可識別的呢?就需要對詞彙進行編碼:

那麼來造兩個句子吧;因爲計算機是二進制的,所以一個字需要兩位數字來標識,因此有下面代替四個表情的字,用二進制表示如下:

eg1:開 難 憤 傷:00 01 10 11
eg2:開 傷 難 憤:00 11 01 10

可以看到4個字就需要了8位數來表示,如果8個字就需要16個數字來表示了,考慮到這個問題,於是就有了以下編碼的方式。

根據句子中每個字的概率,概率越大,分配的編碼越短,以此來減少編碼的長度,舉個例子:

我們假設表情概率分佈爲:開心:50%,憤怒:25%,難過:12.5%,傷心:12.5%,那麼原始的組合就如下圖左邊紅框的結果,共16個二進制共16*2=32,我們用概率越大越短的方式編碼,如下右邊紅框的結果14個二進制共14*2=28,相當於把原來編碼壓縮了12.5%。新的編碼,每個詞只需要1.75個二進制位。

這裏要注意,編碼的方式一定是唯一的,如果我們把開心表情的編碼換成1,可不可以呢?結果肯定是NO,爲什麼呢?

那麼,我們假如開心的是1,那麼110本來代表難過,是不是也有可能是開心+憤怒=110,110就代表了兩種含義,造成歧義。

如果還不能理解,那麼我們用數學的方法再來理解一下。

二進制只有0和1兩種情況,如果一個名詞多於兩種結果,比如我們上面四種表情,是四個結果,那麼0或1只能其中一個擁有含義,另一個必須空出來,比如0代表開心,1就必須空出來,不能有含義,同理,兩個二進制有四種組合00,01,10,11。0我們已經表示爲開心,那麼第一位0開頭的編碼就不可以用,只有10,11可用,10表示憤怒,那麼11就不能再用了,下面到三位,三位組合有:000,010,011,101,100,110,111.很明顯0開頭被開心佔用,000,010,011廢棄,10開頭被憤怒佔用,剩下110,111,一個表達憤怒,一個表達傷心。這就是編碼的過程。

上面說了那麼多,就是爲了引出下面的內容:

香農給出一個數學公式。L表示所需要的二進制位,p(x)表示發生的概率,它們的關係如下:

通過上面公式,可以計算出某種概率的結果所需要的二進制位。比如概率0.5,那麼他的導數2,以2爲底的對數是1,所以是1位二進制。

接下來就可以計算一種概率分佈的平均編碼長度也就是信息熵的公式:

上面的H,就是該種概率分佈的平均編碼長度。

以我們上面的舉例,我們看下如何使用該公式:

H=0.5 * 1 + 0.25 * 2 +0.125 * 3 + 0.125 * 3
=0.5+0.5+0.375+0.375
=1.75

因此,總的長度就是1.75*8=14位

平均編碼長度(H),就是信息量的度量,也就是信息熵,H越大,需要的二進制位越多,可能發生的結果就越多,不確定就越高。

以下轉自百度百科:

熵這一名稱並不是香農首先提出的。最先提出熵這一名稱的是物理學家,他提出的熵稱其爲熱熵,它是熱力學系統的一個狀態函數,熱熵是物理系統無序性的量度,熱熵越大,表明物理系統可能的微觀狀態數也就越多,從微觀上看,系統就越變化多端,越沒有秩序。

香農在研究隨機變量不確定性量度時所得的式在數學模型層次上與熱熵完全相同,所以香農也把它稱作熵,一般稱其爲信息熵或香農熵。

若把系統分子的相空間作爲系統宏觀狀態的狀態空間,則按分子在相空間中的分佈而求得的香農熵H與其熱熵S有如下的關係:s=KH

 因此,可以認爲熱熵是香農熵的一個特例,它僅僅是分子在相空間所處位置的不確定性的量度。

然而,熱熵是有量綱的,而香農熵是無量綱的,這是兩者的重大差別。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章