乾貨|簡單理解過擬合及歸納偏好

模型作爲機器學習三要素之一,將是我們初學機器學習時首先遇到的,並不是因爲它有多麼容易,僅僅是因爲它學習機器學習時最先會被我們接觸到的一層。如果說模型是我們用機器學習解決問題的一個工具,那麼算法就是實現這個工具的內部結構,策略就是設計這個工具的工作方式,因此,作爲這個工具本身,模型就會是我們首先接觸到的。

但我們首先要解決的問題是,我們憑什麼用這個工具?我的意思是,機器學習的模型這麼多,什麼邏輯迴歸,決策樹,支持向量機等等等等,這麼多模型設計出來難道在解決每個問題上的性能都會是一樣的嗎?

那顯然不是。事實上,判斷一個模型該在什麼樣的場景使用,這個模型的表現如何都是比想象中的要複雜的多的。

******、********欠擬合和過擬合**

先假設一個問題,假設有如下圖的 7 個樣本點構成的訓練集:

現在我們需要一條線(模型),來描述這幾個點的走勢,然後推斷出如果第 8 個點的橫座標是 8,那麼它(測試集)會出現在上面這幅座標圖的哪個位置。這是一個簡單的迴歸問題,或者說是預測問題。

如果只是用肉眼觀察的話,似乎很簡單,用一個包含簡單參數的模型:

就可以大概擬合出合適的函數圖像。我們只需要讓機器不斷地嘗試着去尋找 a 的具體值,就可以不斷地逼近這個模型下最好的函數圖像。

那麼假設我們現在用了三種帶參數的模型去擬合圖像,分別是:

便可能會擬合出這三種圖像

僅直觀上來講,相信沒有人會認爲,第一幅圖和第三幅圖中的模型擬合的效果會比第二幅圖好,換句話說,由第二幅圖導出的第八個點的座標會比另外兩張圖更爲可信。

這個時候,因爲第一幅圖中的模型完全沒有學習夠訓練集的特徵,我們便稱種情況爲欠擬合。而第三幅圖,則可能因爲對於訓練集的特徵學習的過於完全,導致模型不能夠很好的在測試集上發揮出效果,這個時候我們就稱之爲過擬合

用一個更形象的例子來說明,假設我們要訓練出一個可以判斷圖片中是否有人臉的模型,那麼第一幅圖中的模型就相當於只獲取了人臉的一部分特徵,像是它訓練完之後,就覺得只要有個鼻子的東西就是人臉,於是它就把每一幅有 “鼻子” 的圖片識別爲人臉,而第三張圖,因爲給機器訓練的所有圖片中的人的臉上偏偏都有顆痣,結果這個模型就誤以爲“不僅要有五官,臉上還得有顆痣纔是人臉”,那麼結果就是,臉上沒痣的,這模型就不當人看了。

******、********奧卡姆剃刀準則**

那我們怎麼樣才能找到像第二幅圖表現的那樣最合適的模型呢?一種方法是根據理論去選擇。

根據理論選擇,我們就可以沿用一個帥氣異常的定理的名字 “奧卡姆剃刀準則”,簡單的說,就是 “當幾個模型在訓練集上的效果差不多的時候,選最簡單的那個模型”(“如無必要,勿增實體”)。

但是,事實上奧卡姆剃刀準則並不是選擇模型時雷打不動的金科玉律,因爲在實際問題中,誰也不能保證,第三幅圖中那個看着讓人感覺彆扭的模型預測的第 8 個點的位置就一定是錯的。那誰的正確率高?這還真不能保證,因爲理論上,如果兩個模型在訓練集的擬合效果完全相同時,那麼它們的預測準確率是一樣的,甚至哪怕是讓機器隨便亂猜,如果效果和另外一個很嚴謹的模型一樣,那麼這兩個模型匹配測試集的期望就是一樣的。這個有悖我們直覺的定理被稱爲 “沒有免費的午餐定理”。

對這個定理,我們可以來做一個簡單的證明(之所以是 “簡單”,是因爲嚴格的 NFL 證明會比下面的複雜的多):

假設樣本空間 X 和假設空間 H 都是離散的,令 P(h∣X,ζa) 代表算法ζa 基於訓練數據 X(注意不是 X)產生假設 h 的概率,再令 f 代表我們希望學習的真實目標函數,ζa 的 “訓練集外誤差”(換句話說,在測試機上的誤差),即ζa 在訓練集之外所有樣本上的誤差爲:

其中 I() 爲指示函數,如果 "()" 內的內容爲真該函數值就爲 1,否則爲 0。(在公式裏面那個 I() 是羅馬字母,就是空心的跟在 P(x) 後面的那個)

考慮二分類問題,且真實目標函數可以是任何函數 X→{0,1},函數空間爲 {0,1}∣X∣。對所有可能的 f 按均勻分佈對誤差求和,有:

上式表明,總誤差確實是與學習算法無關的,因而,對於任意兩個學習算法ζa 和ζb,我們都有:

那奧卡姆剃刀準則在這裏是不是沒用呢?那當然是得有用的。假設我們有下圖兩個算法在同一個訓練集上的表現:

算法 A 是那個平滑的圖像,算法 B 是那個扭來扭去的圖像。

******、歸納********偏好**

算法 A 的這種情況我們就稱之爲對這種類型假設的歸納偏好(inductive bias),簡稱偏好。偏好可以看作是學習算法在一個可能很龐大的假設空間(即包含了所有可能的假設(hypothesis)的空間)對假設進行選擇的啓發式或 “價值觀”。一般來說,我們用奧卡姆剃刀(Occam’s razor)準則作爲引導算法確立其偏好的一般性原則。

而且,NFL(沒有免費的午餐,No Free Lunch Theorem)定理實際上是建立在一個相當重要的前提就是真實目標函數 f 服從均勻分佈的情況上的,這意味着,所有的 “問題” 出現的機會是相同的,或者是說,所有的問題同等重要。這是一個很不符合現實的問題,因爲我們只會關注自己正在解決的問題,換句話說,在我們關注的問題上能取得好效果的算法能不能在其他問題上效果也一樣好,和我們沒有關係。

這一段的意思總結就是,對於一個問題而言,沒有最好的 “模型”,只有最“合適” 的模型,那麼如何尋找最合適的模型呢?理論上來說,我們可以對效果最好又最簡單的模型抱有最大的期望。

轉載自: 機器學習算法與自然語言處理

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/7UgQgA_9A8h6iz39GbabjQ