常用的機器學習模型評估和模型選擇方法

1、簡介

機器學習的目的是通過對訓練數據的訓練,能夠對未知的數據有很好的應用效果。

1.1 訓練誤差和測試誤差

訓練誤差是模型對訓練集的計算損失,測試誤差是模型對測試集的計算損失,聽起來好像是廢話。舉個栗子,一個數據集有100條,其中80條用來做訓練集,20條用來做測試集,用模型對這80條數據進行訓練,得到最終模型,用這個最終模型對80條數據進行測試,其中60個正確,20個錯誤,假設損失函數是0-1損失,那麼訓練誤差就可以用20/80=0.25,對測試集進行測試,有10個正確,10個錯誤,則測試誤差就是10/20=0.5。

1.2、過擬合與欠擬合

過擬合和欠擬合指示的是模型的泛化能力,過擬合是指模型由於過於複雜,經過訓練,導致其在訓練集效果上很好,但是在測試集效果很差。欠擬合就是指訓練集和測試集效果都很差。

2、模型選擇

2.1、正則化

正則化是指我們在損失函數的後面加入一個調整項,這個調整項本質上是防止模型陷入過擬合。

\(\lambda\)表示調整兩者的參數。

2.2、簡單交叉驗證

簡單交叉驗證就是指我們暴力的將數據集分成訓練集和測試集,這裏的比例我們自己可以定。

2.3、S折交叉驗證

S折交叉驗證表示我們將數據集分成S份,取其中S-1份進行訓練,用留出的那一份進行測試,這樣進行多次,算出每個模型的平均誤差,選擇誤差最小的當作最終的模型。

2.4、自助方法

這種方法是我們每次取出數據集中的一條數據並放回,這樣我們隨機的取m次,用這些取出來的數據當作訓練集,其餘的當作測試集。這樣某樣本不會被抽到的概率是

上面的數據集大小是m,一次沒抽到的概率是(1-(1/m))進行m次,所以就是m次方。

3、模型評估

3.1、準確率和錯誤率

對於分類來講,準確率就是對100條數據進行測試,90條正確,10條錯誤,則準確率是90%,錯誤率就是10%。準確率+錯誤率=1

3.2、查準率,查全率,F1

這兩個指標是針對二分類來說,同時,也可以將他們擴展到多分類,假設我們有正例60和負例40,其中有40個正例被預測爲正例,20個正例被預測爲負例,15個負例被預測爲負例,25個負例被預測爲正例,則查準率(P)=40/(40+25),查全率(R)=40/(40+20),由於這兩者一般情況下不會同時增大,所以我們用F1值來進行度量,F1 = (2 * P * R)/ (P + R)

3.3、ROC和AUC

ROC曲線的橫座標是假正FP,縱座標是真正TP,兩者曲線的面積是AUC值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章