天天看點

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

【轉載】https://blog.csdn.net/xierhacker/article/details/53463567

一.什麼是熵

Ⅰ.資訊量

首先考慮一個離散的随機變量x,當我們觀察到這個變量的一個具體值的時候,我們接收到多少資訊呢?

我們暫時把資訊看做在學習x的值時候的”驚訝程度”(這樣非常便于了解且有意義).當我們知道一件必然會發生的事情發生了,比如往下掉的蘋果.我們并不驚訝,因為反正這件事情會發生,是以可以認為我們沒有接收到資訊.但是要是一件平時覺得不可能發生的事情發生了,那麼我們接收到的資訊要大得多.是以,我們對于資訊内容的度量就将依賴于機率分布p(x).

是以,我們想要尋找一個函數h(x)來表示資訊的多少且是關于機率分布的單調函數.我們定義:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

我們把這個公式叫做資訊量的公式,前面的負号確定了資訊一定是正數或者是0.(低機率事件帶來高的資訊量).

函數如下圖所示

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結
補充:上面是以2為對數的底,實際上,這個底是能夠是其他的數字的.常用的是2和e這兩個底.底是2的時候,機關為bit..底是e的時候,機關為nat.

有時候有人也叫做自資訊(self-information),一個意思啦。可以推廣一下下。

聯合自資訊量:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

條件自資訊量:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

通俗一點來說的話,就是機率論中很簡單的推廣就行了。有機率基礎的話,這個很容易了解。這裡因為實際上面使用二維的更多一點就以二維為例子,推廣到多元的話也是可以的。

Ⅱ.熵

熵(entropy):上面的Ⅰ(x)是指在某個機率分布之下,某個機率值對應的資訊量的公式.那麼我們要知道這整個機率分布對應的資訊量的平均值.這個平均值就叫做随機變量x的熵

如下面公式:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

這個公式的意思就是,随機變量x是服從p這個分布的,也就是在在p分布下面的平均自資訊。也就得到了資訊熵。資訊熵的本質可以看做是某個分布的自資訊的期望。

注意:

1.熵隻依賴于X的分布,與X的取值無關,是以服從某個分布的X的熵也可以等價于這個分布的熵.

2.定義0log0=0(因為可能出現某個取值機率為0的情況)

3.熵越大,随機變量的不确定性就越大(因為之前說了,越是不确定,資訊量就越大,要是平均資訊量很大,那麼也可以代表這個變量的不确定性越大)

這裡舉個例子感受一下:設X服從0-1分布,即

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

則熵為

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

上面的計算是對于一個離散型的随機變量(分布)來做的,無非就是把所有的機率都得到,分别求出自資訊然後相加就行了。很簡單,别想得太多。

代碼:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

結果:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

從圖中可以知道:

1.當p=0或者p=1的時候,随機變量可以認為是沒有不确定性.

2.當p=0.5的時候,H(p)=1,随機變量的不确定性最大.

那麼“仿照”之前的資訊量的公式,可以推廣一下下啦。

假設一個機率分布有兩個随機變量決定。其中x有n種取值,y有m種取值。那麼可以得到一個nxm的聯合機率分布的表。那麼有:

複合熵(聯合熵):

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

同樣,複合熵的公式還可以推廣到連續變量和多個變量的情況。這裡就不寫了。

條件熵:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

上面這個公式可能有點難以了解,不知道這個公式是怎麼來的。舉一個例子來說明一下:

如果以x表示學生體重,以y表示身高,以 p(x∣y)表示身高為某個特定的y時的體重為x的機率,把熵公式用到這個特殊情況得到是熵顯然應當是

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

上面得到的計算公式是針對y為一個特殊值y時求得的熵。考慮到y會出現各種可能值,如果問已知學生身高時(不特指某一身高,而是泛指身高已經知道)的體重的熵(不确定程度),它應當是把前面的公式依各種y的出現機率做權重平均,那麼就可以得到上面的條件熵的公式。

Ⅲ.變形總結

進過上面的之後,應該對于資訊量和資訊熵的幾個公式有了了解。然後那幾個公式還可以變形為一些常用的公式。這裡總結一下

首先要先介紹一下條件分布的乘法定理,可能有人已經忘記了:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

大家都學過,是以就不啰嗦了。

然後把之前條件熵式子使用上面這個公式改寫一下,可以寫為:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

當熵和條件熵中的機率由資料估計(特别是極大似然估計)得到的時候,所對應的熵與條件熵分别稱為經驗熵(empirical entropy)和經驗條件熵(empirical conditional entropy)

上面的式子表明,隻要你能夠得到聯合分布和y的分布就能夠求出條件熵了。事實上,還能夠更加簡化成為常見的形式:

這裡利用上面的公式(以離散型為例子)直接推導,有

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

這個公式是不是簡潔很多很多。隻要知道聯合資訊熵和其中一個分量的資訊熵,就能夠求出條件資訊熵來。

證明:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

同樣,如果求x已知時y的條件熵,顯然也會得到類似的公式:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

那麼兩個公式何并,就能夠得到:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

這個公式把複合熵、條件熵以及熵聯系到一起了。它們也顯示了熵的對稱性。

二.相對熵

相對熵又稱互熵,交叉熵,鑒别資訊,Kullback熵,Kullback-Leible散度(即KL散度)等。

設p(x)和q(x)是取值的兩個機率機率分布,則p對q的相對熵為:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

在一定程度上面,相對熵可以度量兩個随機變量的距離。也常常用相對熵來度量兩個随機變量的距離。當兩個随機分布相同的時候,他們的相對熵為0,當兩個随機分布的差别增大的時候,他們之間的相對熵也會增大。

但是事實上面,他并不是一個真正的距離。因為相對熵是不具有對稱性的,即一般來說

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

相對熵還有一個性質,就是不為負。

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

三.互資訊

互資訊(Mutual Information)是資訊論裡一種有用的資訊度量,它可以看成是一個随機變量中包含的關于另一個随機變量的資訊量,或者說是一個随機變量由于已知另一個随機變量而減少的不确定性。

兩個随機變量X,Y的互資訊,定義為X,Y的聯合分布和獨立分布乘積的相對熵。

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

那麼互資訊有什麼更加深層次的含義呢?首先計算一個式子先:

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

從這個公式可以知道,X的熵減去X和Y的互資訊之後,可以得到在Y給定的情況下X的熵。

四.總結

【機器學習】關于熵的總結(詳細)【轉】一.什麼是熵二.相對熵三.互資訊四.總結

【轉載】https://blog.csdn.net/xierhacker/article/details/53463567

看到好文章忍不住手癢,研究了一些皮毛,如如互資訊的深層次意義,未能涉及。留待日後深研。好文共享,共勉!

繼續閱讀