交叉熵損失 是什麼?

Cross-entropy — 交叉熵損失 的完整解釋

交叉熵損失是一種衡量兩個機率分佈之間差異的損失函數,常用於分類任務中評估模型預測結果與真實標籤的差距。

容易混淆

mean-squared-error vs 均方誤差 (MSE):MSE 像量體重,看兩個數值差多少;交叉熵像測驗答對率,特別適合評估分類結果,看模型預測的類別機率跟實際情況符不符合。 常見混淆:交叉熵損失 vs mean-squared-error MSE比較像看數值差距,交叉熵更適合看分類機率。

記住這句就好

分類看機率對不對,不只看分數差多少。

實際案例

圖片分類 模型把狗判成貓時,交叉熵會對這種錯誤給很大的懲罰。 語音辨識 如果正確詞的機率太低,損失就會明顯升高。

算法與應用

  1. 二元分類時,交叉熵常和對數損失一起出現。
  2. 它比均方誤差更適合分類,因為對機率錯誤更敏感。
  3. 和 softmax 搭配時,常用來處理多類別分類問題。

情境判斷

Q1:分類模型把正確類別的機率從 0.2 拉到 0.8,交叉熵會怎麼變? → 會明顯下降,因為模型對正確答案更有把握。 Q2:如果你做的是分類任務,為什麼常不選均方誤差? → 因為交叉熵更直接對應機率預測,訓練訊號通常也更好。

相關術語

常見問題

交叉熵損失和對數損失有什麼區別?

交叉熵損失和對數損失在二元分類問題中是等價的,可以互換使用。在多元分類問題中,交叉熵損失是更通用的概念,而對數損失通常指代二元分類中的交叉熵損失。因此,可以認為對數損失是交叉熵損失在二元分類問題中的一種特殊情況。

為什麼交叉熵損失比均方誤差更適合分類問題?

交叉熵損失對機率預測的微小變化更敏感,能夠提供更有效的梯度信息,加速模型訓練。均方誤差在分類問題中可能導致梯度消失問題,特別是在使用 sigmoid 或 softmax 激活函數時。此外,交叉熵損失更符合分類問題的目標,即正確預測類別的機率。

如何處理樣本不平衡的分類問題?

處理樣本不平衡的分類問題可以使用加權交叉熵損失,為少數類別賦予更高的權重,讓模型更加關注少數類別的預測。另一種方法是使用重採樣技術,例如過採樣少數類別或欠採樣多數類別,以平衡訓練數據的類別分佈。此外,還可以使用 Focal Loss 等損失函數,它能夠自動調整不同類別的權重。