機器學習--神經網絡算法系列--過擬合(overfitting)

只願這次貼的圖片不會丟失。。。生氣

    機器學習的主要挑戰是我們的算法必須能夠在先前未觀測的新輸入上表現良好,而不只是在訓練集上表現良好。在先前未觀測到的輸入上表現良好的能力被稱爲 generalization)。
1、概念

     通常情況下,當我們訓練機器學習模型時,我們可以使用某個訓練集,在訓練集上計算一些被稱爲 訓練誤差training error的度量誤差,目標是降低訓練誤差。機器學習和優化不同的地方在於,我們也希望 泛化誤差generalization error)(也被稱爲 測試誤差test error))很低。泛化誤差被定義爲新輸入的誤差期望。這裏,期望的計算基於不同的可能輸入,這些輸入採自於系統在現實中遇到的分佈。

    通常,我們度量模型在訓練集中分出來的 測試集test set) 樣本上的性能,來評估機器學習模型的泛化誤差。
在我們的線性迴歸示例中,我們通過最小化訓練誤差來訓練模型,

但是我們真正關注的是測試誤差

評估機器學習模型的泛化誤差。



    訓練集和測試集數據通過數據集上被稱爲 數據生成過程data generating process)的概率分佈生成。通常,我們會做一系列被統稱爲 獨立同分布假設

    當然,當我們使用機器學習算法時,我們不會提前固定參數,然後從數據集中採樣。我們會在訓練集上採樣,然後挑選參數去降低訓練集誤差,然後再在測試集上採樣。在這個過程中,測試誤差期望會大於或等於訓練誤差期望。以下是決定機器學習算法效果是否好的因素:

1、降低訓練誤差;2、縮小訓練誤差和測試誤差的差距。

而這兩因素對應的兩個挑戰即爲欠擬合(underfitting)過擬合(overfitting)

通過調整模型的容量,我們可以控制模型是否偏向於過擬合或欠擬合。,容量低的模型可能會難以擬合訓練集,容量高的模型可能會過擬合,因爲記住了不適用於測試集的訓練集性質。

對於一系列點的擬合,我們可以採用線性擬合及多項式擬合,圖分別採用線性(模型容量小)、二次式項式(模型容量適中)及9次多項式擬合(模型容量高)

其擬合的結果如下:


上圖左爲一次線性擬合(欠擬合),中爲二次多項式擬合(泛化很好,沒有明顯的欠擬合及過擬合)而右圖則爲9次多項式的擬合結果(過擬合,對於現有數據擬合的非常好,幾乎零訓練誤差,但對於新的數據點可能會造成非常大的誤差)

擬合誤差與容量之間的關係


奧卡姆剃刀:該原則指出,在同樣能夠解釋已知觀測現象的假設中,我們應該挑選 ‘‘最簡單 ’’ 的那一個。這個想法是在 20 世紀,由統計學習理論創始人形式化並精確化的 (Vapnik and Chervonenkis, 1971; Vapnik, 1982; Blumer et al., 1989;Vapnik, 1995)



2、數據規模及噪音

我們可以理解地簡單些:有噪音時,更復雜的模型會盡量去覆蓋噪音點,即對數據過擬合!這樣,即使訓練誤差很小(接近於零),由於沒有描繪真實的數據趨勢,測試誤差反而會更大。即噪音嚴重誤導了我們的假設。

數據規模一定時,隨機噪音越大,或者確定性噪音越大(即目標函數越複雜),越容易發生overfitting。總之,容易導致overfitting 的因素是:數據過少;隨機噪音過多;確定性噪音過多;假設過於複雜(excessive power)。

如果我們的假設空間不包含真正的目標函數f(X)(未知的),那麼無論如何H 無法描述f(X) 的全部特徵。這時就會發生確定性噪音。它與隨機噪音是不同的。
我們可以類比的理解它:在計算機中隨機數實際上是“僞隨機數”,是通過某個複雜的僞隨機數算法產生的,因爲它對於一般的程序都是雜亂無章的,我們可以把僞隨機數當做隨機數來使用。確定性噪音的哲學思想與之類似


3,解決過擬合問題
對應導致過擬合發生的幾種條件,我們可以想辦法來避免過擬合。
(1) 假設過於複雜(excessive dvc) => start from simple model
(2) 隨機噪音 => 數據清洗
(3) 數據規模太小 => 收集更多數據,或根據某種規律“僞造”更多數據
正規化(regularization) 也是限制模型複雜度的,在下一講介紹。

3.1 數據清洗(data ckeaning/Pruning)
將錯誤的label 糾正或者刪除錯誤的數據。

3.2 Data Hinting: “僞造”更多數據, add "virtual examples"
例如,在數字識別的學習中,將已有的數字通過平移、旋轉等,變換出更多的數據。


3.3 交叉驗證

在訓練的過程中驗證在測試集上的正確率,當正確率不再有明顯提升時停止訓練

3.4,DropOut

Dropout每次扔到一半隱藏層的神經元, 相當於我們在不同的神經網絡上訓練了,減少了神經元的依賴性, 也就是每個神經元不能依賴於某個或者某幾個其他神經元, 迫使神經網聚學習更加和其他神經元聯合起來的更加健碩的特性。對於以前MNIST最高的accuracy是98.4%, 利用dropout, 提高到98.7%

3.5,Regularization

Regularization的Cost偏向於讓神經網絡學習比較小的權重w, 降低高次項的影響,類似降低模型容量. 





奧卡姆剃刀:該原則指出,在同樣能夠解釋已知觀測現象的假設中,我們應該挑選 ‘‘最簡單 ’’ 的那一個。這個想法是在 20 世紀,由統計學習理論創始人形式化並精確化的 (Vapnik and Chervonenkis, 1971; Vapnik, 1982; Blumer et al., 1989;Vapnik, 1995)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章