損失函數(Loss Functions)
摘要
損失函數(loss function)用於量化模型預測與真實資料之間的差異,並作為模型訓練(training)中的最佳化目標(optimization objective)。在機器學習(machine learning)中,模型參數的更新通常透過最小化損失函數進行,使模型逐步逼近資料中的潛在結構(underlying structure)。
與評估指標(evaluation metrics)不同,損失函數直接參與梯度計算(gradient computation)與參數更新,因此其形式通常需具備可微性(differentiability)或可優化性(optimizability)。
從更一般的角度來看,損失函數不僅衡量誤差,也定義模型偏好的解(preferred solutions)。不同損失函數隱含不同的統計假設與學習偏好,因此會直接影響模型行為、決策邊界(decision boundaries)與泛化能力(generalization)。
基本形式
回歸問題(regression)中的損失函數通常衡量連續數值之間的距離(distance)。Mean Absolute Error(MAE)以絕對值形式衡量誤差:
其對異常值(outliers)較為穩健。Mean Squared Error(MSE)則對誤差進行平方:
此形式會放大較大誤差,因此對異常值更敏感,但能更強烈懲罰不準確預測。Root Mean Squared Error(RMSE)則為 MSE 的平方根,用於保留原始資料單位。
分類問題(classification)中的損失函數則通常建立於機率分佈(probability distributions)之上。交叉熵損失(cross-entropy loss)衡量預測分佈與真實分佈之間的差異:
其核心作用在於提高正確類別的預測機率,同時抑制其他類別的機率,因此成為現代分類模型中最常見的損失函數。
Hinge loss 則常見於支援向量機(support vector machine, SVM),其目標不僅是分類正確,還要求類別之間保有足夠分類邊界(margin)。
代理損失與可優化性
在許多問題中,真正目標往往難以直接最佳化,因此實際訓練通常使用代理損失(surrogate loss)進行近似。例如分類問題真正關注的是 0–1 錯誤:
然而 0–1 loss 不可微,因此難以進行梯度式最佳化(gradient-based optimization)。實務上通常改用交叉熵(cross-entropy)或 hinge loss 等可微函數作為近似。
因此損失函數不只是誤差度量工具,也是一種可優化的學習目標設計。不同 surrogate loss 會對模型產生不同的學習偏好與收斂特性。
與模型學習的關係
損失函數位於模型學習(learning process)的核心,其角色是定義模型應如何調整參數。最佳化方法(optimization methods)負責搜尋參數空間中的解,而正規化(regularization)則限制模型複雜度與可行解空間。
因此模型學習可視為以下結構:
模型輸出 → 損失函數 → 最佳化 → 參數更新
從更一般的視角來看,損失函數可視為模型對「何種誤差較重要」的形式化描述,其設計直接影響模型最終學得的表示(representations)與行為模式(behavior patterns)。

