一、信息是什麼?
信息很抽象,看不見摸不著,卻似乎又無處不在,一封郵件、一首歌、一則新聞、一本書、一張地圖、一句話......
但信息究竟是什麼?
朗文雙解詞典:
Information: Facts or details that tell you something about a situation, person, event, etc.
知乎大神:
1、從“你不知道”的狀態變成“你知道”的狀態,這個過程中傳送的“東西”,就叫信息。
2、信息是發送者和解讀者的相關knowledge base之間的diff。
3、讓你搞清狀況的東西。
但所有的以上答案,都可以用信息論之父香農的定義來概括:
信息是用來消除不確定的東西。
比如:
路標指示信息,可以消除岔路口方向的不確定性,幫助你選擇正確的道路。
一封家書,可以告知你家裡的情況,消除你對一些不確定狀況的顧慮,讓你安心的學習、工作。
天氣預報可以幫你確定未來的天氣,幫助你更好的決定下一步的安排。
二、信息的傳遞
信息傳遞的方式有很多中,比較古老的像周幽王烽火戲諸侯。那個時候,技術手段比較落後,而軍情又十萬火急,於是就想到了用烽火來進行傳遞。但由於烽火只有點燃和未點燃兩種狀態,所以能表達的內容十分有限。
後來有了電報,情況好很多。但由於發送接受需要編譯碼,操作複雜,效率比較低,也只能傳輸少量的信息。並且價格昂貴,通常是按字數收費。
所以電報的內容通常都很精煉。比如,你要發送:
“家裡又急事兒,趕快回來一趟。”
為了省錢,結果可能就會變為:
“事急,速回。”
但有些情況,通過精簡文字是行不通的。比如,你要發送一段詩:
“輕輕的我走了,
正如我輕輕的來;
我輕輕的招手,
作別西天的雲彩。”
少一個字,詩的意境就會大打折扣。
但從詩的內容上來看,確實有很多重複的字,難道除了減字兒就沒有其它轍了嗎?
當然不是。
我們知道,電報是通過電報碼來發送的,就是一個個的0和1的狀態。分析一下,這段詩中我們一共用到了16個漢字。如果用二進制對其進行編碼,需要:
個bit位。編碼如下:
全詩一共有26個字,這樣我們就需要發送:
26×4 = 104
個bit位。
如果我們換一種編碼方式,用少的位表示出現概率大的字,多的位表示出現概率低的字,也就是哈夫曼編碼,看看結果如何。
首先統計詩中文字出現的概率:
然後構造哈夫曼樹如下:
編碼結果:
這樣,我們需要發送的bit數就變為:
6×2+4×3+3×3+1×5×10+1×4×3 = 95
比先前的編碼少9個bit。同樣達到了精簡內容的目的。
再後來有了電話、手機、互聯網,這種限制越來越小。現在我們可以通過互聯網很輕鬆的傳遞以T計的內容,在線觀看高清電影。
三、信息如何衡量?
在電報的發送中我們已經看到,找出一種衡量信息多少的方式非常重要。就像時間有秒,質量有克,距離有米等。那信息呢?既然信息是用來消除不確定的東西,如何衡量它的大小?也就是說如何知道在消除一個不確定事件的時候需要多少信息?
比如,要想知道明天太陽是否會照常升起,需要多少信息?
按以往的經驗,太陽照常升起的概率幾乎是1,所以幾乎不需要猜測就能知道結果。
但如果是擲一枚硬幣,想知道它是不是正面,需要多少信息?
硬幣的結果只有兩種,非正即反,概率都是1/2。所以只需要一次猜測就能知道結果。
假設實際結果為正面。
如果猜正面,結果正確,結束。如果猜反面,被告知結果錯誤,同樣可以推測出來正確結果是正面。
所以只需猜測一次。
再比如,一道選擇題有A、B、C、D四個選項,要猜出正確結果,又需要多少信息呢?
四個選項概率相等,都是1/4,假設正確答案為C。
我們先將選項分成兩組:
第一組:A、B
第二組:C、D
第一次猜測:如果猜第一組,被告知錯誤,那麼就知道答案在第二組。如果猜第二組,正確。
第二次猜測:如果猜C,得出結果,猜測結束。如果猜D,被告知錯誤,於是得出C為正確答案。
可以看出,需要猜測兩次。
由以上例子可以看出,事件發生的概率越小,不確定性越大,消除不確定性需要的信息量就越大。所以信息量和概率有關係,並且是反相關。
回過頭來看上面的例子,
太陽照常升起的概率為1:
硬幣為正面的概率為:
答案為C的概率為:
將上面三個等式兩邊以2為底取對數,並添加負號,有:
0、1、2正好對應我們獲取正確答案的猜測次數。也就是消除不確定性需要的信息量。
進一步推廣出去,香農把:
定義為信息量。對數的底為2只是其中的一種情況,此時信息量的單位為bit。
有了這個式子,就可以量化信息了。
四、什麼是信息熵?
有了信息量為什麼還要信息熵呢?信息熵又是個啥?
假設你是一個經驗豐富的工程師,在維修一臺電子設備,引發設備故障的原因有A、B、C、D四種。
如果四種原因的概率相同,都是1/4,根據之前信息量的計算公式,很容易就能算出來:
最多兩次能排查出故障原因。
但如果引發故障原因的概率不等呢?比如,A的概率為1/2,B的概率是1/4,C、D的概率是1/8。
直覺告訴我們應該先排查A,然後是B,最後才是C、D。需要排查的次數是四種原因信息量的期望,為:
小於2。
等概率情況信息量的期望為:
等於單個選項的信息量。
所以,有些情況,僅有信息量是不夠的。還需要知道信息量的期望,這就是信息熵。
信息熵:平均信息量,信息量的期望。
五、什麼是相對熵?
如何衡量兩個隨機變量概率分佈的相似程度?
我們已經有了信息熵的概念,就是信息量的期望,也叫平均信息量。那能不能簡單的就用信息熵來衡量呢?
顯然不能。
比如,兩個隨機變量x和y的概率分佈如下:
二者的信息熵:
是相等的,
但概率分佈明顯差異很大。所以,簡單的用信息熵來衡量概率分佈的相似程度是行不通的。
但是不是意味著信息熵就不能用了呢?
不是,只不過要變一變。
選用一個固定的概率分佈來求信息熵:
或者
於是,便有:
或者:
這樣用來衡量概率分佈的差異就沒問題了。而:
就稱為p對q的相對熵。
總結起來:
相對熵就是:描述兩個概率分佈P和Q差異的一種方法。
六、損失函數與交叉熵
機器學習中,實際分佈為p,預測分佈為q。訓練的過程就是調整參數使q不斷逼近p的過程。調整的依據就是q與p的差。
如何衡量這個差呢?
就可以用相對熵:
但由於實際分佈的熵:
固定不變。
所以可以省略簡化,只優化:
部分就可以了。
H(p||q)又被稱為交叉熵。交叉熵主要度量兩個概率分佈間的差異性信息。
(注:本文部分圖片來自於網絡,如有侵權請聯繫作者刪除。)
閱讀更多 一根兒蘆葦 的文章