神經網路與深度學習 筆記5 過度擬合和正則化

2021-08-04 06:11:40 字數 2748 閱讀 9185

1.過擬合

訓練資料集上的代價表現是越來越好的,測試集上的代價越來越差。訓練資料上的分類準確率一直在提公升接近 100%,而測試準確率僅僅能夠達到 82.27%。

網路幾乎是在單純記憶訓練集合,而沒有對數字本質進行理解能夠泛化到測試資料集上。

避免過擬合的方法:early stopping,l1、l2正則化,dropout, 人為擴充套件訓練資料

2. early stopping

資料集分為三部分:training_data、validation_data,testing_data。如果設定超引數是基於 test_data 的話, 會得到過度擬合於 test_data 的超引數。借助 validation_data 來克服這個問題,在訓練過程中,用validation_data來確定一些超引數(如迭代期epoch, 學習速率η)。然後一旦獲得了想要的超引數,最終我們就使用 test_data 進行準確率測量。

在每個迭代期的最後都計算在validation_data上的分類準確率。一旦分類準確率已經飽和,就停止訓練。這個策略被稱為提前停止(early stopping)。

3. l2正則化(權重衰減)

正則化的交叉熵:

正則化的二次代價函式:

正則化可以當做一種尋找小的權重和最小化原始的代價函式之間的折中。這兩部分之前相對的重要性就由 λ 的值來控制了:λ 越小,就偏向於最小化原始代價函式,反之,傾向於小的權重。

將隨機梯度下降演算法應用在乙個正則化的神經網路上,對上式求偏導數得:

偏置的偏導數不變化, 偏置的梯度下降學習規則不會發生變化,權重的學習規則:

和通常的梯度下降學習規則相同,除了通過乙個因子1−η

λn重新調整了權重w。這種調整被稱為權重衰減,因為它使得權重變小。

隨機梯度下降的正則化學習規則:

小的權重在某種程度上,意味著更低的複雜性,也就對資料給出了一種更簡單卻更強大解釋。正則化的神經網路常常能夠比非正則化的泛化能力更強, 這只是一種實驗事實。

有乙個大的偏置並不會像大的權重那樣會讓神經元對輸入太過敏感。所以我們不需要對大的偏置所帶來的學習訓練資料的雜訊太過擔心。同時,允許大的偏置能夠讓網路更加靈活。因為,大的偏置讓神經元更加容易飽和,這有時候是我們所要達到的效果。所以,我們通常不會對偏置進行正則化。

4. l1 正則化

這個方法是在未正則化的代價函式上加上乙個權重絕對值的和:

計算導數:

其中 sgn(w) 就是 w 的正負號,即 w 是正數時為 +1,而 w 為負數時為 −1。

對 l1 正則化的網路進行更新的規則就是:

在 l1 正則化中,權重通過乙個常量向 0 進行縮小。在 l2 正則化中,權重通過乙個和 w 成比例的量進行縮小的。所以,當乙個特定的權重絕對值 |w| 很大時,l1 正則化的權重縮小得遠比 l2 正則化要小得多。相反,當乙個特定的權重絕對值 |w| 很小時,l1 正則化的權重縮小得要比 l2 正則化大得多。最終的結果就是:l1 正則化傾向於聚集網路的權重在相對少量的高重要度連線上,而其他權重就會被驅使向 0 接近。

5. dropout

和 l1、l2 正則化不同,dropout技術並不依賴對代價函式的修改,而是改變了網路本身。

基本的工作機制:

隨機(臨時)地刪除網路中的一半的隱藏神經元,輸入層和輸出層的神經元保持不變

那些臨時被刪除的神經元,用虛圈表示在圖中:

在乙個小批量資料上按照反向傳播演算法更新修改後的神經網路中的權值。(虛線不更新)

然後重複這個過程,首先重置dropout的神經元,然後選擇乙個新的隨機的隱藏神經元的子集進行刪除,估計對乙個不同的小批量資料的梯度,然後更新權重和偏置。

當dropout掉不同的神經元集合時,有點像在訓練不同的神經網路。dropout過程就如同大量不同網路的效果的平均。用這種平均法幫助消除過度擬合。

6. 人為擴充套件訓練資料

將原始旋轉乙個小角度

在資料中新增隨機雜訊

一些有彈性的畸變

擷取原始的一部分

神經網路與深度學習筆記

1 代價函式 在當前小批量資料中的所有訓練樣本 2 改進神經網路的學習方法 更好的代價函式的選擇 交叉熵代價函式 四種 規範化 方法 l1和l2規範化,棄權和訓練資料的人為擴充套件,讓我們的網路在訓練集之外的資料上更好地泛化。3 在錯誤不是很好地定義時,學習過程會變得很緩慢。但在犯錯時也存在學習緩慢...

神經網路與深度學習筆記 3 2神經網路表示

隱藏層 訓練集中可以看到輸入輸出值,但看不到隱藏層值。將輸入輸出用a表示也可以,a表示啟用的意思,意味著網路不同層的值會傳遞給後一層。上述神經網路雖然包含輸入層 隱藏層 輸出層三層,但在文獻中我們稱之為雙層神經網路,其中隱藏層是第一層,輸出層是第二層。隱藏層 輸出層是有引數的,隱藏層有兩個引數w 1...

深度學習 神經網路筆記

rnn 遞迴神經網路 一 神經網路的種類 基礎神經網路 單層感知機,執行緒神經網路,bp神經網路,hopfield神經網路等 高階神經網路 玻爾茲曼機,受限玻爾茲曼機,遞迴神經網路等 深度神經網路 深度置信網路,卷積神經網路,迴圈神經網路,lstm聖經網路等 一 感知機 svm 有n個輸入資料,通過...