概念理解:通俗的「過擬合與欠擬合」直觀解釋

2021-02-24 專知

【導讀】前幾天,應用數據科學研究者William Koehrsen發布一篇關於「過度擬合和擬合不足」的博文,作者解釋了在模型訓練中過擬合與欠擬合的概念與原因,並解釋了方差與偏差的概念,並介紹了克服模型過擬合與欠擬合的方法——驗證集。也許你曾看過關於「過擬合與欠擬合」的博文,但是本文絕對也值得一看,因為作者使用現實生活中的例子進行概念講解,把概念的理解變成一個有趣的過程,相信會令您耳目一新!

Overfitting vs. Underfitting: A Conceptual Explanation

過擬合與欠擬合:概念解釋

基於樣例的數據科學核心概念框架


如果你想學英語,雖然你對語言沒有預先的知識,但是你也聽說過英國最偉大的作家是威廉·莎士比亞。所以,一個自然學習方法就是把自己鎖在圖書館裡,去記住他的作品。 經過一年的學習,你從學習中走出來前往紐約市,用「Good dawning to thee, friend!」問候你所看到的第一個人。當然,對方可能會不屑一顧 「神經病!」。你可以再試試:「Dear gentlewoman, How fares our gracious lady?」又會得到一個失敗而急促的回答。 經過第三次失敗的嘗試,你會心煩意亂:「What shame what sorrow!」。的確如此:你剛剛經歷了建模過程中最基本的錯誤之一,在訓練數據的時候過擬合了。

在數據科學中,過擬合模型被解釋為在訓練集上具有高方差(high variance)和低偏差(low bias),導致新測試數據泛化能力不佳。我們可以用學習英語的過程來簡化「過擬合」概念的理解。我們要建立的模型是如何使用英語進行交流。我們的訓練數據是莎士比亞的全部作品,我們的測試集是在紐約與人交流。如果我們用社會接受度來衡量性能,那麼我們的模型就不能推廣到測試數據(因為莎士比亞的語法肯定和紐約人民的有所不同)。這很容易理解,但方差和偏差該怎麼理解呢?

方差是一個模型反應訓練數據變化的程度。由於我們只是記憶訓練集,所以我們的模型具有很高的方差:它高度依賴於訓練數據。如果我們讀完J.K Rowling的全部作品,Rowling不是莎士比亞,那麼構建出的模型將完全不同。當一個具有高方差的模型被應用到一個新的測試集上時,它不能很好地執行,這是因為原先的模型中沒有這部分訓練數據。就像一個學生只是記住了教科書中的問題,但在遇到現實世界的問題時就會感到力不從心。

有時甚至是高年級學生也應該走出去看看

偏差是方差的另一面,因為它代表了我們對數據做出假設的力度。 在我們嘗試學習英語的過程中,我們沒有形成最初的模型假設,並相信Bard的工作將教會關於語言的所有知識。這種低偏差看起來像是積極的——這也是為什麼我們會想要偏向於數據?但是,我們應該始終對數據是否能夠告訴我們所有的一切保持懷疑態度。任何自然過程都會產生噪音,而我們的訓練數據無法捕捉到所有的噪音。通常,我們應該在我們的模型中對於訓練數據中沒有看到的波動做出一些初步的假設。 例如,在我們開始閱讀之前,我們應該明白莎士比亞的作品不能從字面上教我們英語,這樣才會使我們對訓練數據持謹慎態度。

到目前為止:偏差是指我們忽略了多少數據,方差是指我們的模型依賴於數據的程度。在任何模型中,總是存在偏差和方差之間的關係,當我們建立模型時,我們試圖達到最好的平衡。偏差與方差適用於任何模型(從最簡單到最複雜的模型),對於數據科學家來說,這是一個重要的概念!

我們看到一個過擬合的模型具有高方差和低偏差。 那反過來呢:低方差和高偏差呢?這就是所謂的欠擬合:相反,如果訓練數據過於緊密,一個欠擬合的模型會忽略了訓練數據中的經驗教訓,並且沒有學習到輸入和輸出之間的基本關係。

我們以我們的例子來考慮這個問題。從我們之前試圖建立的英語學習的模型中,我們決定提前對模型做一些假設。我們也改變我們的訓練數據,通過觀看所有的英語節目自學英語。為了避免重複第一次嘗試中我們的錯誤,我們提前做出一個假設,即只有在某種語言中以最常見的詞語開始的句子(例如the, be, to, of, and, a)是重要的。 當我們學習的時候,我們不注意其他的句子,相信我們會建立一個更好的模型。

經過長時間的訓練,我們再次走上紐約街頭。 這一次我們稍微好一點,但是我們的談話再次失敗。雖然我們知道一些英語,可以理解有限的幾個句子,但是由於我們對訓練數據的偏見,我們沒有學習到這個語言的基本結構。該模型沒有高方差,但是我們對我們最初的嘗試進行了過度矯正,模型欠擬合了!

當我們嚴格關注數據的時候我們會過擬合。 當我們忽略了數據,就會欠擬合。必須有一種方法來找到最佳的平衡! 幸運的是,在數據科學方面有一套完善的解決方案,叫做驗證(validation)。 在我們的例子中,我們只使用了一個訓練集和一個測試集,這意味著我們不可能提前知道我們的模型在現實世界中會如何做。理想情況下,我們將有一個「預測試」來評估我們的模型,並在真正的測試之前做出改進。 這個「預測試」被稱為驗證集,是模型開發的關鍵部分。

我們兩次學習英語的失敗使我們更加聰明,現在我們決定使用一個驗證集。我們同時使用莎士比亞的作品和朋友秀(Friends show),因為我們學到了更多的數據,幾乎總能改善模型。這次在我們訓練結束之後,在我們上街之前,我們會評估我們的模型,第一個星期,我們的談話能力還不行,因為我們的語言模型是很糟糕的。但是,這只是驗證集,每次我們犯錯誤,我們都可以調整我們的模型。最後,我們可以與小組保持自己的對話並宣布我們已經準備好了在測試集上進行測試。

再次在現實世界中進行實驗,我們終於成功了!我們的模型現在非常適合溝通,因為我們有一個關鍵要素,即用於模型改善和優化的驗證集。

這個例子可以被簡化。 在數據科學模型中,我們使用了大量的驗證集,否則我們最終會過擬合驗證集。我們將訓練數據分成不同的子集,或者如果我們有大量的數據,我們可以使用多個驗證集。這個例子涵蓋了問題的所有方面,現在,當你聽到過擬合與欠擬合以及偏差與方差時,你就有了一個概念可以理解這個問題以及如何解決這個問題!

數據科學可能看起來很複雜,但它確實是建立在一系列基本模塊上的。 本文中涉及的概念:

過擬合:對訓練數據過度依賴。

欠擬合:不了解訓練數據中的關係。

高方差:模型在訓練數據上發生顯著變化。

高偏差:對模型的假設導致忽略訓練數據。

過擬合和欠擬合會導致測試集的泛化能力差。

模型調整的驗證集可以防止欠擬合和過擬合。

 

數據科學和其他技術領域不應該脫離我們的日常生活。通過用現實世界的例子來解釋概念,我們可以更好地理解這些概念。如果我們了解這個框架,那麼我們可以使用一些技巧來完善。 下一篇文章將提供一個使用圖表和度量指標的例子。

歡迎反饋和批評。你可以通過Twitter @koehrsen_will聯繫到我。

原文連結:

https://towardsdatascience.com/overfitting-vs-underfitting-a-conceptual-explanation-d94ee20ca7f9

人工智慧領域主題知識資料查看獲取【專知薈萃】人工智慧領域26個主題知識資料全集(入門/進階/論文/綜述/視頻/專家等)

同時歡迎各位用戶進行專知投稿,詳情請點擊

誠邀】專知誠摯邀請各位專業者加入AI創作者計劃了解使用專知!

請PC登錄www.zhuanzhi.ai或者點擊閱讀原文,註冊登錄專知,獲取更多AI知識資料

請掃一掃如下二維碼關注我們的公眾號,獲取人工智慧的專業知識!

請加專知小助手微信(Rancho_Fang),加入專知主題人工智慧群交流!

相關焦點

  • 線性擬合與曲線擬合,直接在圖上添加擬合曲線、擬合方程、判別係數...
    1、什麼是線性擬合?線性擬合,顧名思義,針對兩組數據或多組數據,找出一條最佳擬合直線,常用於處理與自變量呈線性關係的因變量。線性擬合是數據處理的常用方法,擬合的目的是對呈現一定數值關係的因變量與自變量找出最佳擬合方程,一般用線性回歸來實現。
  • 擬合優度 - CSDN
    那麼,我們可以這麼理解,即「回歸方程」中的被解釋變量y的各觀測值之間的差異,也是由兩個方面原因造成的:一是由解釋變量x的不同取值造成的;二是由其他隨機因素所造成的。實際上,回歸方程所反映的是:解釋變量x的不同取值變化對被解釋變量y的影響規律,因此其本質上揭示的是上述第一個原因。
  • 梯度下降兩大痛點:陷入局部極小值和過擬合
    這意味著它們傾向於過擬合訓練數據。 有一些手段有助於緩解這些問題,不過並沒有絕對地預防這些問題產生的方法。同時,它也有望導向更好的表現,因為網絡在訓練中斷斷續續的移動應該能讓它更好地避開局部極小值,而使用一小部分數據集當有助於預防過擬合。
  • 線性回歸擬合優度的度量:R平方
    但預測的精度取決於回歸直線對觀測數據的擬合程度。各個觀測點(也就是訓練集的數據)越是緊密圍繞直線,說明直線對觀測數據的擬合程度越好,反之則越差。兩個變量的相關分析中,我們用相關係數來衡量,Pearson 相關係數就是 R 值。這個在《相關係數之Pearson》有過介紹。
  • 擬合優度專題及常見問題 - CSDN
    那麼,我們可以這麼理解,即「回歸方程」中的被解釋變量y的各觀測值之間的差異,也是由兩個方面原因造成的:一是由解釋變量x的不同取值造成的;二是由其他隨機因素所造成的。實際上,回歸方程所反映的是:解釋變量x的不同取值變化對被解釋變量y的影響規律,因此其本質上揭示的是上述第一個原因。
  • ...與曲線擬合,直接在圖上添加擬合曲線、擬合方程、判別係數R2和P值
    1、什麼是線性擬合?線性擬合,顧名思義,針對兩組數據或多組數據,找出一條最佳擬合直線,常用於處理與自變量呈線性關係的因變量。線性擬合是數據處理的常用方法,擬合的目的是對呈現一定數值關係的因變量與自變量找出最佳擬合方程,一般用線性回歸來實現。2、什麼是曲線擬合?
  • 什麼是曲線擬合?
    那麼,從上式可以看出,模態的曲線擬合是用複數,而不是實數,實際上是在傅立葉域進行擬合。第二個方面,與之前的直線或拋物線擬合相比,FRF曲線比它們更複雜,數據點更多。單個FRF有多少條譜線就有多少個數據點,有多少個測量自由度,就存在多少條這樣的FRF曲線,如果同時有兩個或兩個以上的激勵點,還需要乘以激勵點數,這樣,實際用於擬合的數據點是非常龐大的。
  • 擬合優度檢驗_擬合優度檢驗r方公式 - CSDN
    在這篇文章中,我們將看一下 Hosmer-Lemeshow邏輯回歸的擬合優度檢驗。 Hosmer-Lemeshow擬合優度檢驗Hosmer-Lemeshow擬合優度檢驗是基於根據預測的概率或風險將樣本分開。
  • 神經網絡中避免過擬合5種方法介紹
    這段時間裡,我使用過很多神經網絡,比如卷積神經網絡、循環神經網絡、自編碼器等等。我遇到的最常見的一個問題就是在訓練時,深度神經網絡會過擬合。 當模型試著預測噪聲較多的數據的趨勢時,由於模型參數過多、過於複雜,就會導致過擬合。過擬合的模型通常是不精確的,因為這樣的預測趨勢並不會反映數據的真實情況。
  • StatQuest生物統計學 - 線性擬合的R2和p值
    R2是擬合所能解釋的數據波動的比例p值是擬合只是隨機變異的可能性大小上一節StatQuest生物統計學 - 擬合基礎已經講過線性擬合
  • 回歸模型擬合優度檢驗 - CSDN
    在這篇文章中,我們將看一下 Hosmer-Lemeshow邏輯回歸的擬合優度檢驗。 Hosmer-Lemeshow擬合優度檢驗Hosmer-Lemeshow擬合優度檢驗是基於根據預測的概率或風險將樣本分開。具體而言,基於估計的參數值,對於樣本中的每個觀察,基於每個觀察的協變量值計算概率。
  • matlab插值擬合(二)
    1 基於最小二乘法的多項式擬合函數:polyfitp = polyfit(x,y,n),待擬合的多項式為p(1)*x^n + p(2)*x^(n-1) +…+ p(n)*x + p(n+1),其中x是擬合數據的自變量,y是因變量,n是擬合多項式的階數,如當n為1時,即為一次線性擬合。
  • 冪律分布擬合方法
    ,僅僅會返回對於數據的最佳擬合結果,並不會判斷冪律分布模型是否是對數據最佳的擬合模型,我們還需要後續的擬合檢驗。Xmin過大會大幅度的縮減原始數據集,有可能造成數據概率分布與冪律分布之間吻合度較差,另外Xmin過小會因為源數據與模型之間產生根本性的差異,使得分布發生變化,而在這中便是我們需要的Xmin估計。3.    對數據下限估計結果的檢驗4.
  • 最小二乘法:氣溫的曲線擬合和評估(從二次到六次多項式曲線擬合,用RMSE評估擬合效果)
    % 利用polyfit()函數進行2次、3次、4次、5次、6次多項式曲線擬合p2 = polyfit(M,T',2);p3 = polyfit(M,T',3);p4 = polyfit(M,T',4);p5 = polyfit(M,T',5);p6 = polyfit(M,T',6);MM = 1:0.1:12;% 利用polyval()函數計算多項式擬合函數的函數值
  • 應用matlab進行多項式擬合
    採用matlab軟體中的polyfit()函數進行多項式擬合,分別採用5階多項式和9階多項式進行擬合,並對擬合結果進行繪圖對比。程序如下:clc;clear all;x=[0.2 0.3 0.5 0.6 0.8 0.9 1.2 1.3 1.5 1.8];y=[1 2 3 5 6 7 6 5 4 1 ]; p5=polyfit(x,y,5); %5階多項式擬合y5=polyval(p5,x);p5=vpa(poly2sym(p5
  • 科研必備:MATLAB常用數據擬合方法(贈安裝包)
    當需要研究兩個或多個變量之間的關係時,經常要用到曲線擬合。曲線擬合不僅能給出擬合後的關係式,還能用圖形直觀的展現出變量之間的關係。下面小編介紹一下自己常用的擬合方法並分享案例程序。對於比較簡單的數據擬合,小編推薦直接用Excel,Origin或者Matlab的cftool工具箱,這個比較簡單,就不多介紹了,接下來主要分享對於複雜一些的的數據的擬合辦法。
  • origin擬合微生物生長曲線
    對微生物生長數據繪製散點圖,然後擬合曲線。微生物生長曲線,一般呈現出S型。對微生物生長數據繪製散點圖,然後擬合曲線。數據導入origin,本文以originPro 2019b為例。選中數據,左下角,點擊繪製散點圖。
  • 函數模型應用實例 - 利用EXCEL表實現指數函數擬合
    內容章節:函數的應用 - 函數模型的應用實例 - 指數函數的擬合已知模型的數據 x和y;求x和y之間的函數關係。(1)用散點圖觀察x和y的關係;觀察數據不直觀,不容易發現其規律,所以要藉助EXCEL表的散點圖來觀察數據之間的關係。(2)根據散點圖的觀察確定x和y的關係與指數函數比較相似,所以採用指數函數來描述x和y的關係。
  • 如何擬合Elisa標準曲線
    今天和大家分享使用Originpro 2018學習版以及ELISACalc軟體對Elisa標準曲線進行四參數擬合。下圖是標準品濃度(pg/ml)和酶標儀測得的對應OD值:點擊Fit,得到擬合曲線以及擬合公式,R2:
  • python散點圖中如何添加擬合線並顯示擬合方程與R方?
    CDA數據分析師 出品polyfit()函數可以使用最小二乘法將一些點擬合成一條曲線.numpy.polyfit(x, y, deg, rcond=None, full=False, w=None, cov=False)# x:要擬合點的橫坐標# y:要擬合點的縱坐標# deg:自由度.例如:自由度為2,那麼擬合出來的曲線就是二次函數,自由度是3,擬合出來的曲線就是3次函數首先我們先來構造一下需要被擬合的散點