過擬合詳解:監督學習中不準確的「常識」

寬邦科技發表於2019-01-25

導語:本文為Mehmet Süzen撰寫文章的譯文,稍有刪改。文章清晰地闡釋和區分過度擬合及過度擬合等概念,對於本領域學習者正確理解專業術語多有幫助。正如作者在原文末所指出的:對待簡單的概念,我們也應抱著積極求學的態度,瞭解其成立的基礎。

前言

大多數從業者對”過擬合“這一概念存在誤解。在資料科學界,始終存在一種類似於民間說法的觀點:

“利用交叉驗證可以防止過擬合。在樣本外對模型進行驗證,如果不存在泛化誤差,則模型不存在過擬合

這個說法顯然是不對的:交叉驗證並不能阻止模型過擬合。樣本外的良好預測效能並不能保證模型不存在過擬合。在這個說法中,前部分說的概念其實是“過度訓練”。不幸的是,這種快速傳播的說法不僅僅在業界傳播還在一些學術論文中出現。這是專業術語上的一種混淆,我們覺得有必要澄清“過擬合”這個專業術語的概念。

在本文,我們會給出直觀的解釋:為什麼模型驗證即獲取最小的泛化誤差與過擬合的檢測不能在一個模型上同時得到解決。在明確一些概念介紹後,我們會舉例說明,以幫助大家理解過度擬合,過度訓練和典型的最終模型的建立步驟。

監督學習需要滿足的條件

數學最基本的任務之一是找到函式的解法:如果將其限制在n維實數域,則方程和答案均出於Rn。假設資料集中有p個資料點,分別命名為 xi,這些是方程的部分解。建模的目的是為了找到資料集的解,這意味著我們需要找到mm個未知引數a∈Rm。以數學的表達方式而言,構建一個方程:f(x,a)。這個方程被稱為迴歸方程,插值方程或者監督學習方程,取決於你閱讀的文獻。這是反問題的一種形式,雖然我們不知道引數,但我們有部分變數的資訊。最主要的問題在於不適定性,是指解答不適定,實際存在很多可以解釋樣本的函式f(x,a)。對於方程f(x,a)=0,需要滿足兩個要求:

  1. 普適性:模型驗證,模型不能僅在樣本集中使用

  2. 最小複雜度:模型選擇,模型應該滿足奧卡姆剃刀原理。

模型的普適性可以用擬合優度來衡量,表明模型能夠在怎樣的程度上解釋樣本。為達到最小複雜度,模型之間需要相互比較。

迄今為止,我們還未統一檢測普適性並選擇最佳模型的方法,需要資料科學家或者量化從業者通過個人經驗進行判斷。

模型驗證

驗證模型普適性的一個方法是提出可以衡量模型對於樣本集的解釋的度量標準。模型驗證的主要目標為估計模型誤差。比如,均方根誤差(RMDS)是一個可以使用的度量標準。如果RMSD很低,表明擬合效果好,理想情況下RMDS應該接近於0。但如果我們只用樣本集去衡量,不足以證明模型具有普適性,需要使用樣本外資料進行檢測引數aa。進一步,改進的方法是使用交叉驗證,將樣本集分為kk部分,我們可以獲得kk個RMDS的平均值,如圖1所示。

image

圖1:監督學習的模型驗證和分類示意

模型選擇:過擬合檢測

當考慮滿足“最小模型複雜度”時,過擬合是需要進行考慮的因素。多個模型進行比較來判斷是否過擬合。Douglas Hawkins在他經典論文The Problem of Overfitting 中寫道:

模型的過擬合常見的擔憂,過擬合很難被辨識,因為它不是一個絕對的問題,需要比較才能得出。如果兩個模型擬合優度相同但其中一個模型更加複雜,那麼這個模型就過擬合了。

關鍵因素是“複雜模型”的含義是什麼?我們如何定量確定“模型的複雜度”?不幸的是,這是沒有確定的方法。大家公認的方法是:當一個模型有更多引數的時候,模型也就更加複雜。但是這個說法也是非正式的,通常也不準確。我們可以求助於複雜度的不同衡量方式,例如,函式f1(a,x)=axf2(a,x)=ax2,兩個函式有相同的引數數量,但是f2f2更加複雜,因為函式是非線性的。關於如何判定複雜度,這裡有很多可以討論的,但本文不做進一步介紹。為了下面的範例演示,我們認為模型引數越多,非線性度越強,則模型越複雜。

範例操作

上文已經直觀地介紹為什麼模型驗證與過擬合判定不能同時完成的原因。在接受上文假設後,我們開始構造樣本集和模型,以直觀說明。

一般步驟為構建一個樣本集,由某個模型生成,並將模型作為標準。然後利用樣本集生成其他模型,我們構建如下形式的模型,但再新增一些高斯噪音

過擬合詳解:監督學習中不準確的「常識」

image

圖2:生成的樣本集及非隨機部分示意

利用模型生成100個資料點,形成足夠大的樣本集,如圖2所示。構造g(x)g(x)h(x)h(x)應用於樣本集的訓練,分別是三次和五次多項式,如下所示:

過擬合詳解:監督學習中不準確的「常識」

過擬合詳解:監督學習中不準確的「常識」

過度訓練

過度訓練是指模型的擬合優度隨著某一客觀變數偏離最佳值而下降。比如,神經網路中的訓練集樣本大小。觀察g(x)訓練結果,存在一個最佳的訓練樣本數量,使樣本外資料的擬合優度最佳。

image

圖3:當g(x)的訓練樣本集數量超過40

image

圖4:當h(x)的訓練樣本集數量超過30

低泛化誤差的過擬合

計算10倍交叉驗證g(x)f(x)均方根誤差,分別是0.13和0.12,結果顯示:更加複雜的模型得到的擬合優度與相對簡單的模型是一致的。我們不能通過均方根誤差來或者是過度訓練的曲線來判斷過擬合,如圖4。模型之間需要被比較,參考圖3與圖4曲線與均方根誤差值。

選擇使用哪個模型?

我們找到了具有良好擬合優度的最低複雜度的模型,但是我們應該採用哪個模型進行使用呢?在模型選擇部分我們找到構造了模型,既然g(x)h(x)具有相同擬合優度,那我們顯然應該選擇g(x),並在圖3中顯示的最佳數量樣本上進行訓練。

結論

如本文例項所示,良好的擬合優度並不能保證模型沒有過擬合,當人們談論到”過擬合“時,他們說的往往是”過度訓練“。

深度學習是一門實踐學科,只有不斷做實驗才能有所進步。BigQuant人工智慧量化投資平臺 整合了眾多深度學習/機器學習開源框架,包括TensorFlow、Keras、XGBoost、Theano、Caffe等,可以直接在BigQuant上開啟你的深度學習之旅!

 原文連結:《過擬合詳解:監督學習中不準確的“常識”

本文由BigQuant人工智慧量化投資平臺原創推出,版權歸BigQuant所有,轉載請註明出處。 

相關文章