最近學習了吳軍的《信息論40講》,深有感觸,有感而發!
本博文想要給你傳遞(或者說洗腦)兩個主要觀點:
“信息是可以量化的,用事件的不確定性表示”,
“增加相關信息,會減小其不確定性”。
咱們先搞清楚以下五個概念,他們是層層遞進的。
- 信息量
- 信息熵
- 交叉熵
- 相對熵
- 互信息
一、信息量
咱們一起來玩一玩Yes or No的遊戲。隨便你問什麼都可以,但我的答案只有YES或者NO。
我隨便拋出一枚硬幣,並且把硬幣雙手合着,你猜朝上的那一面是什麼?
如果你問我朝上的,是不是“中國人民銀行”,我告訴你NO,那你就知道是什麼了。也就是說,你只要獲取1bit的信息就可以知道結果了,事件就是確定的了。
如果我搖色子,你想要知道朝上的數字,那你只問我一個問題就很難得到結果了,因爲此時的不確定性增加了,1bit的信息hold不住了。
One more question,
這個問題很有意思,讓你感受到多讀書還是有用的,至少不需要弄死那麼多的小白鼠。
解答如下:
1、我們將這些藥從0~63按照二進制編號,獲得64個六位數的二進制編號,也就是從000000(六個零)到111111(六個一),每個二進制編號的最左邊是第一位,最右邊是第六位。
2、然後選六隻老鼠從左到右排開,和二進制的六位,從左到右地依次對應。文稿裏的二進制編號,你可以試着一位一位豎着看,下面每隻老鼠負責一位。
3、從左邊數第一個老鼠吃對應的二進制是1的藥,0就不吃。那麼老鼠1依次吃第32,33,34,……,63號藥。第二隻吃16,17,……,31,48,49,……,63號藥,等等。最後一隻老鼠吃1,3,5,……,63號藥。你可能注意到了,6只老鼠都吃了63號,那是因爲63對應的二進制編號是6個1,所以6只都要吃。
4、吃完藥之後三天,某些老鼠可能死了,我們假定第1,2,6這三隻老鼠死了,剩下的活着。這說明什麼呢?說明編號110001號藥有問題,也就是在第1,第2,第6位上分別是3個1,因爲這三隻老鼠都吃了它,而3,4,5這三隻沒死的老鼠沒有吃它(對應的位置爲0)。而110001對應十進制的49,也就是說第49瓶藥是毒藥。
實際上解決這個問題只要六隻小老鼠就可以了,這是一個64選1的題目,那麼需要的信息量就是log64,也就是6比特。
例子講完了,來一些枯燥的吧。
二、信息熵
三、交叉熵
四、相對熵
五、互信息
圖中的I(X,Y)是指不確定性減少的量。如果X和Y是獨立分佈的,沒有交叉(相關性),則I(X,Y) = 0。
咱們通過引入相關信息X,成功的把Y的不確定性H(Y)減少爲H(Y|X)。
因此,增加相關信息能減小不確定性!
再舉一個枯燥的例子:
把機器人看做一個質點,機圖中的E/L/G表示不同的傳感器對機器人定位位置的一個估計分佈。
通過多個相關信息的關聯後,我們可以發現,機器人位置的不確定性明顯降低了,也就是說預估更加準確了。不確定性見下圖中的黃色線段部分 。
六、參考資料:
1、《信息論40講》 吳軍
2、https://blog.csdn.net/BigData_Mining/article/details/81279612
3、https://www.cnblogs.com/llhthinker/p/7287029.html