紅色:訓練集表現
綠色和藍色:驗證集表現
如果結果是紅線和綠線,說明模型在訓練集和測試集上表現一致,起碼沒有過擬合。
如果紅線和綠線的準確率偏低,說明模型學習能力不行,不夠復雜,需要增加模型的復雜度。
如果是紅線和藍線,說明出現了過擬合。
評價模型的學習能力,會有這樣一些術語:Under fitting ove fitting /high bias / high vairance variance。我們就徹底解釋一下這些術語的含義。
先給結論:
從模型預測表現來說,會有over fitting和under fitting兩個現象。
兩個現象的量化指標分別對應著variance和bias。
偏差高說明模型欠擬合;
方差高說明模型欠擬合。
偏差(bias)
我們評價模型的學習能力時,是從它的預測結果來看的。也就是預測值和真實值之間的差異程度。這個差異程度就是所謂的偏差。
如果模型的預測能力不行,自然偏差就會很大。
偏差評價的是模型越策的準確程度。
方差
還有一個評價角度,就是方差。
方差評價的是模型的抗干擾能力,或者說模型的穩定程度。
方差描述的是預測值的變化范圍、離散程度。
一般來說,對于看起來很像的兩個樣本,我們對他們的預測結果應該也差不多。這是一個合理的要求。但如果不是這樣,如果數據稍有變化,預測結果就有翻天覆地的變化,所謂差之毫厘目之千里。這就說明模型的抗干擾能力很差,術語就是模型過擬合了。
方差說的是數據擾動對于模型預測結果的影響,評價的是模型的抗干擾能力。方差越大,預測結果的分布越分散。
為了便于理解,我們用學生學習考試為例說明。
學生的under fitting
如果說,一個學生的智商不行,那么不管怎么學習,考試成績都不會好。表現出來的是,不管題目難還是容易,都考不好。也有可能學習的內容過于超前了,比如讓小學生學習微積分,即使智力再好,也會很吃力。
這種情況,就是我們所說的underfitting,也就是模型的預測能力不行。原因就是模型的復雜度不夠、或者模型參數不夠。
學生的over fitting
還有一種情況,一個學生的智商很高,過目不忘,但是學習上愛耍小聰明,他就把所有看過的題目的答案都記下來了,但是不去真正的學習。
所以在考試時,如果考題和他見過的題一模一樣,那他會考的很好,甚至滿分。一旦題目稍有變化,他就不靈了。不管題目容易還是難,他都會掛掉。
這種情況對應的就是所謂的over fitting。就是模型可能對那些和訓練樣本一模一樣的測試樣本預測結果非常好,但是樣本稍有變化,模型的預測結果就會差之千里。
解決方法
對于underfitting,我們應該考慮增加模型的復雜度,比如把線性變成非線性。
對于overfitting,我們應該考慮增加樣本量,或者加入 正則項。我們通常不會用降低模型復雜度的方式去解決overfitting的問題,就像對于那些極聰明的學生,我們不是去壓制他們的能力,而是糾正他們的學習態度。
結論
欠擬合:說明模型的學習能力不行,或者說模型復雜程度不夠,就像一個小學生非讓他學習高中的內容,所以它再怎么努力,也是學不到滿意結果的。就像本來是一個二次曲線問題,非要用一個線性模型去擬合,怎么也得不到滿意效果。這時表現的是高偏差,也就是預測結果和真實結果偏離太遠。
而underfitting,是說這個學生成績很糟,不管難題還是簡單題,都很糟,因為就是學習能力有限,腦子不夠聰明。
過擬合:說的是一個人可能非常聰明,記憶力非常好,所以它不是好好學習,而是把給它的所有的數據(或者練習題、答案)都記住,這時,如果遇到的考題是一模一樣的,那他答得就會很好,如果考題稍有變化,那就一團糟。對模型來說,就是模型過于復雜。
這時表現是高方差,其實說的就是x稍有變化,y就有巨大變化。很難評價這個人學得怎么樣,難題、簡單題都可能回答正確或者錯誤,只要他曾經遇到過這樣的練習題。