信息熵通俗易懂的例子

 

轉自知乎 https://www.zhihu.com/question/22178202/answer/223017546html

本科學的時候是院長教的,當時他說這個東西頗有用,也仔細聽了沒懂什麼意思,如今回過頭來看,還真有用。編碼

信息熵的定義與上述這個熱力學的熵,雖然不是一個東西,可是有必定的聯繫。熵在信息論中表明隨機變量不肯定度的度量。一個離散型隨機變量 X 的熵 H(X) 定義爲:htm

H(X)=-\sum\limits_{x\in\mathcal{X}}p(x)\log p(x)

這個定義的特色是,有明肯定義的科學名詞且與內容無關,並且不隨信息的具體表達式的變化而變化。是獨立於形式,反映了信息表達式中統計方面的性質。是統計學上的抽象概念。事件

 

因此這個定義如題主提到的可能有點抽象和晦澀,不易理解。那麼下面讓咱們從直覺出發,以生活中的一些例子來闡述信息熵是什麼,以及有什麼用處。it

 

直覺上,信息量等於傳輸該信息所用的代價,這個也是通訊中考慮最多的問題。好比說:賭馬比賽裏,有4匹馬 \{A,B,C,D\} ,獲勝機率分別爲 \{\frac{1}{2},\frac{1}{4},\frac{1}{8},\frac{1}{8}\} 。io

 

接下來,讓咱們將哪一匹馬獲勝視爲一個隨機變量 X\in\{A,B,C,D\} 。假定咱們須要用盡量少的二元問題來肯定隨機變量 X 的取值。class

例如:問題1:A獲勝了嗎?問題2:B獲勝了嗎?問題3:C獲勝了嗎?最後咱們能夠經過最多3個二元問題,來肯定 X 的取值,即哪一匹馬贏了比賽。變量

 

若是 X=A ,那麼須要問1次(問題1:是否是A?),機率爲 \frac{1}{2} ;二進制

若是 X=B ,那麼須要問2次(問題1:是否是A?問題2:是否是B?),機率爲 \frac{1}{4} ;im

若是 X=C ,那麼須要問3次(問題1,問題2,問題3),機率爲 \frac{1}{8} ;

若是 X=D ,那麼一樣須要問3次(問題1,問題2,問題3),機率爲 \frac{1}{8} ;

 

那麼很容易計算,在這種問法下,爲肯定 X 取值的二元問題數量爲:

E(N)=\frac{1}{2}\cdot1+\frac{1}{4}\cdot2+\frac{1}{8}\cdot3+\frac{1}{8}\cdot3=\frac{7}{4}

 

那麼咱們回到信息熵的定義,會發現經過以前的信息熵公式,神奇地獲得了:

H(X)=\frac{1}{2}\log(2)+\frac{1}{4}\log(4)+\frac{1}{8}\log(8)+\frac{1}{8}\log(8)=\frac{1}{2}+\frac{1}{2}+\frac{3}{8}+\frac{3}{8}=\frac{7}{4}\mathrm{bits}

 

在二進制計算機中,一個比特爲0或1,其實就表明了一個二元問題的回答。也就是說,在計算機中,咱們給哪一匹馬奪冠這個事件進行編碼,所須要的平均碼長爲1.75個比特。

 

平均碼長的定義爲: L(C)=\sum\limits_{x\in\mathcal{X}}p(x)l(x)

 

很顯然,爲了儘量減小碼長,咱們要給發生機率 p(x) 較大的事件,分配較短的碼長 l(x) 。這個問題深刻討論,能夠得出霍夫曼編碼的概念。

 

那麼 \{A,B,C,D\} 四個實踐,能夠分別由 \{0,10,110,111\} 表示,那麼很顯然,咱們要把最短的碼 0 分配給發生機率最高的事件 A ,以此類推。並且獲得的平均碼長爲1.75比特。若是咱們硬要反其道而行之,給事件 A 分配最長的碼 111 ,那麼平均碼長就會變成2.625比特。

相關文章
相關標籤/搜索