機器學習模型的評估與選擇

前言

  在上一篇文章中,我們主要了解了什麼是機器學習,機器學習的範圍,應用方式和一些常用的概念。在本文中,我們將來了解機器學習中模型的評估與選擇。

概念引入

  先來明確幾個概念:通常我們把分類錯誤的樣本數佔總樣本總數的比例稱爲“錯誤率”,即如果在m個樣本中有a個樣本分類錯誤,則錯誤率E=a/m;對應的,1-a/m稱爲精度,即“精度=1-錯誤率”。學習器的預測輸出和樣本真實輸出之間的差異稱爲誤差,學習器在訓練集上的誤差稱爲訓練誤差或經驗誤差,學習器在新樣本上的誤差稱爲泛化誤差。
  我們的目標是得到泛化誤差小的學習器,但由於事先並不知道新樣本是什麼樣,所以能做的是努力使經驗誤差最小。在很多情況下我們可以得到在訓練集上精度很高的學習器,但這樣的學習器在新樣本上的表現並不如我們預期的那樣,泛化性能極差,這種現象被稱爲過擬合。與過擬合對應的是欠擬合,即連訓練樣本的一般性質都沒學好。
  針對這兩種現象,欠擬合是比較容易克服的,因爲欠擬合就是學習能力低下造成的,很多種方法都可以有好的效果,例如決策樹學習中擴展分支,神經網絡學習中增加訓練輪數;但是過擬合就比較麻煩了,各類機器學習算法都有一定針對過擬合的措施,但過擬合是無法完全避免的,只能緩解。如果過擬合可以徹底被解決,這就意味着通過經驗誤差最小化就能獲得最優解,相當於構造性的證明了“P=NP”。
  那麼由於存在過擬合與欠擬合的情況,我們無法獲得泛化誤差,經驗誤差又不適合作爲標準,那我們該如何進行模型評估與選擇呢?

評估方法

  通常我們可通過測試實驗來對學習器的泛化誤差進行評估,使用“測試集”來測試學習器對新樣本的判別能力,用測試誤差來近似的表示泛化誤差。測試樣本同樣也是從樣本真實分佈中獨立同分布採樣得來的,要注意的是測試樣本需要儘可能和訓練集互斥。這是爲什麼呢?舉個例子,假設老師出了一套試題給學生練習,然後有一場考試試題和練習的一樣,那能正確評估學生的水平嗎?是不可以的,因爲可能有的學生只會做這一套而能得高分。如果測試樣本被用於訓練,得到的結果會過於“樂觀”。
  那我們只有一個數據集D,既要訓練又要測試,如何做到呢?可以通過對D進行處理從中產生訓練集S和測試集T,下面介紹幾種常見的做法:

留出法

  留出法直接把數據集D劃分成兩個互斥集合S和T確保D=S∪T,S∩T=∅,使用S訓練出模型後用T測試。採樣過程中訓練集和測試集需要保證數據分佈的一致性,什麼意思呢?就是說訓練集和測試集中正反例的比例要一致。由於劃分方式的不同產生的差異也是有的,所以留出法不能實驗一次,通常是採用100次的隨機劃分,每次產生一個結果,留出法返回的是這100個結果的均值。此外如果訓練集和測試集的量差異太大也會導致訓練結果不理想,通常將數據集的2/3到4/5用於訓練,其餘樣本用於測試。
在這裏插入圖片描述

交叉驗證法

  交叉驗證法指的是現將數據集劃分爲k個大小相等且互斥的子集,每個子集都儘可能的保持數據分佈的一致性,都從D中分層採樣得到。將其中k-1個子集的並集作爲訓練集,剩下的一個子集作爲測試集,圖示如下。交叉驗證法的穩定性和保真性很大程度上決定於k的取值,通常又叫k折交叉驗證,常用取值k=10,交叉驗證法也一樣不能用一次實驗的結果,需要重複p次取多次實驗結果的均值。交叉驗證法中有一種特殊情況就是當數據集中有m個樣本,k的取值等於m的情況下,被稱爲留一法,即訓練集只比數據集少一個樣本,測試集只有一個樣本,重複訓練m次取均值。留一法的評估結果通常來說比較準,但是缺陷是計算開銷太大而且留一法的估計結果未必永遠比其他評估方法準確,NFL定理對實驗評估方法同樣有效。
在這裏插入圖片描述

自助法

  我們期望的是用D訓練出的模型,但是留出法和交叉驗證法中都保留了一部分樣本做測試,實際評估的模型訓練集都比D小,這必然會引入估計偏差。留一法影響比較小,但計算規模有太大了,爲解決這一類問題,自助法是比較好的。
  自助法指的是對D進行可重複採樣,得到一個和D大小一致的數據集D’,假設樣本數爲m,根據概率,在採樣完成後某個樣本仍然沒有沒采樣到的概率是
limn+(11m)m1e0.368\lim_{n \to +\infty} (1-\frac{1} m)^m→\frac{1}{e}≈0.368
即通過自助採樣,D中有大概36.8%的樣本沒有出現在D’中,我們就可以使用D’作爲訓練集,D\D‘作爲測試集。這樣我們就有m個訓練樣本,同樣留出了大約1/3的沒有用於訓練的樣本測試。

總結

  自助法在數據集比較小時很有用但產生的數據集改變了初始數據集的分佈,容易引入估計偏差,所以當初始數據量足夠時還是選擇留出法和交叉驗證法。大多數學習算法都有參數需要設定,參數配置不同,學得的模型性能差異也會很大,在進行模型的評估和選擇時,不僅要選擇算法,還需要對算法參數進行設定,這就是“調參”。

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