深入瞭解機器學習:訓練與損失

「訓練模型」只是用來瞭解 (判斷) 所有權重和加上標籤範例中偏誤的良好值。在監督式學習中,機器學習演算法會透過檢查許多範例,並嘗試找出導致損失最大程度的模型,進而建立模型;這項程序稱為「環狀風險最小化」

損失則代表不當預測的懲處。也就是說,損失是一種數字,代表模型的預測值在一個例子中有多差。如果模型的預測結果非常完美,損失就會歸零,否則損失就會較大。訓練模型的目標在於找出所有範例中平均損失的權重和偏誤。例如,圖 3 左側顯示了高損失模型,右側則顯示低損失模型。請注意以下注意事項:

  • 箭頭代表損失。
  • 藍線代表預測。

兩個笛卡兒依照圖,每條圖都有線條和一些資料點。在第一個繪製圖中,該行對資料來說很糟,因此損失的幅度很高。在第二張圖中,這行資料較適合資料,因此損失率較低。

圖 3. 左側模式的高損失;右側模型的損失損失。

 

請注意,左圖中的箭頭比右側圖表中的對應長。顯然,右側圖中的線條比左圖中的線條高出許多預測模型。

您可能想知道是否能建立數學函式 (損失函式),以有意義的方式匯總個別損失。

我們在這裡檢查的線性迴歸模型會使用稱為平方損失的損失函式 (也稱為 L2 損失)。單一範例的平方損失如下:

  = the square of the difference between the label and the prediction
  = (observation - prediction(x))2
  = (y - y')2

平均正方形錯誤 (MSE) 是整個資料集中各範例的平均平方損失。如要計算 MSE,請將個別範例的所有平方損失加總,然後除以範例數量:

$$ MSE = \frac{1}{N} \sum_{(x,y)\in D} (y - prediction(x))^2 $$

其中:

  • \((x, y)\) 範例。
    • \(x\) 是模型用來進行預測的特徵集 (例如方塊/分鐘、年齡、性別)。
    • \(y\) 是範例標籤 (例如溫度)。
  • \(prediction(x)\) 是權重和偏誤的組合,搭配一組功能 \(x\)。
  • \(D\) 是包含許多已加上標籤的範例資料集,其為 \((x, y)\) 配對。
  • \(N\) 是 \(D\)中的範例數量。

雖然機器學習通常常用於 MSE,但這並非唯一的實際損失函式,也不適合各種情況下的損失損失函式。