1 條件熵
1.1 條件熵的定義
給定的條件下,
的條件概率分布的熵對
的期望;
條件熵表示在已知隨機變量
的條件下隨機變量
的不確定性。
因為條件熵中也是一個變量,意思是在一個變量
的條件下(變量
的所有值都會?。?,另一個變量
熵對
的期望;
1.2 舉例說明條件熵
| 帥? | 性格好? | 身高? | 上進? | 嫁? |
|---|---|---|---|---|
| 帥 | 不好 | 矮 | 不上進 | 不嫁 |
| 不帥 | 好 | 矮 | 上進 | 不嫁 |
| 帥 | 好 | 矮 | 上進 | 嫁 |
| 不帥 | 爆好 | 高 | 上進 | 嫁 |
| 帥 | 不好 | 矮 | 上進 | 不嫁 |
| 帥 | 不好 | 矮 | 上進 | 不嫁 |
| 帥 | 好 | 高 | 不上進 | 嫁 |
| 不帥 | 好 | 中 | 上進 | 嫁 |
| 帥 | 爆好 | 中 | 上進 | 嫁 |
| 不帥 | 不好 | 高 | 上進 | 嫁 |
| 帥 | 好 | 矮 | 不上進 | 不嫁 |
| 帥 | 好 | 矮 | 不上進 | 不嫁 |
設={嫁,不嫁},統(tǒng)計“嫁”的概率6/12,“不嫁”的概率6/12;
計算的熵
為了引入條件熵,我們現(xiàn)在還有一個變量,代表長相是“帥”還是“不帥”。
不帥的情況有4個,有1個不愿嫁,3個愿意;
帥的情況有8個,不愿意嫁5個,愿意嫁的為3個;
>>> -5/8*(np.log2(5)-np.log2(8))-3/8*(np.log2(3)-np.log2(8))
0.6780719051126378
1.3 條件熵的另一種解釋
條件熵相當于聯(lián)合熵
,減去單獨的熵
,即:
證明過程參考[1]。
從以上的推導可以看出:。
2 相對熵(Relative entropy),也稱為KL散度(Kullback-Leibler diver)
如何衡量兩個概率分布之間的差異?(相對熵)
定義:
設,
是離散隨機變量
中取值的兩個概率分布,則
對
的相對熵是:
- 如果
和
兩個分布相同,那么相對熵等于0;
-
,相對熵具有不對稱性;
相對熵可以從來衡量兩個概率分布之間的差異,上面公式的意義就是求與
之差在
上的期望;
3 交叉熵(Cross entropy)
用以衡量在給定的真實分布下,使用非真實分布所給定的策略消除系統(tǒng)的不穩(wěn)定性所付出的努力的大小;
有兩個概率分布和
,其中
是真實分布,
是非真實分布,如果用真實分布
來衡量一個樣本所需要編碼長度的期望(平均編碼長度)為:
如果使用非真實分布來表示來自真實分布
的平均編碼長度,則是:
這就是交叉熵。
3.1
的含義[2]
對于變長編碼(如哈夫曼碼),必須保證任何編碼不是其他編碼的前綴,符合這一特性的編碼叫做前綴碼(prefix codes)。
前綴碼的意義在于解碼簡單,但是會帶來個問題,就是編碼損失(不是所有的組合都可以)。如當前編碼為"01",長度,那
開始的其他編碼如("010","011")(總長度為3舉例)就不能再使用。
損失的長度為。
所以為了對信息進行最優(yōu)編碼的目的,往往需要對短編碼和短編碼損失進行權衡;
將短編碼帶來的損失稱為編碼代價,通常根據(jù)出現(xiàn)的概率
來分配編碼代價,假設
的編碼長度為
:
平均編碼長度則為:
3.2 如何理解交叉熵
如現(xiàn)在有另一個序列服從分布,但是它仍然使用
分布的最優(yōu)編碼方式,那它的平均編碼長度即為:
上式稱為分布相對
分布的交叉熵,衡量了
分布使用
分布的最優(yōu)編碼方式時的平均編碼長度。
交叉熵根據(jù)相對熵的公式可以得出:
可以理解為用其他方式的最優(yōu)編碼(
)和自己方式的最優(yōu)編碼(
)之差。
4 聯(lián)合熵和互信息
定義聯(lián)合熵如下:
根據(jù)條件熵定義:
定義互信息(Mutual Entropy)如下:
定義差異信息(Variation of Information):

信息增益:

決策書中信息增益等于互信息。