一馏臭、交叉熵的由來
-
信息量
香農(nóng)提出的“信息熵”, 是用來解決信息量化問題讼稚。信息的不確定性越強括儒, 需要用來表達的數(shù)據(jù)量也就越多。事件的不確定性通常是概率分布P來表示锐想, 所以信息的量化也是通過概率來實現(xiàn)帮寻。
信息量的計算公式如下:
信息量
2.熵
用來表示所有信息量的期望值,表示樣本概率分布P赠摇,表達這些樣本所需的最小編碼長度:
- 交叉熵
假設(shè)現(xiàn)在有一個樣本集中兩個概率分布p,q规婆,其中p為真實分布,q為非真實分布蝉稳。假如抒蚜,按照真實分布p來衡量表達一個樣本所需要的編碼長度的期望為:
4.相對熵或KL散列
類似于交叉熵,有兩個概率分布p,q耘戚,其中p為真實分布嗡髓,q為非真實分布,表達兩個分布之間的相對熵概率收津,計算公式如下:
接下來饿这, 我們推到分析下相對熵、熵以及交叉熵之間的關(guān)系:
上面公式中第一部分是熵的計算长捧, 第二部分是交叉熵(實際差一個負號,不影響比較暫時忽略)吻贿。簡單概括:相對熵等于交叉熵減去熵(注意負號)串结,物理含義是相對熵表達信息比熵需多出的編碼長度。重點:如果p(x)的分布接近q(x)舅列, 相對熵接近于0.
通過上面的分析可知:相對熵是非常適合作為機器學習和深度學習領(lǐng)域目標優(yōu)化的評估指標(主要是分類場景)肌割,p(x)作為訓練樣本的真實分布, q(x)表示訓練出模型預(yù)測樣本的分布帐要,模型訓練的目標量化是讓模型預(yù)測樣本的分布盡量接近訓練樣本的真實分布把敞。
如果訓練的樣本已經(jīng)確定,概率分布也就確定榨惠,上面公式第一部分是固定的奋早,優(yōu)化的目標可以集中在第二部分盛霎, 也就是交叉熵部分,讓交叉熵的值盡量的小耽装。
二摩渺、交叉熵的使用場景
交叉熵可在神經(jīng)網(wǎng)絡(luò)(機器學習)中作為損失函數(shù),p表示真實標記的分布剂邮,q則為訓練后的模型的預(yù)測標記分布摇幻,交叉熵損失函數(shù)可以衡量p與q的相似性。交叉熵作為損失函數(shù)還有一個好處是使用sigmoid函數(shù)在梯度下降時能避免均方誤差損失函數(shù)學習速率降低的問題挥萌,因為學習速率可以被輸出的誤差所控制绰姻。
在特征工程中,可以用來衡量兩個隨機變量之間的相似度引瀑。
在語言模型中(NLP)中狂芋,由于真實的分布p是未知的,在語言模型中憨栽,模型是通過訓練集得到的帜矾,交叉熵就是衡量這個模型在測試集上的正確率。
【參考文章】
詳解機器學習中的熵屑柔、條件熵屡萤、相對熵和交叉熵 https://www.cnblogs.com/kyrieng/p/8694705.html
一文搞懂交叉熵在機器學習中的使用,透徹理解交叉熵背后的直覺https://blog.csdn.net/tsyccnh/article/details/79163834