【Machine learning】模型評估與選擇(Model Evaluation and Selection)

我們該選擇哪一個學習算法、使用哪一種參數配置,這就是機器學習中的模型選擇問題。理想的解決方案是對候選模型的泛化誤差進行評估,然後選擇泛化誤差最小的那個模型。但我們無法直接獲得泛化誤差,訓練誤差又由於過擬合現象的存在不適合作爲標準,如何進行模型評估與選擇?

basic terms

1.誤差(訓練誤差和泛化誤差)error(training error&generalization error)

誤差:把學習器的實際預測輸出與樣本的真實輸出之間的差異稱爲誤差

訓練誤差:學習器在訓練集上的誤差

泛化誤差:在新樣本上的誤差

2.過擬合、欠擬合

3.評估方法

用測試集上的‘測試誤差’作爲泛化誤差的近似。

從m個樣例數據中產生出訓練集S和測試集T:

  • 留出法(hold-out):直接將數據集合劃分爲S、T,S與T互斥(一般要進行若干次隨機劃分、重複進行試驗評估後取平均值)。適用於數據集較大的情況。
  • 交叉驗證法(cross validation):現將數據集D劃分爲k個大小相似的互斥子集。進行k次訓練和測試,每次k-1個子集作爲訓練集,流出1個作爲測試集。適用於數據集較大的情況。
  • 自助法:自助從數據集D中有放回的隨機採集m個樣本構成D',將D’用作訓練集,D/D'用作測試集,這樣的測試結果,稱‘包外估計’。適用於數據集較小的情況。

4.調參與最終模型

大多數學習算法都有些參數需要設定,參數配置不同,學的模型的性能往往有顯著差別。需要調參(對算法設定參數)

5.性能度量

對於學習器的泛化性能進行評估,衡量模型泛化能力的評價標準。

前面提到了錯誤率和精度,這是分類任務中最常用的兩種性能度量。錯誤率是分類錯誤的樣本書佔樣本總數的比例,精度則是分類正確的樣本數佔 樣本總數的比例。

混淆矩陣

這裏又提了三個度量:查準率、查全率、F1

1)查準率:

2)查全率:

3)F1:是=

4)Fp

5)宏查全率、宏查準率、宏F1

6)微查準率、微查全率、微F1

ROC\AUC:

ROC:受試者工作特徵(Receiver Operating Characteristic)

roc曲線的縱軸爲“真正例率”,縱軸爲“假正例率”,兩者的定義

6. 代價敏感錯誤率與代價曲線

代價矩陣:cost01與cost10

ROC曲線不能反映出了,取而代之的是代價曲線:橫軸是取值爲(0,1)的正例概率代價,總之是取值爲(0,1)的歸一化代價

7.比較檢驗

這裏用到了假設檢驗的知識。

8.偏差與方差

 

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