機器學習之信息熵


1.

  (1)熵的概念的引入,首先在熱力學中,用來表述熱力學第二定律。由玻爾茲曼研究得到,熱力學熵與微  觀狀態數目的對數之間存在聯系,公式如下:

  

  信息熵的定義與熱力學熵的定義雖然不是一個東西,但是有一定的聯系,熵在信息論中表示隨機變量不確定度的度量。一個離散隨機變量X與熵H(X)的定義為:

  

  (2)為了便於理解,舉個例子:直覺上,信息量等於傳輸該信息所用的代價,這個也是通信中考慮最多的問題。比如說:在賭馬比賽中,有4匹馬,獲勝的概率分別為:

接下來,讓我們將哪一匹馬獲勝視為一個隨機變量 X\in\{A,B,C,D\} 。假定我們需要用盡可能少的二元問題來確定隨機變量 X 的取值。

例如:問題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}

如果 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比特。

 

霍夫曼編碼就是利用了這種大概率事件分配短碼的思想,而且可以證明這種編碼方式是最優的。我們可以證明上述現象:

  • 為了獲得信息熵為 H(X) 的隨機變量 X 的一個樣本,平均需要拋擲均勻硬幣(或二元問題) H(X) 次(參考猜賽馬問題的案例)
  • 信息熵是數據壓縮的一個臨界值(參考碼長部分的案例)。

 

這可能是信息熵在實際工程中,信息熵最最重要且常見的一個用處。

 

最后,解釋下信息熵公式的由來:

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

信息論之父克勞德·香農,總結出了信息熵的三條性質:

  • 單調性,即發生概率越高的事件,其所攜帶的信息熵越低。極端案例就是“太陽從東方升起”,因為為確定事件,所以不攜帶任何信息量。從信息論的角度,認為這句話沒有消除任何不確定性。
  • 非負性,即信息熵不能為負。這個很好理解,因為負的信息,即你得知了某個信息后,卻增加了不確定性是不合邏輯的。
  • 累加性,即多隨機事件同時發生存在的總不確定性的量度是可以表示為各事件不確定性的量度的和。寫成公式就是:

事件 X=A,Y=B 同時發生,兩個事件相互獨立 p(X=A,Y=B)=p(X=A)\cdot p(Y=B)

那么信息熵 H(A,B)=H(A)+H(B)

香農從數學上,嚴格證明了滿足上述三個條件的隨機變量不確定性度量函數具有唯一形式:

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

其中的 C 為常數,我們將其歸一化為 C=1 即得到了信息熵公式。

補充一下,如果兩個事件不相互獨立,那么滿足

H(A,B)=H(A)+H(B)-I(A,B) ,其中 I(A,B) 是互信息(mutual information),代表一個隨機變量包含另一個隨機變量信息量的度量,這個概念在通信中用處很大。

比如一個點到點通信系統中,發送端信號為 X ,通過信道后,接收端接收到的信號為 Y ,那么信息通過信道傳遞的信息量就是互信息 I(X,Y) 。根據這個概念,香農推出了一個十分偉大的公式,香農公式,給出了臨界通信傳輸速率的值,即信道容量:

C=B\log(1+\frac{S}{N})

 

 

 

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM