信息量與信息熵
來自專欄 深度學習與機器學習演算法
1.信息量
1.1 什麼是信息量
信息量是對信息的一個度量,就好比距離用長度來度量一樣。
那信息量是怎麼去描述的呢?假如你從來沒聽說過"信息熵"這個概念,那麼"信息熵"對於你來說就是一個"未知數",存在著所謂的不確定性。但是隨著你慢慢的查資料了解,你就會越來越了解到"信息熵",那這些資料就是所謂的信息,通過這些信息就可以消除你對"信息熵"認識上的不確定性,當然你獲得的信息越多,你就會對"信息熵"更加的了解,也就變得對"信息熵"更加的確定了。
當我們談到信息量的時候應該是一個具體的東西,對於隨機變數來說就是這個隨機變數已經取到具體值的一個狀態,這個時候才有信息量,這個其實很好理解,具體事件沒有發生何談能帶來多少信息呢?
通過上面的描述,可以知道信息量其實就是隨機變數從一個隨機的不知道取什麼值的不確定性狀態,變成已經知道具體取值這個過程的"變化量",其實也就是消除這個不確定性的過程。
信息是消除不確定性的唯一辦法。一個事物內部會存有隨機性,也就是不確定性,我們得到的信息越多,消除的不確定性也就越多,也就是越趨於確定。
假設一個事物的不確定性為U,而從外部消除這個不確定性唯一的辦法是引入信息I,而需要引入的信息量取決於這個不確定性的大小:
- ,才能完全消除不確定性;
- ,這些信息會消除一部分不確定性,也就是說還會有一部分的不確定性, 。
2.信息熵
2.1信息熵與信息量的關係
我們先給出信息熵的公式:
,這裡的p是隨機變數X發生的概率。
我們先來看一個簡單的例子:
我們從上面的例子看出,當p = 0.5的時候,也就是隨機變數不確定性最大的時候,熵最大,當p = 0或者 p = 1的時候,隨機變數完全確定,熵最小為0,其實可以看出我們的熵描述的是隨機變數的不確定性是多少。(這裡的熵又被稱為信息熵,他們是一個東西)
額,這樣看,我們的信息量和信息熵有什麼關係呢?感覺他們沒什麼聯繫,那怎麼能用信息熵去作為信息量的度量呢?其實我認為他們是兩個範疇的東西,但是我在上面說過,信息量是消除不確定性的過程,而信息熵則是不確定性的一個度量,他們的橋樑就是不確定性,也就是說他們雖然是不同範疇的東西,但是他們衡量的都是同一個東西也就是"不確定性",所以我們可以通過計算信息熵來得到不確定性的度量,然後得到的這個值就是信息量的值。
參考:
1.《統計學習方法》2.《數學之美第二版》
推薦閱讀:
※周明:如果用一個詞形容NLP圈的2017,我選「想像」| 人物對話
※吃瓜社報名 | 猿輔導MSMARCO冠軍團隊:用MARS網路模型解決機器閱讀任務
※《Learning Text Similarity with Siamese Recurrent Networks》
※Python3 環境下的 NLTK學習(第一章)