損失是數值指標,用來說明模型的預測結果有多不準確。損失可評估模型預測與實際標籤之間的距離。訓練模型的目的在於盡可能降低損失,並將其降低至最低可能值。
在下圖中,您可以透過從資料點指向模型的箭頭,以視覺化方式呈現損失。箭頭代表模型預測結果與實際值之間的距離。
圖 9. 損失是從實際值到預測值的差異。
損失距離
在統計和機器學習中,損失是用來評估預測值和實際值之間的差異。損失函數著重於值之間的距離,而非方向。舉例來說,如果模型預測值為 2,但實際值為 5,我們不會在意損失值為負 $ -3 $ 美元 ($ 2-5=-3 $)。我們在意的其實是值之間的差距為 $ 3 $ 美元。因此,所有計算損失值的方法都會移除符號。
以下是兩種最常移除符號的方法:
- 取實際值與預測值之間差異的絕對值。
- 將實際值與預測結果之間的差異表示。
損失類型
在線性迴歸中,損失有四種主要類型,如下表所示。
損失類型 | 定義 | 方程式 |
---|---|---|
L1 loss | 預測值與實際值之間差異的絕對值總和。 | $ ∑ | 實際\值 - 預測值 | $ |
平均絕對誤差 (MAE) | 一組例子的 L1 損失值平均值。 | $ \frac{1}{N} ∑ | actual\ value - predicted\ value | $ |
L2 loss | 預測值與實際值之間的平方差的總和。 | $ ∑(actual\ value - predicted\ value)^2 $ |
均方誤差 (MSE) | 一組例子的 L2 損失值平均值。 | $ \frac{1}{N} ∑ (actual\ value - predicted\ value)^2 $ |
L1 損失函式與 L2 損失函式 (或 MAE 與 MSE) 之間的差異在於平方。當預測與標籤之間的差異很大時,平方會讓損失變得更大。如果差異很小 (小於 1),平方運算會讓損失更小。
一次處理多個範例時,無論是使用 MAE 還是 MSE,建議您對所有範例的損失值求平均值。
計算損失範例
我們將使用先前的最佳擬合線,為單一示例計算 L2 損失。從最佳擬合線,我們取得了以下的權重和偏差值:
- $ \small{Weight: -3.6} $
- $ \small{Bias: 30} $
如果模型預測 2,370 磅重的汽車每加侖可行駛 21.5 英里,但實際上每加侖可行駛 24 英里,我們會計算 L2 損失,如下所示:
值 | 方程式 | 結果 |
---|---|---|
預測 | $\small{bias + (weight * feature\ value)}$ $\small{30 + (-3.6*2.37)}$ |
$\small{21.5}$ |
實際值 | $ \small{ label } $ | $ \small{ 24 } $ |
L2 損失 | $ \small{ (prediction - actual\ value)^2} $ $\small{ (21.5 - 24)^2 }$ |
$\small{6.25}$ |
在這個例子中,單一資料點的 L2 損失為 6.25。
選擇損失
決定是否使用 MAE 或 MSE 時,可以考量資料集和您要處理特定預測的方式。資料集中的大部分特徵值通常會落在特定範圍內。舉例來說,汽車通常重 2000 到 5000 磅,每加侖油耗為 8 到 50 英里。8,000 磅的汽車,或是每加侖 100 英里的汽車,已超出一般範圍,系統會將其視為離群值。
異常值也可能指模型預測結果與實際值的差距。舉例來說,重量 3,000 磅的車輛或每加侖行駛 40 英里的車輛都屬於一般範圍。不過,如果 3,000 磅的車輛每加侖可行駛 40 英里,則會是模型預測的異常值,因為模型會預測 3,000 磅的車輛每加侖可行駛 18 到 20 英里。
選擇最佳損失函式時,請考量您希望模型如何處理異常值。舉例來說,MSE 會將模型更偏向異常值,而 MAE 則不會。相較於 L1 損失函式,L2 損失函式會對異常值施加更嚴重的懲罰。舉例來說,下列圖片顯示使用 MAE 訓練的模型和使用 MSE 訓練的模型。紅線代表用於進行預測的完整訓練模型。與使用 MAE 訓練的模型相比,使用 MSE 訓練的模型更能預測離群值。
圖 10. 使用 MSE 訓練的模型會讓模型更接近異常值。
圖 11. 使用 MAE 訓練的模型與離群值的距離較遠。
請注意模型與資料之間的關係:
MSE。模型距離離群值更近,但遠離其他大部分資料點。
MAE。模型距離離群值更遠,但與大部分的其他資料點距離更近。
隨堂測驗
請參考以下兩個圖表: