1. 程式人生 > >2.1-2.2 模型評估與選擇

2.1-2.2 模型評估與選擇

誤差(error):學習器的實際預測輸出與樣本的真實輸出之間的差異。
訓練誤差(或經驗誤差):學習器在訓練集上的誤差(training error)、(empirical error)。
泛化誤差:學習器在新樣本上的誤差(generalization error)。
=> 希望得到泛化誤差小的學習器,但能做的是讓訓練誤差儘量小。
欠擬合與過擬合,與學習器的學習能力有關。(

\red{這裡的學習能力是否“過於強大”,是由學習演算法和資料內涵共同決定的。}
參考這篇

學習演算法、引數配置=> “模型選擇”問題

評估方法
訓練集S、測試集T

模型選擇,需要使用“測試集”(testing set)來測試學習器對新樣本的判別能力,然後以測試集上的“測試誤差”作為泛化誤差的近似。
假設:測試樣本也是從樣本的真實分佈中,獨立同分布取樣得到的。
現實任務中會考慮: \red{泛化誤差、時間開銷、儲存開銷、可解釋性等}

對資料集D中的m個樣例,如何分開訓練集和測試集呢?
有幾種方法:

  • 留出法(hold-out)
  • 交叉驗證法(cross validation)
  • 自助取樣法(bootstrapping)/可重複取樣/可放回取樣——>‘包外估計’、估計偏差
    參考這篇

模型調參

ML中涉及兩類引數:

  • 演算法引數:亦稱超引數,人為指定候選值,數目較少。
  • 模型引數:數目可能很多,通過學習過程中產生候選值。

因為訓練中僅使用部分資料集,則在模型選擇完後,學習演算法和引數配置都已確定,此時應該用D重新訓練模型,使用全部m個樣本,再最終提交。

  • 訓練集:模型學習使用的資料集
  • 驗證集:訓練資料劃分為訓練集和驗證集,驗證集上的效能進行模型選擇與調參。
  • 測試集:評估模型在實際使用時的泛化能力

效能度量
------ 均方誤差

  • 錯誤率與精度
  • 查準率與查全率
  • 在這裡插入圖片描述

==> 加權調和平均 F β F_{\beta} (書中32頁) 比算術平均( P + R 2 \frac{P+R}{2} )和幾何平均( P R \sqrt{P*R} )更重視較小值。
其中當 β \beta 為1時退化為標準的F1度量。

當有多個二分類混淆矩陣時,有兩種平均策略:

  • 巨集marco-P-R-F1:每個先計算自己的P-R,取均值後算F1
  • 微 micro-P-R-F1:將矩陣加起來平均,再計算P-R-F1