夏農提出資訊熵主要是用來解決對資訊的量化度量問題,比如說存在選項【a,b,c,d】,若每個字母都用8位ascii碼儲存,則表示這個四個選項需要32位bit。 如果此時採用二進位制的話,4個選項用2位bit便可表示【00,01,10,11】。於是對4個選項資訊進行量化為log
2(4)
=2_2(4) =2
log2(
4)=2
。值得注意的是,我們在量化這個四個選項資訊是隱含了乙個附加條件(a,b,c,d)出現的概率相同,各為1/4。如果出現的概率各不相同,我們不一定是將其表述為2進製【00,01,10,11】(各個事件的出現概率相同),這樣在資訊壓縮上並不是最優。在考慮資訊編碼的時候,如果出現概率值不同,我們會將出現概率大的進行短編碼,概率小的進行長編碼,這也是哈夫曼編碼的思想。
那麼當事件的出現概率各不相同時,我們如何衡量資訊的編碼量呢?此時,需要引入數學上的期望。每個事件出現的概率為p
ip_i
pi,那麼這個資訊量可以表示為期望∑ip
ilog
(1/p
i)=−
∑ipi
log(
pi)\sum_i p_i log(1/p_i) = -\sum_i p_i log(p_i)
∑ipi
log(
1/pi
)=−
∑ip
ilo
g(pi
)那麼可以將資訊熵定義為:
e nt
ropy
=−∑i
pilo
g(pi
)entropy = -\sum_i p_i log(p_i)
entrop
y=−i
∑pi
log
(pi
)所謂資訊熵:是對每個可能性編碼所需要的期望值,延伸一下,也是對資訊的量化指標。夏農則將資訊熵用來描述資訊源的不確定度, 資訊熵越大,混亂度越大。
這裡再衍生一下,如果有乙個硬幣,往上拋,落到地上猜正反。那麼假如這個硬幣是正常硬幣的話,則正反的概率均為1/2,此時二元信源的熵達到最大,也就是說我們不知道硬幣到底是正,還是反,只能靠猜,資訊的混亂度很大,資訊源極不確定。
考慮一下,如果這個硬幣被動了手腳的,兩面都是正,則反的概率為0,代入資訊熵的公式可得此時的資訊熵為0,也就意味著這個資訊是確定的,閉著眼也能知道這個硬幣最終是正的。同時,也可以描述資訊源是完全確定的。
相對熵也稱之為kullback-leibler散度(kl散度),是用來衡量兩個資訊分布的差異性。相對熵是如何去衡量資料分布的差異性呢?kl(
p∣∣q
)kl(p||q)
kl(p∣∣
q)指的是如果用事件p代替事件q進行描述,那麼其所獲得的資訊增量。
數學描述為:
k l(
p∣∣q
)=∑p
(x)l
og(p
(x)q
(x))
=−∑p
(x)l
og(q
(x)p
(x))
kl(p||q)=\sum p(x) log(\frac) = -\sum p(x) log(\frac)
kl(p∣∣
q)=∑
p(x)
log(
q(x)
p(x)
)=−
∑p(x
)log
(p(x
)q(x
))note: 當p(x) = q(x)時,kl散度為0,當兩者分布差異越大時,kl散度也越大。
此處引用維基百科上的乙個例子,
存在下面兩個分布p,q。p為二項分布,q為均勻分布。
值得注意的是相對熵並不對稱,kl(p||q)不等於kl(q||p)。
後續為了引入對稱的度量,引入了js分布,此處不細述。
交叉熵往往在機器學習的分類問題中的很多
我們將相對熵的數學公式進行拆分為:
k l(
p∣∣q
)=∑p
(x)l
og(p
(x)q
(x))
=∑p(
x)lo
g(p(
x))−
∑p(x
)log
(q(x
))=−
h(p(
x))+
cros
sent
rop(
p,q)
kl(p||q) =\sum p(x) log(\frac) = \sum p(x) log(p(x)) - \sum p(x) log(q(x)) = -h(p(x)) + cross entrop(p,q)
kl(p∣∣
q)=∑
p(x)
log(
q(x)
p(x)
)=∑
p(x)
log(
p(x)
)−∑p
(x)l
og(q
(x))
=−h(
p(x)
)+cr
osse
ntro
p(p,
q)交叉熵的定義:
c ro
ssen
trop
(p,q
)=−∑
p(x)
log(
q(x)
)cross entrop(p,q) = -\sum p(x) log(q(x))
crosse
ntro
p(p,
q)=−
∑p(x
)log
(q(x
))在分類問題中,p(x)為label的one-hot,q(x)為softmax的結果。由於label的熵不會改變,是乙個常數。因此對相對熵進行最小化,也是對交叉熵進行最小化。
機器學習之資訊量,熵,相對熵,交叉熵概念辨析
可能性越小的事件其資訊量越大,極端情況下,確定事件的資訊量為0。事件 a aa 的資訊量為 ia log p a i a logp a ia l ogp a p a p a p a 為事件 a aa 發生的概率。熵就是乙個隨機變數x所有事件的資訊量的期望 例如隨機變數x xx表示明天的天氣,所有事件...
機器學習之相對熵
1.熵 資訊熵 的定義 不妨把資訊熵理解成某種特定資訊的出現概率 離散隨機事件的出現概率 乙個系統越是有序,資訊熵就越低 反之,乙個系統越是混亂,資訊熵就越高。資訊熵也可以說是系統有序化程度的乙個度量。如果乙個隨機變數 2.相對熵 又稱互熵,交叉熵,鑑別資訊,kullback熵,kullback l...
詳解機器學習中的熵 聯合熵 條件熵 相對熵和交叉熵
4 相對熵 relative entropy 也稱kl散度 kullback leibler divergence 5 交叉熵 cross entropy 但是真實分布不可知,假設訓練資料是從真實資料中獨立同分布取樣的,p train p real 因此,我們希望學到的模型分布至少和訓練資料的分布一...