overfit有兩種情況:1.機器從樣本資料中過度的學習了太多的區域性特徵,在測試集中會出現識別率低的情況。資訊量過小,識別其他資訊是缺少資料特徵量,學習的東西太多了,特徵也多,只要不是該特徵的資料都不要,這個過度擬合是因為資料量太小但是學習的特徵太多,只要沒有其中任何的一個特徵的資料都識別不了的一種過度擬合的情況。舉個例子:
(1)打個形象的比方,給一群天鵝讓機器來學習天鵝的特徵,經過訓練後,知道了天鵝是有翅膀的,天鵝的嘴巴是長長的彎曲的,天鵝的脖子是長長的有點曲度,天鵝的整個體型像一個“2”且略大於鴨子.這時候你的機器已經基本能區別天鵝和其他動物了。
(2)然後,很不巧你的天鵝全是白色的,於是機器經過學習後,會認為天鵝的羽毛都是白的,以後看到羽毛是黑的天鵝就會認為那不是天鵝.
(3)好,來分析一下上面這個例子:(1)中的規律都是對的,所有的天鵝都有的特徵,是全域性特徵;然而,(2)中的規律:天鵝的羽毛是白的.這實際上並不是所有天鵝都有的特徵,只是區域性樣本的特徵。機器在學習全域性特徵的同時,又學習了區域性特徵,這才導致了不能識別黑天鵝的情況.
所以:(1)對於機器來說,在使用學習演算法學習資料的特徵的時候,樣本資料的特徵可以分為區域性特徵和全域性特徵,全域性特徵就是任何你想學習的那個概念所對應的資料都具備的特徵,而區域性特徵則是你用來訓練機器的樣本里頭的資料專有的特徵.
(2)在學習演算法的作用下,機器在學習過程中是無法區別區域性特徵和全域性特徵的,於是機器在完成學習後,除了學習到了資料的全域性特徵,也可能習得一部分區域性特徵,而習得的區域性特徵比重越多,那麼新樣本中不具有這些區域性特徵但具有所有全域性特徵的樣本也越多,於是機器無法正確識別符合概念定義的“正確”樣本的機率也會上升,也就是所謂的“泛化性”變差,這是過擬合會造成的最大問題.
(3)所謂過擬合,就是指把學習進行的太徹底,把樣本資料的所有特徵幾乎都習得了,於是機器學到了過多的區域性特徵,過多的由於噪聲帶來的假特徵,造成模型的“泛化性”和識別正確率幾乎達到谷點,於是你用你的機器識別新的樣本的時候會發現就沒幾個是正確識別的.
(4)解決過擬合的方法,其基本原理就是限制機器的學習,使機器學習特徵時學得不那麼徹底,因此這樣就可以降低機器學到區域性特徵和錯誤特徵的機率,使得識別正確率得到優化.
(5)從上面的分析可以看出,要防止過擬合,訓練資料的選取也是很關鍵的,良好的訓練資料本身的區域性特徵應儘可能少,噪聲也儘可能小。
2.過度擬合學習了太多的噪音,人們將噪聲誤認為訊號的行為,在統計學上被稱為「過度擬合」(overfit)。人類大腦的工作方式是捕捉規律,並且預測。一般來講,智商高的人的神經網路學習能力更強,這意味著 ta 捕捉規律的能力也越強。捕捉規律能力強意味著對於很少的樣本中隱含的不明顯的「規律」他們也能捕捉出來。但從很少的樣本或噪聲過多的樣本中總結出「規律」來是極為危險的事——自然界的執行很多時候並沒有確定的規律,我們帶著一雙為了發現規律的眼睛去挖掘總結出了規律,結果卻聰明反被聰明誤了。
一句話概括:
過擬合:在訓練資料上表現良好,在未知資料上表現差。
欠擬合:在訓練資料和未知資料上表現都很差。
解決方法:
解決欠擬合或過擬合的思路
1、增減模型的引數維度。如利用線性迴歸預測房屋價格的例子中,增加“臥室數量”,“停車位數量”,“花園面積”等維度以解決欠擬合,或相應的減少維度去解決過擬合。
2、增減多項式維度,比如將加入高階多項式來更好地擬合曲線,用以解決欠擬合,或者降階去處理過擬合。
3、調整Regularization Parameter。在不改變模型引數維度和多項式維度的情況下,單純的調整Regularization Parameter同樣可以有效改變模型對資料的擬合程度。