泛化能力,欠擬合,過擬合,不收斂和奧卡姆剃刀原則


我們在這里介紹幾個機器學習中經常可以聽到的幾個名詞,他們就是泛化能力,欠擬合,過擬合,不收斂和奧卡姆剃刀原則。

泛化能力(generalization ability)是指一個機器學習算法對於沒有見過的樣本的識別能力。我們也叫做舉一反三的能力,或者叫做學以致用的能力。

舉個例子,通過學習,小學生就可以熟練的掌握加減法,那么他們是怎么做到的呢?第一步學生們先感性的知道了在有一個蘋果的基礎上再拿來一個蘋果的話就是一種加法,第二步知道個數可以用阿拉伯數字抽象的表示,到了0到9這十個數字和他們的抽象含義,第三步學習十以內的加減法,第四步推廣到了多位數的加減法。

我們訓練一個機器學習算法也是如此,通過感性的告訴機器一個加上一個等於兩個,之后算法通過自己的學習,推廣計算多位數的加減法,多位數的加減法是無窮多個的,如果機器在不斷的測試中都能夠算對,那么我們認為機器已經總結出了加法的內部規律並且能夠學以致用,如果說機器只會計算你給機器看過的比如3+3=6,而不會計算沒有教過的8+9=17,那么我們認為機器只是死記硬背,並沒有學以致用的能力,也就是說泛化能力非常的低,同時我們也把這種現象叫做這個算法過擬合(over-fitting)了。(過擬合是一種分類器會發生的現象,而泛化能力可以理解為對分類器的一種性能的評價)

過擬合通常可以理解為,模型的復雜度要高於實際的問題,所以就會導致模型死記硬背的記住,而沒有理解背后的規律。就比如說人腦要比唐詩復雜得多,即使不理解內容,我們也能背下來,但是理解了內容和寫法對於我們理解記憶其他唐詩有好處,如果死記硬背那么就僅僅記住了而已。

欠擬合(under-fitting)是和過擬合相對的現象,可以說是模型的復雜度較低,沒法很好的學習到數據背后的規律。就好像開普勒在總結天體運行規律之前,他的老師第谷記錄了很多的運行數據,但是都沒法用數據去解釋天體運行的規律並預測,這就是在天體運行數據上,人們一直處於欠擬合的狀態,只知道記錄過的過去是這樣運行的,但是不知道道理是什么。

不收斂一般是形容一些基於梯度下降算法的模型,收斂是指這個算法有能力找到局部的或者全局的最小值,(比如找到使得預測的標簽和真實的標簽最相近的值,也就是二者距離的最小值),從而得到一個問題的最優解。如果說一個機器學習算法的效果和瞎蒙的差不多那么基本就可以說這個算法沒有收斂,也就是根本沒有去學習。

擬合, 欠擬合, 過擬合與不收斂
我們再通過上面這張圖回顧一下剛才介紹的幾個概念,我們希望算法學習到處一條線,可以描述我們的數據,我們可以直觀的感到幾種情況的不同表現。我博客里面的所有圖片都是自己用ppt慢慢畫出來的,可能會有些表述不准確的地方,如果有的話歡迎大家積極指出我會去改圖的。

最后一定有人會問了,我覺得過擬合的那張圖也很棒呀,非常完美的學習到了各種情況,但是我要說了,實際情況數據中是會有噪聲現象的,一個模型完美的學習出了一些隨機的噪聲並不是一個好事情,噪聲意味着可以正也可以負,那么在測試數據中噪聲變成負的了,那么模型的偏差就會非常大了。

所以評價一個模型的好壞就要引入奧卡姆剃刀原則(Occam’s Razor) ,這個原則是說能用簡單的方法完成任務的就盡量不要復雜,在這里就是能用簡單的模型去擬合就不用復雜的能把噪聲都刻畫出來的方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM