0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

解析訓練集的過度擬合與欠擬合

nlfO_thejiangme ? 2018-02-07 17:00 ? 次閱讀

在正式講這兩個概念之前我們先來看一個故事:假設你想要習英語但之前對英語一無所知,不過曾聽說過莎士比亞是一個位偉大的英國作家。你想要學英語的話,當然是將自己泡在一個圖書館中,背誦他的相關作品,用他的作品學習英語。一年的學習結束后,你走出圖書館,來到了紐約,并向你看到的第一個人打了聲招呼:“嗨,愿光明與你同在!” 那人用奇怪的眼光看著你,嘴里嘟囔著“神經(jīng)病”。你故作鎮(zhèn)定地又試了一遍:“親愛的夫人,今天是何等的優(yōu)雅呢?” 你再次收獲了失敗,還把那個人嚇跑了。當你三次嘗試都失敗后,你心煩意亂的說道:“啊,此乃何等之遺憾,何等之悲傷!”確實很遺憾,因為你犯下了一個建模當中最基礎的錯誤之一:對訓練集的過度擬合。

在數(shù)據(jù)科學學科中, 過度擬合(overfit)模型被解釋為一個從訓練集(training set)中得到了高方差(variance)和低偏差(bias),導致其在測試數(shù)據(jù)中得到低泛化(generalization)的模型。為了更好地理解這個復雜的定義,我們試著將它理解為去嘗試學習英語的過程。我們要構建的這一模型代表了如何用英語交流。把莎士比亞的所有作品作為訓練數(shù)據(jù),把在紐約的對話作為測試集(testing set)。如果我們把社會認可程度來衡量這一模型的表現(xiàn)的話,那么事實表明我們的模型將不能夠有效推廣到測試集上。但是,模型中的方差和偏差又是什么呢?

方差可以理解為為了響應訓練集時模型所產(chǎn)生的變化。若我們只是單純的去記憶訓練集,我們的模型將具有高方差:它高度取決于訓練集數(shù)據(jù)。如果我們讀的所有作品來自J.K. 羅琳 而不是莎士比亞, 這個模型將變得完全不同。當這樣一個具有高方差的模型應用到一個新的測試集上時,這個模型將無法獲得很好的表現(xiàn)。因為在沒有訓練集數(shù)據(jù)的情況下模型將迷失方向。就好比一個學生只是單純復習了教科書上列出的問題,但這卻無法幫助他解決一些實際的問題。

偏差(bias),作為與方差相對的一個概念,表示了我們基于數(shù)據(jù)所做出的假設的強度(有效性)。在前文我們嘗試學習英語的例子中,我們基于一個沒有初始化的模型?,并把作家的作品當作學習語言的教科書。低偏差看似是一個正向的東西,因為我們可能會有這樣的想法:我們并不需要去帶著傾向性思維看待我們的數(shù)據(jù)。然而我們卻需要對數(shù)據(jù)表達的完整性持懷疑態(tài)度。因為任何自然處理流程都會生成噪點,并且我們無法自信地保證我們的訓練數(shù)據(jù)涵蓋了所有這些噪點。所以我們在開始學習英語之前需要明白,我們無法通過死記硬背莎士比亞的名著來熟練掌握英語。

總體來說,偏差關系到數(shù)據(jù)被忽略的程度,而方差則關系到模型和數(shù)據(jù)的依賴程度。在所有的建模過程中,偏差和方差之間永遠存在著一個權衡問題,并且需要我們針對實際情況找到一個最佳的平衡點。偏差和方差這兩個概念可應用于任何從簡單到復雜的模型算法,對于數(shù)據(jù)科學家來說,它們至關重要。

剛才我們了解到了過度擬合的模型具有高方差、低偏差的特點。那么相反的情況:一個低方差、高偏差的模型又會是什么樣呢?這被稱作欠擬合。相較于之前與訓練數(shù)據(jù)緊密貼合的模型,一個欠擬合模型忽視了從訓練數(shù)據(jù)中獲得的信息,進而使其無法找到輸入和輸出數(shù)據(jù)之間的內在聯(lián)系。讓我們用之前嘗試學習英語的例子來解釋它,這一次我們試著去對之前我們用到的模型做出一些假設,并且我們改成使用《老友記》全集作為這一次學習英語的訓練數(shù)據(jù)。為了避免我們之前犯過的錯誤,這次我們提前作出假設:只有那些以最常用的詞--the, be, to, of, and, a—為開頭的句子才是重要的。當學習的時候,我們不去考慮別的句子,并且我們相信這能夠構建更有效的模型。

經(jīng)過了漫長的訓練后,我們又再一次站在了紐約的大街上。這一次,我們的表現(xiàn)相對好了一點點,但是別人依然無法聽懂我們,最后,我們還是以失敗告終。盡管我們學習到了一些英語知識,并且能夠組織一些數(shù)量有限的句子,由于從訓練數(shù)據(jù)上造成的高偏差,我們無法從中學到英語的基礎結構和語法。雖然這個模型沒有受到高方差帶來的影響,但是相對于之前的嘗試來說,顯得又太矯枉過正,擬合不充分!

解析訓練集的過度擬合與欠擬合

對數(shù)據(jù)的過度關注會導致過度擬合,對數(shù)據(jù)的忽視又會導致欠擬合,那么我們到底該怎么辦呢?一定有一個能找到最佳平衡點的辦法!值得慶幸的是,在數(shù)據(jù)科學中,有一個很好的解決方案,叫作“驗證(Validation)”。用上面的例子來說,我們只使用了一個訓練集和一個測試集。這意味著我們無法在實戰(zhàn)前知道我們的模型的好壞。最理想的情況是,我們能夠用一個模擬測試集去對模型進行評估,并在真實測試之前對模型進行改進。這個模擬測試集被稱作驗證集(validation set),是模型研發(fā)工作中非常關鍵的部分。

兩次失敗的英語學習過后,我們學聰明了,這一次我們決定使用一個測試集。我們這次同時使用Shakespeare的作品和《老友記》,因為我們從過去的經(jīng)驗中認識到越多的數(shù)據(jù)總是能夠改善這個模型。不同的是,在這次訓練結束以后,我們不直接走到街上,我們先找到一群朋友,每周和他們相聚,并以用英語來和他們交談的形式來評估我們的模型。剛開始的第一周,由于我們的英語水平還很差,我們很難融入到對話當中。然而這一切僅僅是被模擬成一個驗證集,每當我們意識到錯誤后,就能夠調整我們的模型。最后,當我們能夠適應并掌控與朋友們的對話練習時,我們相信已經(jīng)是準備好面對測試集的時候了。于是,我們再一次大膽的走了出去,這一次我們成功了!我們非常適應在真實的情況下和別人交談,這得益于一個非常關鍵的因素:驗證集,是它改善并優(yōu)化了我們的模型。

英語學習只是一個相對簡易的例子。在眾多真實的數(shù)據(jù)科學模型中,考慮到在一個驗證集上出現(xiàn)過度擬合的可能性,通常會使用到非常多的驗證集!這樣的解決辦法稱之為交叉驗證(corss-validation),這個方法要求我們將訓練集拆分成多個不同的子集,或者在數(shù)據(jù)足夠多的條件下來使用多個驗證集。交叉驗證法這一個概念涵蓋著問題的方方面面?,F(xiàn)在當你碰到一個和過度擬合 vs. 欠擬合,偏差 vs. 方差這幾個概念有關的問題的時候,你腦海中將會浮現(xiàn)出一個概念框架,這個框架將有助于你去理解并且解決這個問題!

數(shù)據(jù)科學看似復雜,但它其實都是通過一系列基礎的模塊搭建而成的。其中的一些概念已經(jīng)在這篇文章中提到過,它們是:

過度擬合:過度依賴于訓練數(shù)據(jù)

欠擬合:無法獲取訓練數(shù)據(jù)中的存在的關系

高方差:一個模型基于訓練數(shù)據(jù)產(chǎn)生了劇烈的變化

高偏差:一個忽視了訓練數(shù)據(jù)的模型假設

過度擬合和欠擬合造成對測試集的低泛化性

使用驗證集對模型進行校正可以避免實際過程中造成的欠擬合和過度擬合

數(shù)據(jù)科學和其它科技領域其實與我們的日常生活息息相關。在一些與現(xiàn)實有關的例子的幫助下,我們可以很好地解釋并理解這些概念。一旦我們了解了一個框架,我們就能夠用技術來處理所有的細節(jié),從而解決難題。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 偏差
    +關注

    關注

    0

    文章

    5

    瀏覽量

    7515
  • 機器學習
    +關注

    關注

    66

    文章

    8325

    瀏覽量

    132194
  • 方差
    +關注

    關注

    0

    文章

    7

    瀏覽量

    6472

原文標題:機器學習模型初印象:一文區(qū)分什么是「過擬合」和「欠擬合」?

文章出處:【微信號:thejiangmen,微信公眾號:將門創(chuàng)投】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    深層神經(jīng)網(wǎng)絡模型的訓練:過擬合優(yōu)化

    為了訓練出高效可用的深層神經(jīng)網(wǎng)絡模型,在訓練時必須要避免過擬合的現(xiàn)象。過擬合現(xiàn)象的優(yōu)化方法通常有三種。
    的頭像 發(fā)表于 12-02 14:17 ?2658次閱讀
    深層神經(jīng)網(wǎng)絡模型的<b class='flag-5'>訓練</b>:過<b class='flag-5'>擬合</b>優(yōu)化

    機器學習基礎知識 包括評估問題,理解過擬合擬合以及解決問題的技巧

    本章涵蓋了以下主題: · 分類和回歸之外的其他類型的問題; · 評估問題,理解過擬合、擬合,以及解決這些問題的技巧; · 為深度學習準備數(shù)據(jù)。 請記住,在本章中討論的大多數(shù)技術都是機器學習和深度
    發(fā)表于 07-12 09:28 ?898次閱讀
    機器學習基礎知識 包括評估問題,理解過<b class='flag-5'>擬合</b>、<b class='flag-5'>欠</b><b class='flag-5'>擬合</b>以及解決問題的技巧

    R-sq越高代表模型擬合越好?

    多高”的答案就是:視情況而定。 盲目追求高R-sq的模型很容易掉入過度擬合的陷阱,這一點在大數(shù)據(jù)建模中經(jīng)常發(fā)現(xiàn)。 什么是好的模型? 我們在建模的時候最不愿意看到兩種情況:過度擬合
    的頭像 發(fā)表于 03-07 14:13 ?1660次閱讀
    R-sq越高代表模型<b class='flag-5'>擬合</b>越好?

    matlab應用-曲線擬合工具箱擬合曲線模型

    =[110.3323148.7328178.064202.8258033224.7105244.5711262.908280.0447296.204311.5475]輸入y=[5101520253035404550]啟動曲線擬合工具箱》cftool進行曲線擬合工具箱界面點
    發(fā)表于 11-03 15:31

    擬合擬合以及模型的判斷

    python-學習曲線,判斷過擬合,擬合
    發(fā)表于 04-24 10:23

    模型的過擬合擬合總體解決方案

    15 模型的過擬合 & 擬合 & 總體解決方案
    發(fā)表于 05-15 07:49

    深度學習中過擬合/擬合的問題及解決方案

    的數(shù)據(jù)可以對未來的數(shù)據(jù)進行推測與模擬,因此都是使用歷史數(shù)據(jù)建立模型,即使用已經(jīng)產(chǎn)生的數(shù)據(jù)去訓練,然后使用該模型去擬合未來的數(shù)據(jù)。 在我們機器學習和深度學習的訓練過程中,經(jīng)常會出現(xiàn)過擬合
    發(fā)表于 01-28 06:57

    Matlab數(shù)據(jù)擬合基礎函數(shù)的使用

    Matlab數(shù)據(jù)擬合基礎函數(shù)的使用,教你如何擬合兩個未知量
    發(fā)表于 11-10 16:45 ?0次下載

    萊特準則的橢圓擬合優(yōu)化算法

    最小的LS法對待擬合曲線進行橢圓擬合;其次,將待擬合曲線上的點與LS法擬合的橢圓的代數(shù)距離作為樣本點,在驗證該樣本點
    發(fā)表于 12-07 16:57 ?1次下載
    萊特準則的橢圓<b class='flag-5'>擬合</b>優(yōu)化算法

    擬合和過擬合是什么?解決方法總結

    擬合是指模型在訓練上表現(xiàn)很好,到了驗證和測試階段就大不如意了,即模型的泛化能力很差。
    的頭像 發(fā)表于 01-29 17:48 ?3.1w次閱讀
    <b class='flag-5'>欠</b><b class='flag-5'>擬合</b>和過<b class='flag-5'>擬合</b>是什么?解決方法總結

    區(qū)塊鏈分析中的過度擬合還有什么挑戰(zhàn)

    當與區(qū)塊鏈數(shù)據(jù)一起使用時,機器學習模型往往會過擬合。
    發(fā)表于 02-05 10:35 ?595次閱讀
    區(qū)塊鏈分析中的<b class='flag-5'>過度</b><b class='flag-5'>擬合</b>還有什么挑戰(zhàn)

    模型訓練擬合的分類和表現(xiàn)

    如何判斷過擬合呢?我們在訓練過程中會定義訓練誤差,驗證誤差,測試誤差(泛化誤差)。訓練誤差總
    的頭像 發(fā)表于 02-12 15:49 ?4505次閱讀
    模型<b class='flag-5'>訓練</b><b class='flag-5'>擬合</b>的分類和表現(xiàn)

    深度學習中過擬合、擬合問題及解決方案

    如何判斷過擬合呢?我們在訓練過程中會定義訓練誤差,驗證誤差,測試誤差(泛化誤差)。訓練誤差總
    發(fā)表于 01-22 07:44 ?6次下載
    深度學習中過<b class='flag-5'>擬合</b>、<b class='flag-5'>欠</b><b class='flag-5'>擬合</b>問題及解決方案

    OpenCV中的直線擬合

    給出多個點,然后根據(jù)這些點擬合出一條直線,這個最常見的算法是多約束方程的最小二乘擬合,如下圖所示:
    的頭像 發(fā)表于 08-26 10:36 ?3114次閱讀

    擬合、泛化和偏差-方差權衡

    在機器學習中,過度擬合是當模型變得過于復雜并開始過于接近訓練數(shù)據(jù)時發(fā)生的常見問題。這意味著該模型可能無法很好地推廣到新的、看不見的數(shù)據(jù),因為它基本上記住了訓練數(shù)據(jù),而不是真正學習底層模
    發(fā)表于 06-12 09:31 ?431次閱讀
    過<b class='flag-5'>擬合</b>、泛化和偏差-方差權衡