淺談 Dropout防止過擬合

發生過擬合的主要原因可以有以下三點:

(1)數據有噪聲

(2)訓練數據不足,有限的訓練數據

(3)訓練模型過度導致模型非常複雜


Dropout是通過修改神經網絡本身來實現的,它是在訓練網絡時用的一種技巧(trike)。它的流程如下:

假設我們要訓練上圖這個網絡,在訓練開始時,我們隨機地“刪除”一半的隱層單元,視它們爲不存在,得到如下的網絡:


保持輸入輸出層不變,按照BP算法更新上圖神經網絡中的權值(虛線連接的單元不更新,因爲它們被“臨時刪除”了)。

以上就是一次迭代的過程,在第二次迭代中,也用同樣的方法,只不過這次刪除的那一半隱層單元,跟上一次刪除掉的肯定是不一樣的,因爲我們每一次迭代都是“隨機”地去刪掉一半。第三次、第四次……都是這樣,直至訓練結束。

以上就是Dropout,它爲什麼有助於防止過擬合呢?可以簡單地這樣解釋,運用了dropout的訓練過程,相當於訓練了很多個只有半數隱層單元的神經網絡(後面簡稱爲“半數網絡”),每一個這樣的半數網絡,都可以給出一個分類結果,這些結果有的是正確的,有的是錯誤的。隨着訓練的進行,大部分半數網絡都可以給出正確的分類結果,那麼少數的錯誤分類結果就不會對最終結果造成大的影響。


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