深度學習可能存在過拟合問題——高方差,有兩個解決辦法,一是正則化,另一個是準備更多的資料,但由于無法時時刻刻準備足夠多的訓練資料或者擷取資料的成本高,是以通常使用正則化的方法來避免過拟合。
正則化的主要方法有:
- L2正則化
- dropout
- 資料增廣
- early stopping
- Bagging
- 在樣本中增加噪聲
前面已經介紹了L2正則化,dropout,本篇就其他方法中的early stopping進行介紹。
Early stopping
在訓練過程中,通常希望訓練誤差,代價函數J都在下降,如下圖中training error or J 曲線,另外,還可以繪制驗證機誤差,它可以使驗證機上的分類誤差,或驗證集上的代價函數,邏輯損失或對數損失等,在驗證集上的誤差通常會先呈下降趨勢,然後再某個節點出開始上升,如圖中dev set error 曲線。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN2XjlGcjsCM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPBpFa502Ymp1MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLyIDO1AjMwETM2AzNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
當還未在神經網絡運作太多疊代過程的時候,w參數接近于0,因為随機初始化w值的時候,它的值是較小的随機值。當你開始疊代過程,w的值會變得越來越大。到後面時,w的值已經變得十分大了。是以early stopping要做的就是在中間點停止疊代過程。我們将會得到一個大小中等的w參數,會得到與L2正則化相似的結果,選擇了w參數較小的神經網絡。
Early stopping的缺點:
在機器學習過程中包括幾個步驟,其中有兩步為:
選擇一個算法來優化代價函數J;
防止發生過拟合;
Early stopping的主要缺點就是不能獨立的處理這兩個問題。因為提早停止梯度下降,也就是提着了優化代價函數J ,因為現在不再嘗試降低代價函數J ,是以代價函數J 的值可能不夠小,同時又不希望出現過拟合,但是沒有采取不同的方法來解決這兩個問題,而是用一種方法同時解決兩個問題,這樣做的結果是使要考慮的問題變得更加複雜。