KL散度
KL散度(Kullback-Leibler divergence,簡稱 KLD),又稱相對熵(Relative Entropy)或信息散度。在信息論中,Kullback-Leibler(KL)散度是用于衡量兩個概率分布之間的差異性的。在分類問題中,我們有兩個不同的概率分布:第一個分布對應著我們真實的類別標簽,在這個分布中,所有的概率質量都集中在正確的類別上(其他類別上為 0);第二個分布對應著我們的模型的預測,這個分布由模型輸出的原始分數經過softmax函數轉換后得到。
1. 核心概念
- 度量差異:KL散度的主要作用是量化一個概率分布??(通常是模型的預測分布或近似分布)與另一個參考概率分布??(通常是真實數據分布或目標分布)有多大的不同。
- 信息損失:從信息論的角度來看,KL散度表示當我們使用近似分布 ?? 來代替真實分布 ?? 時,平均會損失多少信息或產生多少額外的“意外性”(surprisal)。
- 非對稱性:KL散度不是一個真正的“距離”度量,因為它不滿足數學上的對稱性,即??????(??||??)≠??????(??||??)

2. 主要特點
- 非負性:KL散度的值恒大于等于 0。只有當兩個分布??和??完全相同時,KL散度才等于 0。
- 取值范圍:取值范圍為[0,+∞)。值越大,表示兩個分布的差異越大。
應用場景
KL散度在機器學習和數據科學中有廣泛的應用:
- 模型評估:用于評估模型預測的分布與實際數據分布的接近程度。
- 變分自編碼器(VAE):在 VAE 中,KL散度被用作正則化項,衡量潛變量的分布與先驗分布(通常是標準正態分布)之間的差異。
- 強化學習:用于策略優化的算法中,確保新策略不會與舊策略偏離太遠。
- 異常檢測:通過比較數據點與正常數據分布的KL散度來識別異常值。
- 特征工程:用于衡量不同特征與目標變量之間的信息增益。
將交叉熵損失理解為兩個概率分布之間的 KL 散度,也可以幫助我們理解數據噪聲的問題。很多數據集都是部分標記的或者帶有噪聲(即標簽有時候是錯誤的),如果我們以某種方式將這些未標記的部分也分配上標簽,或者將錯誤的標簽看作是從某個概率分布中取樣得到的,那么我們依然可以使用最小化 KL 散度的思想(在這種情況下,真實分布已經不再將所有的概率質量都集中在單個標簽上了)。
參考資料:
1. 《信息論》
2. Picking Loss Functions - A comparison between MSE, Cross Entropy, and Hinge Loss
浙公網安備 33010602011771號