資訊理論之夏農熵(又名資訊熵)最簡單 形象講解

2021-10-03 21:10:45 字數 2890 閱讀 7666

1948 年,夏農提出了「資訊熵」(shāng) 的概念,解決了對資訊的量化度量問題。

夏農生於美國密西根州,本科畢業於「美國大學之母」密西根大學。他兒時崇拜的英雄人物是大名鼎鼎的、造福全人類的美國大發明家托馬斯 • 愛迪生(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)。真是找對了人!馮·諾依曼馬上告訴他:

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

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

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

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

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

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

熵與資訊理論

假設任何檔案都可以被壓縮到 n 個二進位制位 bit 那麼其最多可以表示 2n 個不同的壓縮結果。也即,如果存在 2n 1個檔案,根據鴿籠原理,必然至少有兩個檔案得到同一壓縮效果。這就意味著,這兩個檔案不可能都無損地還原。因此,可以得出乙個相對抽象的結論,並非所有檔案都可以被壓縮到 n 個bit 位...

TensorFlow 資訊理論 資訊熵2

tensorflow 資訊理論 資訊熵2 flyfish tensorflow 資訊理論 資訊熵1 熵是接收的每條訊息中包含的資訊的平均量,又被稱為資訊熵 信源熵 平均自資訊量 自資訊量已經知道它的意思,平均自資訊量就是加權平均 在資訊理論裡 熵,資訊熵 信源熵 平均自資訊量都是乙個意思 乙個系統的...

資訊增益 夏農熵

在劃分資料集之前之後資訊發生的變化稱為資訊增益,計算每個特徵值劃分資料集獲得的資訊增益,獲得資訊增益最高的特徵就是最好的選擇。集合資訊的度量方式稱為夏農熵或者簡稱為熵,熵定義為資訊的期望值。何為資訊,如果待分類的事物的標籤佔總標籤的百分比為p xi 則符號xi的資訊定義為 計算熵,則需要計算所有類別...