過擬合 (Overfitting)

一、定義

在訓練數據集上的準確率很⾼,但是在測試集上的準確率⽐較低
在這裏插入圖片描述

二、過擬合的解決方案

2.1 DropOut

假設有一個過擬合的神經網絡如下:
在這裏插入圖片描述
DropOut步驟:

  1. 根據DropOut rate(這裏假設爲 1/3),在每組數據訓練時,隨機選擇每一隱藏層的1/3的節點去除,並訓練。如下圖是三次訓練的過程:
    在這裏插入圖片描述2. 使用時,把神經網絡還原成原來沒有去除過節點的樣子,如下圖。但是係數(w,b)需要乘以(1-DropOut rate)
    在這裏插入圖片描述

2.2 L2 正則化

2.2.1 方法
對損失函數(loss function) f(θ) 中的每一個係數θi,都對損失函數加上1/2λθi2,其中λ是正則化的強度。

  • 相當於,在訓練的每一次更新系數的時候都額外加上這一步:
    θi= θi - λθi

2.2.2 目的
L2正則化的目的是使係數的絕對值減小,對絕對值越大的係數,減小的程度越強。L2正則化使得大多數係數的值都不爲零,但是絕對值都比較小。

2.3 L1 正則化

2.3.1 方法
對損失函數(lossfunction)f(θ)中的每一個係數θi,都對損失函數
加上λ|θi|,其中λ是正則化的強度。

  • 相當於,在訓練的每一次更新系數的時候都額外加上這一步:
    在這裏插入圖片描述
    2.3.2 目的
    L1正則化的目的是使得許多係數的絕對值接近0,其它那些係數不接近於0的係數對應的特徵就是對輸出有影響的特徵。所以L1正則化甚至可以用於作爲特徵選擇的工具。

2.4 最⼤範數約束 (Max Norm)

2.4.1 方法
對每一個神經元對應的係數向量,設置一個最大第二範數值c,這個值通常設爲3。如果一個神經元的第二範數值大於c,那麼就將每一個係數值按比例縮小,使得第二範式值等於c。

  • 相當於在訓練的每一次更新系數的時候都額外加上這一步:
    在這裏插入圖片描述

    注意:只有當||θ||>c才執行

2.4.2 目的
由於最大範數的約束,可以防止由於訓練步長較大引發的過擬合。

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