Overfit and Underfit

by allenlu2007

Overfit and Underfit

一般的 optimization 問題 (如 curve fitting or linear regression),  training data dimension (x and a in eq. 6)  大於 parameter space dimension (w and b in eq. 6), 稱為 under fit.  這是 high bias 的 case.  舉例而言,如果要用 linear regression 來 fit 以下的 input data.  

NewImage

如果用 linear function 來 fit input data, 很明顯是 under fit 的 case.  因此 learn 出來的 linear function 和 input data 有很大的 bias.

如果用 2nd order function 看來就好很多。

 

反之如果 parameter space (例如 multi-layer neural network 所有 W and b) 的 dimensions 比 training data dimension 大, 稱為 over fit.    

NewImage

意即有很多的 (W, b) 都可以滿足 Eq (6).  這是 high variance 的 case.   

對於 over fit 一般可以 (i) 丟掉一些 features (W), 也就是減少 parameter space 的 dimension (如上圖)  

或是 (ii) 在 cost function 加上 regulation (e.g. cost function 再加上 W^2).  

 

一般而言,如果一開始就把 input data reduce dimension 或用 low dimension parameter 來表示 (也就是 under fit) 會造成 information 的 loss.  之後無法再恢復。所以要儘量避過早 reduce data dimension.  在 neural network 用於影像應用上,1000×1000 pixel 的 input 影像就用 1M dimension 來表示。經過 deep network 每層逐步 reduce dimension, 最後才 reduce 到幾百幾千或幾萬種 image category (dimension).  

在 deep learning 的每個 layer, 會用 shared weight 和 pooling 來 reduce dimension.  同樣在 SVM … 來 reduce dimension.

在一些 machine learning algorithm 會用 PCA/ICA, 或 sparsity method 來 reduce dimension.   不過還是強調不要一開始就 reduce dimension (e.g. 用 linear function 來 fit data).  有時甚至需要先提高 dimension, 最後再 reduce dimension.  

 

Overfit and underfit 可以參考此文

Advertisements