考慮兩個正在努力準備期末考試的大學生。通常,這種準備將包括通過參加前幾年的考試來練習和測試他們的能力。盡管如此,在過去的考試中取得好成績并不能保證他們在重要的時候會出類拔萃。例如,想象一個學生 Elephantine Ellie,她的準備工作完全包括記住前幾年考試問題的答案。即使艾莉被賦予了象象般的記憶力,因此可以完美地回憶起任何以前見過的問題的答案,但當她面對一個新的(以前沒見過的)問題時,她可能還是會僵住) 問題。相比之下,想象另一個學生,Inductive Irene,記憶能力相對較差,但有能力挑選模式。請注意,如果考試真的由前一年的重復問題組成,那么 Ellie 將輕松勝過 Irene。即使 Irene 的推斷模式產生了 90% 的準確預測,它們也永遠無法與 Ellie 的 100% 召回率相提并論。然而,即使考試完全由新題組成,艾琳也可能保持 90% 的平均分。
作為機器學習科學家,我們的目標是發現模式。但是我們如何確定我們真的發現了一個普遍的模式而不是簡單地記住了我們的數據呢?大多數時候,我們的預測只有在我們的模型發現這種模式時才有用。我們不想預測昨天的股價,而是明天的。我們不需要為以前見過的病人識別已經診斷出的疾病,而是需要識別以前沒見過的病人的以前未確診的疾病。這個問題——如何發現泛化的模式——是機器學習的根本問題,可以說是所有統計學的根本問題。我們可以把這個問題看作是一個涵蓋所有科學的更宏大問題的一部分:我們什么時候有理由從特定的觀察到更一般的陳述(波普爾,2005 年)?
在現實生活中,我們必須使用有限的數據集合來擬合模型。該數據的典型規模在不同領域差異很大。對于許多重要的醫學問題,我們只能訪問幾千個數據點。在研究罕見病時,我們可能幸運地接觸到數百種疾病。相比之下,由標記照片組成的最大公共數據集(例如,ImageNet (Deng等人,2009 年))包含數百萬張圖像。而一些未標記的圖像集合,例如 Flickr YFC100M 數據集可能更大,包含超過 1 億張圖像(Thomee等人,2016 年). 然而,即使在這種極端規模下,與 1 百萬像素分辨率下所有可能圖像的空間相比,可用數據點的數量仍然是無限小的。每當我們處理有限樣本時,我們必須牢記這樣的風險,即我們可能會擬合我們的訓練數據,卻發現我們未能發現可概括的模式。
擬合更接近我們的訓練數據而不是底層分布的現象稱為過度擬合,而對抗過度擬合的技術通常稱為正則化方法。雖然沒有什么可以替代對統計學習理論的適當介紹(參見Boucheron等人(2005 年)、Vapnik(1998 年)),但我們將為您提供足夠的直覺來開始學習。我們將在全書的許多章節中重新審視泛化,探索各種模型中泛化的基本原理的已知內容,以及已經發現的啟發式技術(根據經驗)可以對實際感興趣的任務產生改進的泛化。
3.6.1. 訓練誤差和泛化誤差
在標準的監督學習設置中,我們假設訓練數據和測試數據是獨立于相同 分布繪制的。這通常稱為IID 假設。雖然這個假設很強,但值得注意的是,如果沒有任何這樣的假設,我們就會死在水里。為什么我們應該相信從分布中采樣的訓練數據P(X,Y)應該告訴我們如何對不同分布生成的測試數據進行預測 Q(X,Y)?事實證明,實現這樣的飛躍需要強有力的假設P和Q有關系。稍后我們將討論一些允許分布變化的假設,但首先我們需要了解 IID 情況,其中 P(?)=Q(?).
首先,我們需要區分訓練誤差 Remp,這是在訓練數據集上計算的統計量,泛化誤差 R,這是 對基礎分布的期望。您可以將泛化錯誤視為將您的模型應用于從相同的基礎數據分布中提取的無限的附加數據示例流時您會看到的情況。形式上,訓練誤差表示為總和(在3.1 節中使用相同的符號 ):
而泛化誤差表示為一個積分:
問題是,我們永遠無法計算泛化誤差 R確切地。沒有人告訴我們密度函數的精確形式p(x,y). 此外,我們無法對無限的數據點流進行采樣。因此,在實踐中,我們必須通過將我們的模型應用于由隨機選擇的示例組成的獨立測試集來估計 泛化誤差X′ 和標簽y′從我們的訓練集中保留下來的。這包括將與計算經驗訓練誤差相同的公式應用于測試集 X′,y′.
至關重要的是,當我們在測試集上評估我們的分類器時,我們使用的是固定分類器(它不依賴于測試集的樣本),因此估計其誤差只是均值估計的問題。然而,對于訓練集來說,情況并非如此。請注意,我們最終得到的模型明確取決于訓練集的選擇,因此訓練誤差通常是對基礎總體真實誤差的有偏估計。泛化的核心問題是我們何時應該期望我們的訓練誤差接近總體誤差(以及泛化誤差)。
3.6.1.1. 模型復雜度
在經典理論中,當我們擁有簡單的模型和豐富的數據時,訓練誤差和泛化誤差往往很接近。然而,當我們使用更復雜的模型和/或更少的示例時,我們預計訓練誤差會下降但泛化差距會擴大。這不足為奇。想象一個模型類如此富有表現力,以至于對于任何數據集n例如,我們可以找到一組可以完美匹配任意標簽的參數,即使是隨機分配的。在這種情況下,即使我們完美地擬合了我們的訓練數據,我們怎么能得出關于泛化誤差的任何結論呢?就我們所知,我們的泛化誤差可能并不比隨機猜測好多少。
一般來說,在我們的模型類別沒有任何限制的情況下,我們不能僅基于擬合訓練數據就得出我們的模型已經發現任何可概括模式的結論(Vapnik等人,1994 年)。另一方面,如果我們的模型類不能適應任意標簽,那么它一定發現了一種模式。關于模型復雜性的學習理論思想從卡爾波普爾的思想中獲得了一些靈感,卡爾波普爾是一位有影響力的科學哲學家,他形式化了可證偽性標準。根據波普爾的說法,可以解釋任何和所有觀察結果的理論根本不是科學理論!畢竟,如果它不排除任何可能性,它能告訴我們關于這個世界的什么呢?簡而言之,我們想要的是一個無法實現的假設 解釋我們可能做出的任何觀察,但恰好與我們實際上做出的觀察相一致。
現在,究竟是什么構成了模型復雜性的適當概念是一個復雜的問題。通常,具有更多參數的模型能夠適應更多數量的任意分配標簽。然而,這不一定是真的。例如,內核方法在具有無限數量參數的空間中運行,但它們的復雜性由其他方式控制(Scholkopf 和 Smola,2002 年)。一個經常被證明有用的復雜性概念是參數可以采用的值的范圍。在這里,允許參數取任意值的模型會更復雜。我們將在下一節介紹權重衰減時重新討論這個想法,您的第一個實用正則化技術。值得注意的是,比較本質上不同的模型類(例如,決策樹與神經網絡)的成員之間的復雜性可能很困難。
在這一點上,我們必須強調另一個重點,我們將在介紹深度神經網絡時重新討論這一點。當模型能夠擬合任意標簽時,低訓練誤差并不一定意味著低泛化誤差。但是,它也不一定意味著高泛化錯誤!我們只能自信地說,僅憑低訓練誤差不足以證明低泛化誤差。深度神經網絡就是這樣的模型:雖然它們在實踐中泛化得很好,但它們太強大了,無法讓我們僅根據訓練誤差得出很多結論。在這些情況下,我們必須更多地依賴我們的堅持數據來證明事后的概括。holdout 數據(即驗證集)上的錯誤稱為驗證錯誤。
3.6.2. 欠擬合還是過擬合?
當我們比較訓練和驗證錯誤時,我們要注意兩種常見情況。首先,我們要注意訓練誤差和驗證誤差都很大但它們之間有一點差距的情況。
評論