機器學習評估方法
來自專欄 機器學習之路
機器學習的目的是產生泛化能力好的模型,那麼什麼樣的模型才是泛化能力好的模型呢,這需要按照一定的評估方法和度量指標去衡量。
機器學習的評估方法
一般情況下,我們手頭沒有未知樣本。我們需要一個測試集測試模型對 新樣本的判別能力。以測試集的測試誤差作為泛化誤差的近似。測試集的選取一般採用以下三種方法:留出法、交叉驗證法、自助法。
1、留出法
留出法直接將數據集劃分為兩個互斥的集合。
注意點:要保持數據分布的一致性;採用多次隨機劃分取均值的評估方法;測試集的比例應該適當(1/3~1/5)
2、交叉驗證法
將數據集平均分成k份,並盡量保證每份數據分布一致。依次用其中k-1份作為訓練集,剩下的一份作為測試集。這樣就有k組訓練集/測試集,從而可以進行k次訓練和測試,返回k次測試結果的均值,也稱為「k折交叉驗證法」。
若令k=m,則稱為「留一法」
3、自助法
在留出法和交叉驗證法中,由於只採用了一部分樣本用於訓練,因此會引入一些因為樣本規模不足而引入的偏差,而留一法的演算法複雜度又太高。自助法可以解決這個問題。
假將樣本集記為D,D中共有m個樣本。對D進行有放回抽樣m次,得到包含m個樣本的訓練集D。而未被採樣到的樣本集合(D-D)作為測試集。按照概率,樣本每次不被抽到的概率是(1-1/m),在m次採樣中,始終不被抽到的概率為
即,通過自助抽樣,樣本中約有36.8%的數據不被抽到,用於測試,稱為「包外測試」。
自助法改變了數據分布,會引入估計偏差,一般只在 數據集較小的情況下採用。
推薦閱讀:
※機器學習之邏輯回歸分類
※機器學習筆記(二) 決策樹
※【ML專欄】【2018Q1】(4)眾包vs有監督學習
※圖解機器學習:如何理解classification以及為什麼logistic比linear regression更適合做classification
※人工智慧到底能幫我們做什麼?
TAG:機器學習 |