為什麼信息熵要定義成-Σp*log(p)?

如果僅僅只為了表徵不確定性,可以有很多種定義方法,比如1/∏pi 也可以啊,定義成這種形式好處何在?


我從一個非常直觀的角度來解釋一下熵的定義為什麼如題主所示。

第一,假設存在一個隨機變數x,可以問一下自己當我們觀測到該隨機變數的一個樣本時,我們可以接受到多少信息量呢?毫無疑問,當我們被告知一個極不可能發生的事情發生了,那我們就接收到了更多的信息;而當我們觀測到一個非常常見的事情發生了,那麼我們就接收到了相對較少的信息量。因此信息的量度應該依賴於概率分布p(x)所以說熵h(x)的定義應該是概率的單調函數。

第二,假設兩個隨機變數xy是相互獨立的,那麼分別觀測兩個變數得到的信息量應該和同時觀測兩個變數的信息量是相同的,即:h(x+y)=h(x)+h(y)。而從概率上來講,兩個獨立隨機變數就意味著p(x,y)=p(x)p(y)所以此處可以得出結論熵的定義h應該是概率p(x)log
函數。因此一個隨機變數的熵可以使用如下定義:

[h(x)=-log_2p(x)]

此處的負號僅僅是用來保證熵(即信息量)是正數或者為零。而log函數基的選擇是任意的資訊理論中基常常選擇為2,因此信息的單位為比特bits;而機器學習中基常常選擇為自然常數,因此單位常常被稱為nats)。

最後,我們用熵來評價整個隨機變數x平均的信息量,而平均最好的量度就是隨機變數的期望,即熵的定義如下:

H[x]=-sum_xp(x)log_2p(x)

總的來說,題主給出的定義符合第一點(單調性),但是不符合第二點。

以上內容參考自Bishop 的著作《Pattern Recognition and Machine Learning》


這涉及到信息熵的公理化問題。下圖選自T. Cover和J. Thomas的Elements of Information Theory一書里的習題。對於給定的離散隨機變數的泛函,如果滿足規範化、連續性和組合法則這三條,就一定只能是香農定義的形式。


不請自來,log的原因是,一條信息的可能性數量隨著位數的增加是指數的。

用二進位bit表示,1bit有2個狀態,2bit有4個狀態,Nbit有2^N個可能狀態。

可能性的數量隨指數上升,指數那麼變回線性的形式就是log咯~

至於對數的底是e還是2無所謂,只是一個比例因子而已。

一條信息是log,N條信息就是Nlog咯。

最後,熵表示混亂度,考慮到符合物理意義理解的話,加上負號。

最後就是形如-segmma(p*log(p))

以上です。

Michael Ding說:

最後這句話,「熵表示混亂度」, 這句話是從物理熵(熱力學熵)的角度來理解的吧,從信息熵角度來理解是信息的豐富程度

我覺得好有道理……


其實越看這東西越佩服香農,這式子什麼意思呢?架設有兩件事各有50%的可能發生,那麼根據這式子算出來信息熵是1bit,而現在我們很容易理解,最優的編碼是用0和1各表示一個事件。如果有四件事各有25%的發生幾率,那麼信息熵是2bit,我們知道這個時候用00,01,10,11各表示一個事件就可以完全表示出這個隨機事件。也就是說這個事件的信息量是2bit。推而廣之……

我覺得現在這東西一點也不難理解,尤其是習慣了數字時代和bit的我們。

然而,這些都是香農定義的,那個時候可不是數字計算機的時代。看過他的訪談就知道——圖靈是天才,圖靈機是天才的想法,用演算法來描述所有人類的思考行為是天才的。然而,同樣的東西,也逐漸在他的美國同行,例如馮諾伊曼,例如香農,的腦海中成型了。

然而香農,用bit描述世界上所有的信息和交流,即便在當時,當他在午餐時和圖靈提起時,都被圖靈認為是不切實際的。很多技術和理論都是歷史發展的產物,但資訊理論的提出卻超出了時代——這個本來應該是在數字時代出現之後從實踐中逐漸總結出的理論,卻因為香農的天才,提前了至少10年。


下面我從信息熵的相關知識點一步一步說出自己的理解

信息熵的公式

先拋出信息熵公式如下:

其中 P(x_{i}) 代表隨機事件X為 x_{i} 的概率,下面來逐步介紹信息熵的公式來源!

信息量

信息量是對信息的度量,就跟時間的度量是秒一樣,當我們考慮一個離散的隨機變數x的時候,當我們觀察到的這個變數的一個具體值的時候,我們接收到了多少信息呢?

多少信息用信息量來衡量,我們接受到的信息量跟具體發生的事件有關。

信息的大小跟隨機事件的概率有關。越小概率的事情發生了產生的信息量越大,如湖南產生的地震了;越大概率的事情發生了產生的信息量越小,如太陽從東邊升起來了(肯定發生嘛,沒什麼信息量)。這很好理解!

例子

腦補一下我們日常的對話:

師兄走過來跟我說,立波啊,今天你們湖南發生大地震了。

我:啊,不可能吧,這麼重量級的新聞!湖南多低的概率發生地震啊!師兄,你告訴我的這件事,信息量巨大,我馬上打電話問問父母什麼情況。

又來了一個師妹:立波師兄,我發現了一個重要情報額,原來德川師兄有女朋友額~德川比師妹早進一年實驗室,全實驗室同學都知道了這件事。我大笑一聲:哈哈哈哈,這件事大家都知道了,一點含金量都沒有,下次八卦一些其它有價值的新聞吧!orz,逃~

因此一個具體事件的信息量應該是隨著其發生概率而遞減的,且不能為負。

但是這個表示信息量函數的形式怎麼找呢?

隨著概率增大而減少的函數形式太多了!不要著急,我們還有下面這條性質

如果我們有倆個不相關的事件x和y,那麼我們觀察到的倆個事件同時發生時獲得的信息應該等於觀察到的事件各自發生時獲得的信息之和,即:

h(x,y) = h(x) + h(y)

由於x,y是倆個不相關的事件,那麼滿足p(x,y) = p(x)*p(y).

根據上面推導,我們很容易看出h(x)一定與p(x)的對數有關(因為只有對數形式的真數相乘之後,能夠對應對數的相加形式,可以試試)。因此我們有信息量公式如下:

h(x)=-log_{2}p(x)

下面解決倆個疑問?

(1)為什麼有一個負號

其中,負號是為了確保信息一定是正數或者是0,總不能為負數吧!

(2)為什麼底數為2

這是因為,我們只需要信息量滿足低概率事件x對應於高的信息量。那麼對數的選擇是任意的。我們只是遵循資訊理論的普遍傳統,使用2作為對數的底!

信息熵

下面我們正式引出信息熵。

信息量度量的是一個具體事件發生了所帶來的信息,而熵則是在結果出來之前對可能產生的信息量的期望——考慮該隨機變數的所有可能取值,即所有可能發生事件所帶來的信息量的期望。即

H(x)=-sum (p(x)log_{2}p(x) )

轉換一下為:

最終我們的公式來源推導完成了。

這裡我再說一個對信息熵的理解。信息熵還可以作為一個系統複雜程度的度量,如果系統越複雜,出現不同情況的種類越多,那麼他的信息熵是比較大的。

如果一個系統越簡單,出現情況種類很少(極端情況為1種情況,那麼對應概率為1,那麼對應的信息熵為0),此時的信息熵較小。

這也就是我理解的信息熵全部想法,希望大家指錯交流。也希望對大家理解有幫助~


我借鑒的材料[1]中有比較好的理解,我也一直按這個來理解,希望對你有所幫助:

以下用I(a)表示a事件發生的信息量

有兩個事件a,b,如果其中一條有更小的概率發生,那麼我們認為它發生會傳遞更大的信息量即:

1、 0&

I(b)

如果一個事件a發生概率趨於0,那麼我們認為它發生時有趨於無窮大的信息量,因為這個消息會刷新世界觀即:

2、p(a)=0, 則 I(a)--&> infinity

如果一個事件a發生概率為1,那麼它發生了,我們覺得理所當然,完全沒有信息量,即

3、p(a)=1, 則 I(a)=0

人們認為兩個獨立事件的聯合信息量應該等於他們各自信息量之和,因為人們分別從其中得到信息,即:

4、p(a,b)=p(a)p(b),則 I(a,b)=I(a)+I(b)

在數學上可以證明滿足以上1,2,3,4的信息函數一定有以下形式(充分且必要):

I(a)=-log p(a)

這裡 log 的底數是大於1的都可以。一般下我們考慮以2為底的log函數,這樣就能將p(a)=1/2, 獲得的信息函數 I(a)=1 bit,意味著一個以一半概率發生的事件,我們用「是」,「否」這樣1bit的碼來記錄。

以上我們解釋了信息函數I,然後我們解釋信息熵:

我們對於一個離散隨機變數X,我們想要求它各種情況發生(X等於各個值)的「平均」信息量,這個平均信息量我們定義為這個隨機變數的信息熵,所以熵表示為:

H(X)=E(I(X))=sum_{i} -p(a_i)log(p(a_i))

總而言之,信息熵評價的是隨機變數X等於各個值的平均信息量(切記平均)。

以上是我所記得關於信息函數和熵的定義,如果有所偏差請查看我的reference那本書。

以下是我的理解

平均信息量為什麼能表示隨機變數X的不確定度呢?

首先我們要明確什麼樣的隨機變數算是最「不確定」的。事實上,均勻分布(離散情況的)是最不確定的,因為沒有任何的偏向!考慮只有二元的情況,就是隨機變數X只能有X=a或者X=b兩種情況,如果p(X=a) 概率很大,接近於1,同時p(X=b) 概率很小。那麼這個情況下X的不確定度很小是明顯的因為我們比較肯定X=a的發生。從以上直覺,二元在發生概率相同下應該是最混亂的狀態。可以證明熵函數與以上的論述是自洽的,也可以證明所有離散分布下面,隨機變數X在均勻的離散分布下熵函數最大(利用-log函數是凸函數以及Jensen不等式可以很容易證明這一點)。

從直覺上我們也可以有如下理解:假設我們的信源總是不斷地發信號X,X是一個隨機變數,假設我們沒有任何雜訊地,非常準確地接收到X,而且我們知道預先知道X的分布,就是我們知道各個事件發生的概率。從直覺上,那麼X越是確定的分布(比如X以1的概率等於a),我們「平均得到的信息」就應該越少,因為幾乎確定的東西平均而言根本就沒什麼信息量。X越是不確定的分布(比如均勻分布),那麼「平均得到的信息」就應該越大。這個「平均得到的信息」,就是我們的信息熵。另外我認為是信息熵有表現隨機變數不確定度的性質,而不是隨機變數的不確定度一定要用信息熵來表示。因為「不確定度」這個定義本來就很不明確,我們一般用信息熵來度量而已。

我自己的理解可能寫的有些不好,我都不忍直視,歡迎指正。另外強烈推薦我的reference,比較淺顯,非常適合理解資訊理論。

Reference: [1] 資訊理論與編碼,姜丹,中國科學技術大學出版社


想知道原理的自行wiki Cauchy"s functional equation


假設有N個骰子,那麼就有6^{N} 種狀態:

S=log_{2} 6^{N}/N=log_{2} 6=6*frac{1}{6} *log_{2}6

P_{i}=frac{1}{6}

S=sum_{i}P_{i} log_{2}frac{1}{P_{i}} =-sum_{i}P_{i} log_{2}  P_{i}


我覺得大家回答的有點繞,我覺得邏輯是這樣的:

1.我們要定義一個信息熵,來表示一個概念

2.雖然不知道具體是什麼,但這個信息熵的數學形式要滿足幾個性質,這樣才能符合我們要表示的概念。這些性質就像西貝、項王提到的那樣。

3.某大牛憑直覺草稿紙上試了下,拍了下腦袋,「哎呦我去,這樣定義不就符合要求了嗎!」於是就有了-Σp*log(p)

4.驗證一下,確實符合我們要滿足的性質,於是就它了。

大概就這過程。


你可以從S = log( Omega) 推出來,

比如,一共有N個球,有n個筐,球出現在每個筐的概率是p1,p2...pn

假如這些球是可區分的,那麼把N個球分到這些筐里,分別是p1*N,p2*N,...pn*N

可能的情況數是Omega = N!/[ (p1*N)! (p2*N)!...(pn*N)

代入S = log( Omega)就可以得到了

化簡中用到log(N!) = NlogN - N,( N非常大)


從shannon information content(SIC)推過來的,所以其原因可以直接參考SIC的背後邏輯:

  • 信息的content(也就是後面所說的的熵咯)跟它的不確定性應成比例
  • 而越不確定的,content應該越大(可以意會成咱說的:「信息量好大」就是裡面信息很模稜兩可的意思嘛)
  • 多結果的情況要被考慮到
  • 不相關事件的獨立性

然後你看-P*logP 是不是都符合上面的咯?

順便貼個鏈接:Feature Selection using Mutual Information


查information theory, neural network那本書


剛好看《數學之美》中有一個非常直觀的例子:

假設我們沒有看世界盃的比賽,但是想知道哪支球隊會是冠軍,只能去問已經看過比賽的觀眾,但是我們只能猜測某支球隊是或不是冠軍,然後觀眾用對或不對來回答,我們想要猜測次數儘可能少,所用的方法就是二分法。假如有 16 支球隊,分別編號,先問是否在 1-8 之間,如果是就繼續問是否在 1-4 之間,以此類推,直到最後判斷出冠軍球隊是哪只。如果球隊數量是 16,我們需要問 4 次來得到最後的答案。那麼世界冠軍這條消息的信息量就是 4。在計算機中,這條信息的信息量就是 4 比特,如果一共是 32 支球隊參賽,那麼世界冠軍的信息量就是 5 比特,可以看到信息量跟可能情況的對數 log (以 2 為底)有關(這裡大概有點知道為什麼求熵的公式里會有一個 log 了)。

但是以往經驗表示,如果世界盃有 32 支球隊參賽,有些球隊實力很強,拿到冠軍的可能性更大,而有些隊伍拿冠軍的概率就很小。我們在之前用二分法計算的時候其實是看做每個球隊奪冠的概率都相等,因此我們從最可能奪冠的幾支球隊中猜測冠軍球隊,實際需要的信息量是小於我們之前方法計算的信息量的。

準確的信息量應該是: H = -(p1 * logp1 + p2 * logp2 + ... + p32 * logp32),其中 p1, ..., p32 分別是這 32 支球隊奪冠的概率。我們再回頭驗算一下,當每支球隊奪冠概率相等都是 1/32 的時候,H = -(32 * 1/32 * log1/32) = 5,根據最大熵原理,每個事件概率相同時,熵最大,這件事越不確定。

這裡我們只是說了如何計算,那麼為什麼求總信息量就是所有 -p*logp 再求和呢?維基百科一句話就讓我明白了:-logp 就是一種可能性的信息量啊,一個事件總的信息量就是每一種可能的情況的信息量乘以它們發生的概率,其實就是信息量的數學期望。


作為香農的校友我忍不住怒答一發。

首先,大家把這個公式分析得非常對,什麼概率p非負,什麼對數的底可以任取,這些都說得非常對。但是有一個問題估計沒有解釋得很清楚,那就是為什麼用對數?為什麼要用概率p乘上log(p)

首先,必須得引入一個比香農還要早地提出給信息做量化的人,哈特萊,就是那個如果對數的底是10,算出來的信息量的單位。哈特萊首先想到應該要用一個類似於log(p)的公式來定量化信息。

log(p)這種定義有幾個好處:

1. 概率p天生非負,除了在p=0的時候會產生點小毛病,基本沒什麼大問題

2. 確定事件p=1的信息量等於0,似乎非常符合常理

3. 隨p單調增

香農在研究通信的數學理論時發現這個定義很有道理。加上了概率p。這樣信息量的公式就變成了信源熵的公式,用點統計的語言,這是某個信源平均一個符號信息量的數學期望。

其實,公式只需要有個大體上的道理就可以了。因為假如香農定義信息量的計算公式是 frac{1}{2}sum plog(p) 你們覺得有問題嗎?沒有呀,因為性質都本質沒變,只是單純地多了個係數而已,有沒有負號完全取決於大家習不習慣,問題也不大。所以這個定義只要使用的時候沒問題就很合理。當然,香農也確實沒有說沒有別的信息量的定義。


為啥要寫那麼複雜。

1.信息量隨概率增大而減小

2.事件發生概率為1則該信息無信息量

3.兩個獨立事件均發生的信息量為兩個事件各自信息量之和

這樣信息量就只能定義為-logp

然後,用信息量期望作為變數不確定性的量度,這就是信息熵表達式


先挖坑,不一定填,,,QwQ


先談談公式:

1)對於公式中的 log ,我做出如下解釋:

①先附上一張對數函數的曲線圖:

②對公式中log來源的理解:

根據資訊理論所述:概率越小的事件所含的信息量越大,採用對數恰好能滿足這一要求。

其中底數表示發生結果的種數,一般大於等於1,紅色曲線符合要求,但此時的信息量y會顯現出隨著事件概率 x 的增大而增大,不符合「信息量y隨事件概率 x 的增大而減小」這一性質,為此可將 x 取倒,致使當 x 增大時,1/x 變小,y 隨之變大,滿足要求,另外 x 表示的是概率值,故 1/x≥1 , 所以保證了信息熵為正數。

要注意,負號是將分子和分母拆開表達的對數關係式。

2) 對公式中的 Sigma 其實更好理解,這就是一個求期望值(即均值)的問題,概率論中關於期望的部分可以去看一看。這裡借用百度百科的定義:

離散型隨機變數的一切可能的取值 x_{i} 與對應的概率 p (x_{i}) 乘積之和稱為該離散型隨機變數的數學期望


這裡說一說公式的的由來(即:概率越小的事件所含的信息量越大,採用對數恰好能滿足這一要求)。

我們可以從概率統計的角度理解:

假設某個聯合事件是由N個獨立事件構成,此時對聯合事件的信息量和發生概率各自為 :

可見當概率 P(x) 越小時,其包含的獨立事件個數就越多,而每個獨立事件又都可以代表一種信息量 I(x),所以此時也就可以理解其所包含的信息量會越多。


信息熵是記錄一個隨機事件的結果,所需要的最少比特數的期望值。

假設已知100人的人群群的性別比M:F:LGBT是44:44:2,那麼表示男性或女性的性別需要大約需要1.01個bit,但是表示LGBT的性別需要log0.02約7.01個,一共需要112個bit,平均就是1.12個比特。

如果對人群的性別比例有誤判,那麼會需要更多bit才能記錄所有信息。例如,如果誤以為人群中只有男性和女性,那就需要無窮大個bit才能表示出LBGT性別。這個叫做交叉熵,交叉熵可以用來衡量模型的估計與實際的偏差。


這樣編碼信源,長度最短。


可以答一下哦。

在自然科學的數學建模中,很多抽象的概念都是通過它的外在表象或簡單的概念定義的,比如動能用質量和速度定義一樣,信息量用概率來定義。

接下來解釋下1/p(就是把1移到對數號後面),概率越大的信息量越小,越小的信息量越大,這是很符合實際的。信息量越小意味著你可以用越少的數位去表示它,當然很方便了,你當然是希望每次和熟人在qq上聊天的時候他都是置頂的,而不用去找;你當然是希望身份證在身邊,因為你每天要去上網,我說這個的意思是越是可能發生的事情,你就希望你表示它的方式越簡單,而取倒數完全可以做到這點。

然後為什麼用log,讓他變小。

最後把自信息量求期望就得到平均信息量。

P.S.公式應當是思想的凝結,這樣做不多不少剛剛好,每一步都有它的作用。


信息熵描述的是對一件事信息量大小的度量。

那麼,如何度量信息量?下面,我將以兩個具體的例子說明。

1 拋一枚均勻硬幣這個隨機事件包含的信息

2 從數字0,1,2,3之中,隨機挑選一個,該事件所包含的信息

顯而易見地,直覺告訴我們2比1包含的信息要多。這是為什麼呢?

當我們考察這二者時,不難發現他們都是離散的隨機事件,都有其各自對應的分布。那麼,信息熵應該與該事件的數學期望密切相關——該事件的期望越大,包含的信息量越多,這是本能的直覺。

回顧一下香農的信息熵公式,當取自有限樣本時,信息熵H等於其描述的隨機事件X,其所有可能的分布對應的概率Pi,乘以該概率Pi的對數,之取負號。(該負號為了抵消對<1的數取對數而引入的負號)

當我們以2為對數底時,香農信息熵定義了這個隨機事件,在計算機中需要用多少比特來表示(換言之也是取對數的由來)。我們知道,n bit的字元串,可以表示2∧n的事件的可能分布。

具體而言,當對數以2為底時,套用香農公式:

對1,其信息熵H1=1

對2,其信息熵為H2=2

顯而易見,H1說明我們我們要用1比特描述拋一枚均勻硬幣該隨機事件包含的信息,H2說明我們要用2比特描述,從0,1,2,3中隨機挑選一個數,該事件包含的信息。

以上。

---

手機碼字,如有筆誤請見諒。


也有Renyi entropy等其它熵的定義,Shannon熵是其特例。但公理化的定義只有Shannon熵~


求教:在這種定義下,P=0怎樣計算呢


推薦閱讀:

如果Google AlphaGo來中國挑戰圍棋大師會是怎樣的結局?
如何看待科大訊飛宣布其考試機器人"智醫助理"在執業醫師考試中取得456分的成績?
如何解釋《最強大腦》第四季節目中人工智慧小度這個令人費解的表現?
轉行人士如何在人工智慧領域保持一定的競爭力?
如何看待最強大腦第三場人機大戰有人提前爆料出的水哥王昱珩「被輸」給小度事件?

TAG:人工智慧 | 數據挖掘 | 信息技術IT | 機器視覺 | 資訊理論 |