信息測度和熵
來自專欄 Eureka機器學習讀書筆記12 人贊了文章
專欄文章匯總
文章結構如下:
0: 信息量
1: 熵的定義
2: 聯合熵和條件熵
3: 相對熵和互信息
4: 交叉熵
5: 微分熵
6: 相對熵和互信息(連續)
0: 信息量
信息是不是可以量化?
起碼直覺上而言是可以的,不然怎麼可能我們覺得有些人說的廢話特別多,「沒什麼信息量」,有些人一語中的,一句話就傳達了很大的信息量。
為什麼有的信息量大有的信息量小?
有些事情本來不是很確定,例如明天股票是漲還是跌。如果你告訴我明天NBA決賽開始了,這兩者似乎沒啥關係啊,所以你的信息對明天股票是漲是跌帶來的信息量很少。但是假如NBA決賽一開始,大家都不關注股票了沒人坐莊股票有99%的概率會跌,那你這句話信息量就很大,因為本來不確定的事情變得十分確定。而有些事情本來就很確定了,例如太陽從東邊升起,你再告訴我一百遍太陽從東邊升起,你的話還是絲毫沒有信息量的,因為這事情不能更確定了。所以說信息量的大小跟事情不確定性的變化有關。
不確定性的變化跟什麼有關呢?
一,跟事情的可能結果的數量有關;二,跟概率有關。
先說一。例如我們討論太陽從哪升起。本來就只有一個結果,我們早就知道,那麼無論誰傳遞任何信息都是沒有信息量的。當可能結果數量比較大時,我們得到的新信息才有潛力擁有大信息量。
二,單看可能結果數量不夠,還要看初始的概率分布。例如一開始我就知道小明在電影院的有15*15個座位的A廳看電影。小明可以坐的位置有225個,可能結果數量算多了。可是假如我們一開始就知道小明坐在第一排的最左邊的可能是99%,坐其它位置的可能性微乎其微,那麼在大多數情況下,你再告訴我小明的什麼信息也沒有多大用,因為我們幾乎確定小明坐第一排的最左邊了。
怎麼衡量不確定性的變化的大小呢?怎麼定義呢?
這個問題不好回答,但是假設我們已經知道這個量已經存在了,不妨就叫做信息量,那麼你覺得信息量起碼該滿足些什麼特點呢?
一,起碼不是個負數吧,不然說句話還偷走信息呢~
二,起碼信息量和信息量之間可以相加吧!假如你告訴我的第一句話的信息量是3,在第一句話的基礎上又告訴我一句話,額外信息量是4,那麼兩句話信息量加起來應該等於7吧!難道還能是5是9?
三,剛剛已經提過,信息量跟概率有關係,但我們應該會覺得,信息量是連續依賴於概率的吧!就是說,某一個概率變化了0.0000001,那麼這個信息量不應該變化很大。
四,剛剛也提過,信息量大小跟可能結果數量有關。假如每一個可能的結果出現的概率一樣,那麼對於可能結果數量多的那個事件,新信息有更大的潛力具有更大的信息量,因為初始狀態下不確定性更大。
那有什麼函數能滿足上面四個條件呢?負的對數函數,也就是$-log(x)$!底數取大於1的數保證這個函數是非負的就行。前面再隨便乘個正常數也行。
a. 為什麼不是正的?因為假如是正的,由於$x$是小於等於1的數,$log(x)$就小於等於0了。第一個特點滿足。
b. 咱們再來驗證一下其他特點。三是最容易的。假如$x$是一個概率,那麼$log(x)$是連續依賴於$x$的。
c. 四呢?假如有$n$個可能結果,那麼出現任意一個的概率是$1/n$,而$-log(x)$是$n$的增函數,沒問題。
d。最後驗證二。由於$-log(xy) = -log(x) -log(y)$,所以也是對的。學數學的同學注意,這裡的$y$可以是給定$x$的條件概率,當然也可以獨立於$x$。
ok,所以我們知道一個事件的信息量就是這個事件發生的概率的負對數。
最後終於能回到信息熵。信息熵是跟所有可能性有關係的。每個可能事件的發生都有個概率。信息熵就是平均而言發生一個事件我們得到的信息量大小。所以數學上,信息熵其實是信息量的期望。
再說一次:信息量度量的是一個具體事件發生了所帶來的信息,而熵則是在結果出來之前對可能產生的信息量的期望——考慮該隨機變數的所有可能取值,即所有可能發生事件所帶來的信息量的期望。
上文轉自:信息熵是什麼?
1: 熵的定義
假設離散隨機變數 ,它的p.m.f是 。我們定義 的熵 是:
引理:
證明 ,即均勻分布熵最大。
利用拉格朗日乘子法證明:
由拉格朗日計算可以可到: , 得到極值為 。
2: 聯合熵和條件熵
定義(聯合熵):
定義(條件熵):假如 ,則條件熵是:
定理(鏈式規則):
證明:
推廣:
注意:熵只依賴於隨機變數的分布,與隨機變數取值無關。
3: 相對熵和互信息
定義(相對熵或Kullback–Leibler(KL) divergence):KL散度是兩個隨機變數的概率質量函數 和 的距離,公式如下:
其中: ,且
定義(互信息):假設隨即變數 和 的p.m.f是 ,邊際p.m.f分別是 和 。則互信息 是:
定理(互信息和熵的關係):
因此互信息就是在了解了其中一個 的前提下,對消除另一個 不確定性所提供的信息量,也可稱為信息增益。
上面一堆概念,估計比較暈,用下面這個圖很容易明白他們的關係。左邊的橢圓代表 右邊的橢圓代表 中間重合的部分就是我們的互信息或者信息增益 左邊的橢圓去掉重合部分就是 右邊的橢圓去掉重合部分就是 兩個橢圓的並就是
定義(條件互信息):在給定 後,隨機變數 和 的互信息是:
定義(條件相對熵):
定理: 是兩個p.m.f,則 當且僅當 時,等號成立。
推論:對於任意的 , ,當且僅當 和 獨立時等號成立。
引理:一組非負序列 和 是收斂的:
1. 或者 (兩組正的序列KL距離定義)2. 如果 ,則 ,當且僅當 時,等號成立。
3. 如果 且 對所有的 都成立,則引理:令非負序列 和 是收斂的。則 ,當且僅當 時等號成立。
引理: ,其中 表示集合 元素的個數,當且僅當 有均勻分布時等號成立。【均勻分布時熵最大,即不確定性最大】
引理(Condition reduces entropy): ,當且僅當 (獨立)時等號成立。: 交叉熵
由KL散度可以得到: 。而KL散度的前半部分 就是交叉熵。
若 是數據的真實概率分布, 是由數據計算得到的概率分布。機器學習的目的就是希望 儘可能地逼近甚至等於 ,從而使得KL散度接近最小值0。由於真實的概率分布是固定的,KL散度公式的後半部分 就成了一個常數。那麼KL散度達到最小值的時候,也意味著交叉熵達到了最小值。對 的優化就等效於求交叉熵的最小值。
5: 微分熵
定義: 是連續的, (存在),其中 是隨機變數的支撐。此時熵不一定是大於0。
定義(聯合熵):一組隨機變數 的 p.d.f 是 ,則聯合熵是:
定義(條件熵):對於隨機變數 和 ,條件熵是:
6: 相對熵和互信息(連續)
定義(相對熵或Kullback–Leibler(KL) divergence):兩個連續隨機變數 和 ,KL散度為:
注意:假如 的支撐包含在 的支撐上,則 是有限的。
定義(互信息):兩個隨機變數 和 p.d.f 是 ,邊際 p.d.f 分別為 和 。則互信息 是:
定理: ,當且僅當 與 幾乎處處相等時等號成立。
推論:
1. 對於任何 ,有 ,當且僅當 和 獨立時等號成立。2. ,當且僅當 和 獨立時等號成立。
定理(微分熵的鏈式規則):
推論:
定理: 是非奇異矩陣,
定理:假設 均值是0,方差是 ,則 ,當且僅當 時等號成立。(當一階矩和二階矩給定時,高斯分布的熵最大)
推薦閱讀: