在機器學習表現不佳的原因要麼是過度擬合或欠擬合資料。
機器學習中的逼近目標函式過程
監督式機器學習通常理解為逼近乙個目標函式(f)(f),此函式對映輸入變數(x)到輸出變數(y).
y=f(x)y=f(x)
這種特性描述可以用於定義分類和**問題和機器學習演算法的領域。
從訓練資料中學習目標函式的過程中,我們必須考慮的問題是模型在**新資料時的泛化效能。泛化好壞是很重要的,因為我們收集到的資料只是樣本,其帶有噪音並且是不完全的。
機器學習中的泛化
在in機器學習中,我們描述從訓練資料學習目標函式的學習過程為歸納性的學習。
歸納與特別的樣本中學習到通用的概念有關,而這就是監督式機器學習致力於解決的問題。這與推演不同,其主要是另一種解決問題和尋求從通常的規則中找尋特別的內容。
泛化即是,機器學習模型學習到的概念在它處於學習的過程中時模型沒有遇見過的樣本時候的表現。
好的機器學習模型的模板目標是從問題領域內的訓練資料到任意的資料上泛化效能良好。這讓我們可以在未來對模型沒有見過的資料進行**。
在機器學習領域中,當我們討論乙個機器學習模型學習和泛化的好壞時,我們通常使用術語:過擬合和欠擬合.
過擬合和欠擬合是機器學習演算法表現差的兩大原因。
統計擬合
在統計學中,擬合指的是你逼近目標函式的遠近程度。
這個術語同樣可以用於機器學習中,因為監督式機器學習演算法的目標也是逼近乙個未知的潛在對映函式,其把輸入變數對映到輸出變數。
統計學通常通過用於描述函式和目標函式逼近的吻合程度來描述擬合的好壞。
這類理論中的一些在機器學習中也是有用的(例如,計算殘差),但是一些技巧假設我們已經知道了我們要逼近的函式。這和機器學習的場景就不同了。
如果我們已經知道了目標函式的形式,我們將可以直接用它來做**,而不是從一堆有噪音的資料中把它費力的學習出來。
機器學習中的過擬合
過擬合指的是referstoa模型對於訓練資料擬合程度過當的情況。
當某個模型過度的學習訓練資料中的細節和噪音,以至於模型在新的資料上表現很差,我們稱過擬合發生了。這意味著訓練資料中的噪音或者隨機波動也被當做概念被模型學習了。而問題就在於這些概念不適用於新的資料,從而導致模型泛化效能的變差。
過擬合更可能在無引數非線性模型中發生,因為學習目標函式的過程是易變的具有彈性的。同樣的,許多的無引數器學習演算法也包括限制約束模型學習概念多少的引數或者技巧。
例如,決策樹就是一種無引數機器學習演算法,非常有彈性並且容易受過擬合訓練資料的影響。這種問題可以通過對學習過後的樹進行剪枝來解決,這種方法就是為了移除一些其學習到的細節。
機器學習中的欠擬合
欠擬合指的是模型在訓練和**時表現都不好的情況。
乙個欠擬合的機器學習模型不是乙個良好的模型並且由於在訓練資料上表現不好這是顯然的。
欠擬合通常不被討論,因為給定乙個評估模型表現的指標的情況下,欠擬合很容易被發現。矯正方法是繼續學習並且試著更換機器學習演算法。雖然如此,欠擬合與過擬合形成了鮮明的對照。
機器學習中好的擬合
理想上,你肯定想選擇乙個正好介於欠擬合和過擬合之間的模型。
這就是我們學習的目標,但是實際上很難達到。
為了理解這個目標,我們可以觀察正在學習訓練資料機器學習演算法的表現。我們可以把這個過程劃分為分別是訓練過程和測試過程。
隨著時間進行,演算法不斷地學習,模型在訓練資料和測試資料上的錯誤都在不斷下降。但是,如果我們學習的時間過長的話,模型在訓練資料上的表現將繼續下降,這是因為模型已經過擬合並且學習到了訓練資料中的不恰當的細節以及噪音。同時,測試資料集上的錯誤率開始上公升,也即是模型的泛化能力在下降。
這個完美的臨界點就處於測試集上的錯誤率開始上公升時,此時模型在訓練集和測試集上都有良好的表現。
你可以用你自己喜愛的機器學習演算法來實踐這個實驗。而在實踐中這通常是無用的,因為在測試資料上運用這個技巧來選擇訓練停止的時機,這意味著這個測試集對於我們並不是「不可見的」或者單獨的衡量標準。資料的一些知識(許多有用的知識)已經洩露到了訓練過程。
通常有兩種手段可以幫助你找到這個完美的臨界點:重取樣方法和驗證集方法。
如何限制過擬合
過擬合和欠擬合可以導致很差的模型表現。但是到目前為止大部分機器學習實際應用時的問題都是過擬合。
過擬合是個問題因為訓練資料上的機器學習演算法的評價方法與我們最關心的實際上的評價方法,也就是演算法在位置資料上的表現是不一樣的。
當評價機器學習演算法時我們有兩者重要的技巧來限制過擬合:
使用重取樣來評價模型效能
保留乙個驗證資料集
最流行的重取樣技術是k折交叉驗證。指的是在訓練資料的子集上訓練和測試模型k次,同時建立對於機器學習模型在未知資料上表現的評估。
驗證集只是訓練資料的子集,你把它保留到你進行機器學習演算法的最後才使用。在訓練資料上選擇和調諧機器學習演算法之後,我們在驗證集上在對於模型進行評估,以便得到一些關於模型在未知資料上的表現的認知。
對於機器學習,使用交叉驗證在未知資料上進行驗證模型效能是一種良好的標準。如果你擁有資料,使用驗證集也是一種良好的實踐。
維基百科上的泛化
維基百科上過擬合
維基百科上的歸納推理
維基百科上的感應問題
quora上的過擬合的直觀解釋
總結 本文中你學習了機器學習就是以感應方法來解決問題。
你學習了泛化是一種關於模型學習到的知識在未知資料上表現程度的概念描述。最後你學習了機器學習中的術語:泛化中的過擬合與欠擬合:
過擬合:在訓練資料上表現良好,在未知資料上表現差。
欠擬合:在訓練資料和未知資料上表現都很差
機器學習演算法中的過擬合與欠擬合
在機器學習表現不佳的原因要麼是過度擬合或欠擬合資料。監督式機器學習通常理解為逼近乙個目標函式 f f 此函式對映輸入變數 x 到輸出變數 y y f x y f x 這種特性描述可以用於定義分類和 問題和機器學習演算法的領域。從訓練資料中學習目標函式的過程中,我們必須考慮的問題是模型在 新資料時的泛...
機器學習演算法中的過擬合與欠擬合
在機器學習表現不佳的原因要麼是過度擬合或欠擬合資料。監督式機器學習通常理解為逼近乙個目標函式 f f 此函式對映輸入變數 x 到輸出變數 y y f x y f x 這種特性描述可以用於定義分類和 問題和機器學習演算法的領域。從訓練資料中學習目標函式的過程中,我們必須考慮的問題是模型在 新資料時的泛...
機器學習(十六)欠擬合與過擬合
問題 訓練資料訓練的很好啊,誤差也不大,為什麼在測試集上面有問題呢?當演算法在某個資料集當 現這種情況,可能就出現了過擬合現象。那麼是什麼原因導致模型複雜?線性回歸進行訓練學習的時候變成模型會變得複雜,這裡就對應前面再說的線性回歸的兩種關係,非線性關係的資料,也就是存在很多無用的特徵或者現實中的事物...