日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2.1.2 Dropout正则化以及其他正则化

發布時間:2025/4/16 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2.1.2 Dropout正则化以及其他正则化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Dropout正則化

Dropout介紹

除了L2正則化之外,還有一個很重要的正則化方法叫隨機失活(Dropout),下面,我們來了解一下。

如圖所示,假設網絡中的每一層的節點都以拋硬幣的形式來設置概率,每一個節點得以保留和消除的概率都是0.5。

設置完節點之后,我們會刪除得分是0分節點,然后刪除從該節點進出的連線。最后得到一個節點更少,規模更小的網絡。之后我們用反向傳播算法進行訓練。

其他樣本,我們也按照這個方法進行訓練,即刪除一些節點,然后用一些精簡的網絡進行訓練。對于每一個樣本,我們都用精簡的網絡進行訓練。

如何實施Dropout

實施Dropout的方法有很多,最常見的是反向隨機失活(Inverted Dropout)

如圖所示,我們使用三層神經網絡舉例。

d3表示一個三層的Dropout向量,keep-prob是一個具體的數,比如說上個例子中的0.5,這個例子我們用0.8來表示。這個數表示的是保留某個隱藏單元的概率

d3 = np.random.rand(a3.shape[0], a3.shape[1]) < keep-prob

這行代碼表示的是它消除任意一個隱藏單元的概率是0.2,它的作用就是生成一個隨機矩陣。也就是對于每一個隱藏單元而言,d3的值是1的概率都是0.8,而對應的值是0的概率是0.2。

接下來我們要做的是從第三層獲取激活函數。

a3 = np.multiply(a3, d3)

他的作用就是過濾d3中所有等于0的元素。乘法運算最終把d3中的相應元素歸零。

最后,我們進行

a3 /= keep-prob

他的功能是比如就像圖中下面部分說的

z[4]=w[4]a[3]+b[4]
如果a3的值減少了20%,那么直接計算的話z的值一定會受到影響。為了不影響這個z的值得話,我們對a3除以一個keep-prob。

這個就是Dropout的反向隨機失活(Inverted Dropout)實現,不管keep-prob的值是多少,確保a3的期望值不變

在測試階段進行預測

在測試階段,我們不使用Dropout,因為在測試階段,我們不希望輸出的值是隨機的。如果在測試階段使用Dropout函數,那么預測值就會收到干擾。

理解Dropout

Dropout可以隨機的刪除神經網絡中的節點,這一做法實在是有點瘋狂。但是為什么正則化可以發揮這么大的作用,我們一起來了解一下。

如圖所示,神經網絡下面的每一個參數是keep-prob的不同的數值,他代表了每一層保留單元的概率。所以不同層的keep-prob值是可以變化的。對于第二層而言,w的矩陣比較大,所以我們可以把keep-prob的值設置的低一些。

因此,如果你擔心某些層可能比其他的層更容易發生過擬合,那么你可以把這個層的參數設置的更低一些。

但是我們要注意的是,除非算法發生了過擬合,一般不建議使用Dropout。Dropout的一大缺點就是cost function不再明確定義了,每次迭代都會隨機的移除一些節點。這樣就不太容易去檢查梯度下降的性能了。通常不移除節點的話cost function的值是在不斷下降的,但是移除了節點之后就不好說了。不一定可以保證J單調遞減。

其他正則化方法

我們先來介紹一下early stopping的概念。

如圖所示,梯度下降過程中cost function的值在不斷減小。然而驗證集的誤差可能會像紫色曲線。

early stopping的概念就是說,一個神經網絡在這一點之前迭代的很好,我們在此刻停止訓練吧,得到的驗證集誤差。

這是什么原因呢?

因為你的神經網絡在還沒有迭代很多次的時候,你的參數w的值接近于0。而在迭代過程中w的值會逐漸變得越來越大。

因此early stopping要的就是我們在此刻停止迭代過程,得到一個較小的w。避免了神經網絡的過擬合。

但是early stopping也有不足之處

我們在訓練一個機器學習模型的時候,通常希望他的成本函數(cost function)盡可能的小,同時又不要過擬合,然而early stopping因為早早的就停止了迭代過程,所以他無法保證我的J盡可能的小。

總結

以上是生活随笔為你收集整理的2.1.2 Dropout正则化以及其他正则化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。