概述
訓練模型表示通過有標簽樣本來學習確定所有的權重和偏差的理想值。在監督式學習中,機器學習算法通過以下方式構建模型:檢查多個樣本並嘗試找出可最大限度地減少損失的模型;這個過程稱為經驗風險最小化。
損失是對糟糕預測的懲罰。也就是說,損失是一個數值,表示對於單個樣本而言模型預測的准確程度。如果模型的預測完全准確,則損失為零,否者損失會很大。訓練模型的目的是從所有樣本中找到一組平均損失“較小”的權重和偏差。例如下圖左側顯示的是損失較大的模型,右側顯示的是損失較小的模型。
圖3 左側的損失較大,右側的損失較小
在數學上需要創建一個函數(損失函數),定量的分析各種損失。
平方損失函數
線性模型使用的是一種稱為平分損失(又稱為L2損失)的損失函數,單個樣本的平方損失如下:
= the square of the difference between the label and the prediction = (observation - prediction(x))2 = (y - y')2
均方誤差(MSE)指的是每個樣本的平均平方損失。MSE計算方式如下:
其中:
- (x, y)指的是樣本,其中
- x指的是模型進行預測時使用的特征集(例如,溫度、年齡和交配成功率)。
- y指的是樣本的標簽(例如,每分鍾的鳴叫次數)。
- prediction(x)指的是權重和偏差與特征集x結合的函數。
- D指的是包含多個有標簽樣本(即(x, y))的數據集。
- N指的是D中的樣本數量。
期望風險、經驗風險與結構風險之間的關系
-
經驗風險是局部的,基於訓練集所有樣本點損失函數最小化的。
-
期望風險是全局的,是基於所有樣本點的損失函數最小化的。
-
經驗風險函數是現實的,可求的;
-
期望風險函數是理想化的,不可求的;
只考慮經驗風險的話,會出現過擬合的現象,過擬合的極端情況便是模型f(x)對訓練集中所有的樣本點都有最好的預測能力,但是對於非訓練集中的樣本數據,模型的預測能力非常不好。怎么辦呢?這個時候就引出了結構風險。結構風險是對經驗風險和期望風險的折中。
結構風險
對經驗風險和期望風險的折中,在經驗風險函數后面加一個正則化項(懲罰項),是一個大於0的系數lamada。J(f)表示的是模型的復雜度。
經驗風險越小,模型決策函數越復雜,其包含的參數越多,當經驗風險函數小到一定程度就出現了過擬合現象。也可以理解為模型決策函數的復雜程度是過擬合的必要條件,那么我們要想防止過擬合現象的方式,就要破壞這個必要條件,即降低決策函數的復雜度。也即,讓懲罰項J(f)最小化,現在出現兩個需要最小化的函數了。我們需要同時保證經驗風險函數和模型決策函數的復雜度都達到最小化,一個簡單的辦法把兩個式子融合成一個式子得到結構風險函數然后對這個結構風險函數進行最小化。