1. 程式人生 > >資訊熵,資訊增益

資訊熵,資訊增益

本篇文章主要談一下資訊熵的直觀理解。首先資訊熵H(x) = -\sum p(x)log(p(x))。可以看到函式影象如下,只需關注0-1區間(灰點座標()0.36, 0.1598)

我們經常提到資訊熵是資訊量大小的度量,是不確定性的度量。

什麼是資訊量,當我們提到“資訊量很大”這句話我們想說的是,這句話裡面的資訊有很多種情況,需要你仔細的分辨一下說話者到底什麼意思?當我們與對方交談的時候 問出“什麼意思”這句話的時候,其實我們就是在通過進一步的詢問來縮小資訊量以便弄清楚對方想表達的東西。

什麼是不確定性?我舉個例子。比如有隊伍A和隊伍B比賽,需要你預測誰是贏家?這裡我們假設認為A贏的概率是1/2,B也1/2。此時計算資訊熵H1=1。如果我引入一個先驗資訊——“A隊比較強”,這時A贏得概率要更大,不妨設3/4。那麼B贏的概率為1/4。計算此時的資訊熵H2=0.81。當我們沒有引入先驗資訊,我們猜A隊贏,這時我們心裡也很忐忑,也沒底。而引入了先驗資訊之後,我們猜A隊贏,這時我們很有把握。這種直觀上的感覺有多大把握,就是不確定性!如果用公式計算一下,引入先驗資訊之前,資訊熵大,也就是不確定性很大,也就是很沒有把握。我們的目的是希望資訊量小一點,這樣不確定性小,我們更能準確的得到想要傳遞的資訊(人們交流的本質不就是把自己的資訊傳遞給對方嘛,所以要明確一點 我們是希望資訊量越小越好)

所以說我們可以用資訊熵來衡量資訊量的大小,衡量不確定性。因而產生了最大熵,資訊增益等演算法。

如果想進一步瞭解資訊熵,歡迎檢視我的部落格TF-IDf用資訊理論解釋。