DL-深度學習基礎

透明的胡蘿蔔發表於2019-02-22

目錄

過擬合與欠擬合

降低過擬合風險的方法

降低欠擬合風險的方法


過擬合與欠擬合


  • 欠擬合指模型不能在訓練集上獲得足夠低的訓練誤差
  • 過擬合指模型的訓練誤差與測試誤差(泛化誤差)之間差距過大
    • 反應在評價指標上,就是模型在訓練集上表現良好,但是在測試集和新資料集上表現一般呢(泛化能力差)

降低過擬合風險的方法


所有為了減少測試誤差的策略統稱為正則化方法,這些方法可能以增大訓練誤差為代價

  • 資料增強 
    • 影象:平移、旋轉、縮放
    • 利用生成對抗網路(GAN)生成新資料
    • NLP:利用機器翻譯生成新資料  
  • 降低模型複雜度
    • 神經網路:減少網路層、神經元個數
    • 決策樹:降低樹的深度、剪枝 
  • 權值約束(新增正則化項)
    • L1正則化
    • L2正則化
  • 整合學習
    • 神經網路:Dropout
    • 決策樹:隨機森林、GBDT
  • 提前終止

資料集擴增

我們在使用訓練資料訓練模型,通過這個模型對將來的資料進行擬合,而在這之間又一個假設便是,訓練資料與將來的資料是獨立同分布的。即使用當前的訓練資料來對將來的資料進行估計與模擬,而更多的資料往往估計與模擬地更準確
一般的方法:

1、重取樣 
2、根據當前資料集估計資料分佈引數,使用該分佈產生更多資料等 

更多詳細參考機器學習中防止過擬合的處理方法

正則化

首先看詳解正則

L1正則化可以產生稀疏權值矩陣,讓特徵的權重等於0,用於特徵選擇
L2正則化可以防止模型過擬合,一定程度上,L1也可以防止過擬合

在這篇文章中,在解釋為什麼L1正則化會產生稀疏權值矩陣時,把w1 w2在二維平面上化成了正菱形,原因是L=|w1|+|w2|或者寫為f(w1,w2)=|w1|+|w2|。無論是|w1|+|w2|=1,還是|w1|+|w2|=2,對應的影象都是一個正菱形,從1到2,菱形由小變大。我們要最小化損失函式,也就是要最小化L,那就是菱形越來越小,把最優值往原點方向拉,努力讓w都變小。

           

降低欠擬合風險的方法


  • 加入新的特

    • 交叉特徵、多項式特徵

    • 深度學習:因式分解機、Deep-Crossing、自編碼器

  • 增加模型複雜度

    • 線性模型:新增高次項

    • 神經網路:增加網路層數、神經元個數

  • 減小正則化項的係數

    • 新增正則化項是為了限制模型的學習能力,減小正則化項的係數則可以放寬這個限制

    • 模型通常更傾向於更大的權重,更大的權重可以使模型更好的擬合資料

 反向傳播公式推導


詳細步驟參考一問弄懂神經網路反向傳播法BP

  • 可以用四個公式總結反向傳播的過程

商標(l)表示網路的層,(L)表示輸出層(最後一層),下標j和k指示神經元的位置,

w_jk表示l層第j個神經元與(l-1)層第k個神經元連線的權重

公式一:C代表總的損失函式  \frac{1}{2}(target1-a{1}^{L})^{2}+\frac{1}{2}(target2-a{2}^{L})^{2}...

公式二:加和符號上是 n{l}-1,nl表示第l層神經元的個數

啟用函式


啟用函式的作用-為什麼要使用非線性啟用函式

  • 使用啟用函式的目的是為了向網路中加入非線性因素;加強網路的表示能力,解決線性模型不能解決的問題

為什麼加入非線性因素能夠加強網咯的表示能力?——神經網路的萬能近似定理

  • 神經網路萬能近似定理認為主要神經網路具有至少一個非線性隱藏層,那麼只要給予網路足夠數量的隱藏單元,他就可以以任意的精度來近似從一個有限維空間到另一個有限緯空間的函式
  • 如果不使用非線性啟用函式,那麼每一層輸出都是上一層的線性組合;那麼無論網路有多少層,其整體也將是線性的,最終的效果跟只有一層網路的效果一樣,導致失去萬能近似的性質
  • 但僅部分層是純線性是可以接受的,這有助於減少網路中的引數

常見的啟用函式 

整流線性單元 ReLU

  • ReLU通常是啟用函式較好的預設選擇

 

ReLU的擴充

  • ReLU及其擴充都基於以下公式

                             g(z;\alpha ) = max(0,z) + \alpha min(0,z)

當alpha = 0時,即標準的線性整流單元

  • 絕對值整流

        固定 alpha = -1 ,此時整流函式即絕對值函式 g(z) = |z|

  • 滲漏整流線性單元

        固定 alpha 為一個小值,比如0.001

  • 引數化整流線性單元

        將alpha作為一個可學習的引數

  • maxout單元

       maxout單元進一步擴充套件了ReLU,他是一個可學習的k段函式,引數數量是普通全聯接層的k倍

 

相關文章