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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

神经网络优化篇:详解正则化(Regularization)

發布時間:2023/12/24 windows 50 coder
生活随笔 收集整理的這篇文章主要介紹了 神经网络优化篇:详解正则化(Regularization) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正則化

深度學習可能存在過擬合問題——高方差,有兩個解決方法,一個是正則化,另一個是準備更多的數據,這是非??煽康姆椒ǎ赡軣o法時時刻刻準備足夠多的訓練數據或者獲取更多數據的成本很高,但正則化通常有助于避免過擬合或減少的網絡誤差。

如果懷疑神經網絡過度擬合了數據,即存在高方差問題,那么最先想到的方法可能是正則化,另一個解決高方差的方法就是準備更多數據,這也是非??煽康霓k法,但可能無法時時準備足夠多的訓練數據,或者,獲取更多數據的成本很高,但正則化有助于避免過度擬合,或者減少網絡誤差,下面就來講講正則化的作用原理。

用邏輯回歸來實現這些設想,求成本函數\(J\)的最小值,它是定義的成本函數,參數包含一些訓練數據和不同數據中個體預測的損失,\(w\)\(b\)是邏輯回歸的兩個參數,\(w\)是一個多維度參數矢量,\(b\)是一個實數。在邏輯回歸函數中加入正則化,只需添加參數λ,也就是正則化參數。

\(\frac{\lambda}{2m}\)乘以\(w\)范數的平方,其中\(\left\| w \right\|_2^2\)\(w\)的歐幾里德范數的平方,等于\(w_{j}\)\(j\) 值從1到\(n_{x}\))平方的和,也可表示為\(w^{T}w\),也就是向量參數\(w\) 的歐幾里德范數(2范數)的平方,此方法稱為\(L2\)正則化,因為這里用了歐幾里德范數,被稱為向量參數\(w\)\(L2\)范數。

為什么只正則化參數\(w\)?為什么不再加上參數 \(b\) 呢?可以這么做,只是習慣省略不寫,因為\(w\)通常是一個高維參數矢量,已經可以表達高偏差問題,\(w\)可能包含有很多參數,不可能擬合所有參數,而\(b\)只是單個數字,所以\(w\)幾乎涵蓋所有參數,而不是\(b\),如果加了參數\(b\),其實也沒太大影響,因為\(b\)只是眾多參數中的一個,所以通常省略不計,如果想加上這個參數,完全沒問題。

\(L2\)正則化是最常見的正則化類型,們可能聽說過\(L1\)正則化,\(L1\)正則化,加的不是\(L2\)范數,而是正則項\(\frac{\lambda}{m}\)乘以\(\sum_{j= 1}^{n_{x}}{|w|}\)\(\sum_{j =1}^{n_{x}}{|w|}\)也被稱為參數\(w\)向量的\(L1\)范數,無論分母是\(m\)還是\(2m\),它都是一個比例常量。

如果用的是\(L1\)正則化,\(w\)最終會是稀疏的,也就是說\(w\)向量中有很多0,有人說這樣有利于壓縮模型,因為集合中參數均為0,存儲模型所占用的內存更少。實際上,雖然\(L1\)正則化使模型變得稀疏,卻沒有降低太多存儲內存,所以認為這并不是\(L1\)正則化的目的,至少不是為了壓縮模型,人們在訓練網絡時,越來越傾向于使用\(L2\)正則化。

來看最后一個細節,\(\lambda\)是正則化參數,通常使用驗證集或交叉驗證集來配置這個參數,嘗試各種各樣的數據,尋找最好的參數,要考慮訓練集之間的權衡,把參數設置為較小值,這樣可以避免過擬合,所以λ是另外一個需要調整的超級參數,順便說一下,為了方便寫代碼,在Python編程語言中,\(\lambda\)是一個保留字段,編寫代碼時,刪掉\(a\),寫成\(lambd\),以免與Python中的保留字段沖突,這就是在邏輯回歸函數中實現\(L2\)正則化的過程,如何在神經網絡中實現\(L2\)正則化呢?

神經網絡含有一個成本函數,該函數包含\(W^{[1]}\),\(b^{[1]}\)\(W^{[l]}\)\(b^{[l]}\)所有參數,字母\(L\)是神經網絡所含的層數,因此成本函數等于\(m\)個訓練樣本損失函數的總和乘以\(\frac{1}{m}\),正則項為\(\frac{\lambda }{2m}{{\sum\nolimits_{1}^{L}{| {{W}^{[l]}}|}}^{2}}\),稱\({||W^{\left[l\right]}||}^{2}\)為范數平方,這個矩陣范數\({||W^{\left[l\right]}||}^{2}\)(即平方范數),被定義為矩陣中所有元素的平方求和,

看下求和公式的具體參數,第一個求和符號其值\(i\)從1到\(n^{[l - 1]}\),第二個其\(J\)值從1到\(n^{[l]}\),因為\(W\)是一個\(n^{[l]}\times n^{[l-1]}\)的多維矩陣,\(n^{[l]}\)表示\(l\) 層單元的數量,\(n^{[l-1]}\)表示第\(l-1\)層隱藏單元的數量。

該矩陣范數被稱作“弗羅貝尼烏斯范數”,用下標\(F\)標注”,鑒于線性代數中一些神秘晦澀的原因,不稱之為“矩陣\(L2\)范數”,而稱它為“弗羅貝尼烏斯范數”,矩陣\(L2\)范數聽起來更自然,但鑒于一些大家無須知道的特殊原因,按照慣例,稱之為“弗羅貝尼烏斯范數”,它表示一個矩陣中所有元素的平方和。

該如何使用該范數實現梯度下降呢?

backprop計算出\(dW\)的值,backprop會給出\(J\)\(W\)的偏導數,實際上是$ W{[l]}$,把$W\(替換為\)W^{[l]}\(減去學習率乘以\)dW$。

這就是之前額外增加的正則化項,既然已經增加了這個正則項,現在要做的就是給\(dW\)加上這一項\(\frac {\lambda}{m}W^{[l]}\),然后計算這個更新項,使用新定義的\(dW^{[l]}\),它的定義含有相關參數代價函數導數和,以及最后添加的額外正則項,這也是\(L2\)正則化有時被稱為“權重衰減”的原因。

用$ dW{[l]}$的定義替換此處的$dW\(,可以看到,\)W{[l]}$的定義被更新為$W\(減去學習率\)\alpha$ 乘以backprop 再加上\(\frac{\lambda}{m}W^{[l]}\)。

該正則項說明,不論\(W^{[l]}\)是什么,都試圖讓它變得更小,實際上,相當于給矩陣W乘以\((1 - \alpha\frac{\lambda}{m})\)倍的權重,矩陣\(W\)減去\(\alpha\frac{\lambda}{m}\)倍的它,也就是用這個系數\((1-\alpha\frac{\lambda}{m})\)乘以矩陣\(W\),該系數小于1,因此\(L2\)范數正則化也被稱為“權重衰減”,因為它就像一般的梯度下降,\(W\)被更新為少了\(\alpha\)乘以backprop輸出的最初梯度值,同時\(W\)也乘以了這個系數,這個系數小于1,因此\(L2\)正則化也被稱為“權重衰減”。

不打算這么叫它,之所以叫它“權重衰減”是因為這兩項相等,權重指標乘以了一個小于1的系數。

以上就是在神經網絡中應用\(L2\)正則化的過程。

總結

以上是生活随笔為你收集整理的神经网络优化篇:详解正则化(Regularization)的全部內容,希望文章能夠幫你解決所遇到的問題。

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