交叉熵損失 使用指南
輸入真實標籤與預測機率,計算二分類交叉熵損失,評估模型預測偏差,適用於機器學習訓練監控、損失函式除錯與分類模型評估。
計算公式與原理
單樣本 L = −[y·ln p + (1 − y)·ln(1 − p)];批次 L = 單樣本 × n
二分類交叉熵對 confident 且錯誤的預測給出極大懲罰(p→0 而 y=1 時趨於無窮),梯度形式簡潔 (p − y),配合 sigmoid 反向傳播非常乾淨。實現時要注意對 p 做 eps 截斷防止 log(0)。
使用步驟
- 填寫「真實標籤 0/1」。
- 填寫「預測機率」。
- 填寫「樣本數」。
- 結果區會即時更新;可一鍵複製結果用於記錄或彙報。
典型使用場景
- 二分類交叉熵 CE=−[y·log(p)+(1−y)·log(1−p)],y∈{0,1}, p 為預測正類機率。
- 多分類用 −Σyᵢlog(pᵢ),要求 p 經 softmax 且和為 1。
- CE 對錯誤預測懲罰重(對數放大),是分類模型訓練的標準損失。
算例參考
- 單樣本損失:真實 y=1,預測 p=0.9 → CE=−log(0.9)=0.105;若 p=0.1 → CE=−log(0.1)=2.303。預測越錯損失越大,驅動模型修正。
注意事項
結果為按上述公式得到的理論估算值,實際表現受資料分佈、實現細節與執行環境影響,落地決策請以實測為準;本工具純前端執行,輸入不上傳伺服器。
- 為什麼用交叉熵而不是均方誤差?
- CE 對機率錯誤更敏感且在 sigmoid/softmax 下梯度更優,MSE 用於機率會產生飽和、收斂慢;CE 是分類自然對應的對數似然損失。
- p 為 0 或 1 會怎樣?
- log(0) 得 −∞ 導致數值爆炸。實踐中對 p 做裁剪(clip 到 ε~1−ε)或用帶 logits 的穩定實現(直接吃 raw score 算 softmax)避免。