作者:Noriko Oshima
鏈接:https://www.zhihu.com/question/41252833/answer/108777563
來源:知乎
著作權(quán)歸作者所有做瞪。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處浅缸。
熵的本質(zhì)是香農(nóng)信息量(
)的期望泞遗。
現(xiàn)有關(guān)于樣本集的2個(gè)概率分布p和q协屡,其中p為真實(shí)分布团滥,q非真實(shí)分布。按照真實(shí)分布p來衡量識別一個(gè)樣本的所需要的編碼長度的期望(即平均編碼長度)為:H(p)=
骆撇。如果使用錯(cuò)誤分布q來表示來自真實(shí)分布p的平均編碼長度擎场,則應(yīng)該是:H(p,q)=
羽德。因?yàn)橛胵來編碼的樣本來自分布p,所以期望H(p,q)中概率是p(i)迅办。H(p,q)我們稱之為“交叉熵”宅静。
比如含有4個(gè)字母(A,B,C,D)的數(shù)據(jù)集中,真實(shí)分布p=(1/2, 1/2, 0, 0)站欺,即A和B出現(xiàn)的概率均為1/2姨夹,C和D出現(xiàn)的概率都為0。計(jì)算H(p)為1矾策,即只需要1位編碼即可識別A和B磷账。如果使用分布Q=(1/4, 1/4, 1/4, 1/4)來編碼則得到H(p,q)=2,即需要2位編碼來識別A和B(當(dāng)然還有C和D贾虽,盡管C和D并不會出現(xiàn)逃糟,因?yàn)檎鎸?shí)分布p中C和D出現(xiàn)的概率為0,這里就欽定概率為0的事件不會發(fā)生啦)蓬豁。
可以看到上例中根據(jù)非真實(shí)分布q得到的平均編碼長度H(p,q)大于根據(jù)真實(shí)分布p得到的平均編碼長度H(p)绰咽。事實(shí)上,根據(jù)Gibbs' inequality可知地粪,H(p,q)>=H(p)恒成立剃诅,當(dāng)q為真實(shí)分布p時(shí)取等號。我們將由q得到的平均編碼長度比由p得到的平均編碼長度多出的bit數(shù)稱為“相對熵”:D(p||q)=H(p,q)-H(p)=
驶忌,其又被稱為KL散度(Kullback–Leibler divergence,KLD)Kullback–Leibler divergence笑跛。它表示2個(gè)函數(shù)或概率分布的差異性:差異越大則相對熵越大付魔,差異越小則相對熵越小,特別地飞蹂,若2者相同則熵為0几苍。注意,KL散度的非對稱性陈哑。
比如TD-IDF算法就可以理解為相對熵的應(yīng)用:詞頻在整個(gè)語料庫的分布與詞頻在具體文檔中分布之間的差異性妻坝。
交叉熵可在神經(jīng)網(wǎng)絡(luò)(機(jī)器學(xué)習(xí))中作為損失函數(shù)伸眶,p表示真實(shí)標(biāo)記的分布,q則為訓(xùn)練后的模型的預(yù)測標(biāo)記分布刽宪,交叉熵?fù)p失函數(shù)可以衡量p與q的相似性厘贼。交叉熵作為損失函數(shù)還有一個(gè)好處是使用sigmoid函數(shù)在梯度下降時(shí)能避免均方誤差損失函數(shù)學(xué)習(xí)速率降低的問題,因?yàn)閷W(xué)習(xí)速率可以被輸出的誤差所控制圣拄。
PS:通匙旖眨“相對熵”也可稱為“交叉熵”,因?yàn)檎鎸?shí)分布p是固定的庇谆,D(p||q)由H(p,q)決定岳掐。當(dāng)然也有特殊情況,彼時(shí)2者須區(qū)別對待饭耳。