談談信息熵--信息的度量

      

    信息是一個抽象的概念,很難給信息下一個定義。我們常常說信息的多少,這個多少卻很難度量。比如我們說一部中文字典到底有多少信息量,一本50多萬字的《史記》又有多少信息量。究竟信息背後有沒有理論基礎呢?在香農信息論誕生以前,我們沒有準確的數學方法來描述信息。直到1948年,香農在他著名的論文“通信的數學原理”中提出了“信息熵”的概念,信息的度量問題才得以解決。香農的信息論如今在信息學、通信、計算機理論等方面中發揮了巨大的作用。

     

什麼是熵呢?熵起源於化學及熱力學,是一種能量退化的指標(詳情參考wiki)。在信息論中,熵用來表示信息的不確定性的程度。什麼是不確定性程度呢?簡單地說,不確定性越多,我們就需要越多的信息來了解,信息越多,不確定性也就越大,比如我們需要搞清楚一件非常不確定的事,就需要大量的信息。舉個例子,我們在和同學喫飯時偶爾會玩的猜數字遊戲,一個同學A確定好(0,100)的數字,然後其他同學輪流猜。B同學很可能會猜50,然後確定A同學會告訴那個數字是否爲50,如果不是,是在(0,50)還是(51,100)的數字,然後C同學也很可能會再折半猜數字。這個折半猜有什麼好處呢?如果大家學過計算機程序設計的二分查找算法的話,就會知道這樣折半查找平均情況下是最快的,查找平均複雜度爲O(log n)(底數爲2,原因是我們每查找一次,就可以減少一半的搜索範圍),意思是說我們最多用log n這樣的查找次數就能查找到我們需要的數字了,但是前提是給我們的數據是有序的。所以猜數字遊戲最多猜7次就能成功了!我們就說A同學的數字的信息量爲7,用計算機二進制的編碼來解釋的話,用7個二進制位就能表示0-100內的所有數字啦。

  假設考慮一個離散的隨機變量x,對x的信息度量要考慮到x的概率分佈。顯然,如果x只有一個值a,P(x=a)=1,則它的信息含量爲0,不確定性程度爲0,這是個必然事件,比如說明天太陽從東方升起,一般情況下我們對確定性事件都沒多大興趣。假設h(x)是描述p(x)不確定性程度的量化函數,如果有兩個不相關的事件x和y,則觀察到它們同時發生的信息含量爲h(x,y)=h(x)+h(y),而x和y是不相關事件,我們有p(x,y)=p(x)p(y)。容易看出h(x)是p(x)的對數函數,h(x) = −log2 p(x)。如果p(x)很小,顯然h(x)很大,不確定性很大,如果p(x)爲1,則不確定性爲0。如果發送者要發送隨機變量x給接受者的話,那麼,平均的信息期望值爲

       

      這裏的x有n個值,每個值出現的概率分別爲p_i(x),上面的公式就是信息熵。如果x是個連續值,按照積分公式表示平均信息期望值爲

    


       現在假設X和Y兩個隨機變量,X是我們需要了解的,那麼X的熵的定義我們在上面已經給出來了,它的不確定性就是那樣大。現在假定我們還知道Y的一些情況,包括它和X一起出現的概率(聯合概率分佈)以及給定Y情況下X的概率分佈(條件概率分佈),那麼我們可以定義X和Y的聯合熵(joint entropy),聯合熵就是兩個變量比如x,y同時出現的信息熵,公式如下:

        或      


       也可以定義X在給定條件Y情況下的條件熵,爲了方便,這裏僅寫出連續值的,離散情況也類似。

      


      那麼H(X)與H(X|Y)是啥關係呢? 我們要知道X的情況,一開始只知道它的概率分佈,然後別人給了我們一些關於Y的情況,以及給定Y,X的情況,這樣我們是不是能夠更加了解X呢?換句話說,我們是不是能夠減少X的不確定性呢?答案是可以的。用上面的式子表示爲H(X) >= H(X|Y)。什麼情況下等於成立呢?當我們獲取到的信息Y給X沒有關係時成立。

     如何證明上面的結論?我們要證明H(X) >= H(X|Y)。

   

     這個就是X和Y的互信息的定義,意思是給定Y的情況X不確定性減少的程度,也叫信息增益。在機器學習與數據挖掘的決策樹中用到了,關於決策樹我以後會專門介紹。

      你也許會說,給出了這個表達式,還是沒有證明H(X)>=H(X|Y)呀,或者說這個結果一定是大於等於0的嗎?


     要證明這個,需要用到凹凸函數的一些性質。由於這個證明內容與相對熵類似,我先說一下相對熵(互信息能夠被表達爲相對熵,詳情參考http://en.wikipedia.org/wiki/Mutual_information)。


     假設關於x有兩個分佈,一個是p(x),另一個是q(x)。p(x)是數據x的真實分佈,一般情況下我們不可能知道,q(x)是我們用模型根據數據得到的分佈,那麼怎麼衡量這兩個分佈的差異呢?相對熵就是幹這樣的事情的。

    

       相對熵也表示如果我們要用q(x)編碼x來傳輸x,相比用真實分佈p(x)來確定x需要的額外的信息量(這句話不太好理解,我是在PRML上看到的,不明白)。

       相對熵的性質就是它是不小於0的。爲什麼呢?我上面說過要用到凹凸函數的性質,首先我們看一下什麼是凸函數。

   

     凸函數的 

       意思是對於函數上的任兩點,這兩點組成的線段在函數圖像的上方!凸函數滿足:,其中

  也即   。這個就是Jensen不等式,

 

     KL(p||q)就是這樣的一個凸函數(爲什麼呢?) 。所以有下面的式子:

   

     如果q與p相等,那麼KL就是0。注意KL(p||q)與KL(q||p)是不一樣的。

     證明了相對熵是不小於0的,那麼互信息是否也不小於0呢?



參考資料:

Pattern Recognition and Machine Learning, Bishop,第二章

數學之美,吳軍,第六章


轉載請註明出處,http://blog.csdn.net/freeliao/article/details/17955745


   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章