爲何信息熵要定義成-Σp*log(p)?

做者:西貝
連接:https://www.zhihu.com/question/30828247/answer/64816509
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。

我從一個很是直觀的角度來解釋一下熵的定義爲何如題主所示。機器學習

第一,假設存在一個隨機變量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)spa

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

以上內容參考自Bishop 的著做《Pattern Recognition and Machine Learning》
 
證實的太美了!感動!!
相關文章
相關標籤/搜索