這個問題之前我也是傻傻分不清,決定整理一下,用更印象深刻的方式讓人記住。
核心聯系:
交叉熵 =KL 散度 +? 真實分布的熵 ?
交叉熵作為 “絕對” 度量,會綜合真實分布的熵(固有難度)與預測誤差,直接體現用預測分布擬合真實分布的總代價,因與 “讓預測貼合真實” 的優化目標直接相關,更適合作為損失函數;
KL 散度作為 “相對” 度量,僅聚焦兩個分布的純粹差異,剔除了真實分布的熵的影響,因此更適合用于比較分布相似性,而非直接作為損失函數 。
舉個例子:
假設你要 “模仿一位畫家的風格”(真實分布 P 是畫家的原作風格,預測分布 Q 是你的模仿作品)。
真實分布的熵 H (P):畫家風格本身的 “復雜度”(比如畢加索的立體派風格很復雜,H (P) 高;兒童簡筆畫風格簡單,H (P) 低)。
KL 散度 KL (P||Q):你和畫家 “風格差異的純大小”( “不管畫家風格本身難不難,只給你的模仿打‘偏差分’”—— 畢加索的模仿者 A 偏差 1 分,兒童簡筆畫的模仿者 B 偏差 2 分,哪怕 A 的總代價(風格難度 + 偏差)比 B 高,KL 散度也會告訴你:A 的 “模仿精度” 比 B 高。)。
交叉熵 H (P,Q):你模仿時付出的 “總代價”(?畫家風格本身的復雜度 H (P) + 你模仿偏差的代價 KL (P||Q))。
如果真實分布的熵等于0,則交叉熵等于KL散度。
什么情況下真實分布的熵等于0:
即真實分布中只有一個事件的概率為 1(必然發生),所有其他事件的概率為 0(不可能發生)。