在深度學習中,
監督類學習問題其實就是在規則化引數同時最小化誤差
。最小化誤差目的是讓模型擬合訓練資料,而規則化引數的目的是防止模型過分擬合訓練資料。
引數太多,會導致模型複雜度上公升,容易過擬合,也就是訓練誤差小,測試誤差大。因此
,我們需要保證模型足夠簡單,並在此基礎上訓練誤差小,這樣訓練得到的引數才能保證測試誤差也小
,而模型簡單就是通過規則函式來實現的。
規則化項可以是模型引數向量的範數。如:l0、l1、l2等。
一、l0範數與l1範數
l0範數是指向量中非0的元素的個數。如果我們用l0範數來規則化乙個引數矩陣w的話,就是希望w的大部分元素都是0。換句話說,讓引數w是稀疏的。
l1範數是指向量中各個元素絕對值之和。l1範數是l0範數的最優凸近似。任何的規則化運算元,如果他在wi=0的地方不可微,並且可以分解為乙個「求和」的形式,那麼這個規則化運算元就可以實現稀疏。w的l1範數是絕對值,|w|在w=0處是不可微。
雖然l0可以實現稀疏,但是實際中會使用l1取代l0。因為l0範數很難優化求解,l1範數是l0範數的最優凸近似,它比l0範數要容易優化求解。
二、l2範數
l2範數,又叫「嶺回歸」(ridge regression)、「權值衰減」
(weight decay)。這用的很多吧,它的作用是改善過擬合。過擬合是:模型訓練時候的誤差很小,但是測試誤差很大,也就是說模型複雜到可以擬合到所有訓練資料,但在**新的資料的時候,結果很差。
l2範數是指向量中各元素的平方和然後開根。我們讓l2範數的規則項||w||2最小,可以使得w的每個元素都很小,都接近於0。而越小的引數說明模型越簡單,越簡單的模型則越不容易產生過擬合現象。
三、l1範數
和l2範數
的差別
乙個是絕對值最小,乙個是平方最小:
l1會趨向於產生少量的特徵,而其他的特徵都是0,而l2會選擇更多的特徵,這些特徵都會接近於0。
深度學習 L1及L2範數
在深度學習中,監督類學習問題其實就是在規則化引數同時最小化誤差。最小化誤差目的是讓模型擬合訓練資料,而規則化引數的目的是防止模型過分擬合訓練資料。引數太多,會導致模型複雜度上公升,容易過擬合,也就是訓練誤差小,測試誤差大。因此,我們需要保證模型足夠簡單,並在此基礎上訓練誤差小,這樣訓練得到的引數才能...
機器學習中的範數規則化 L0,L1和L2正規化
監督學習的過程可以概括為 最小化誤差的同時規則化引數。最小化誤差是為了讓模型擬合訓練資料,規則化引數是為了防止過擬合。引數過多會導致模型複雜度上公升,產生過擬合,即訓練誤差很小,但測試誤差很大,這和監督學習的目標是相違背的。所以需要採取措施,保證模型盡量簡單的基礎上,最小化訓練誤差,使模型具有更好的...
深度學習筆記1 L1 L2 L0範數
在深度學習中,監督類學習問題其實就是在規則化引數同時最小化誤差。最小化誤差目的是讓模型擬合訓練資料,而規則化引數的目的是防止模型過分擬合訓練資料。引數太多,會導致模型複雜度上公升,容易過擬合,也就是訓練誤差小,測試誤差大。因此,我們需要保證模型足夠簡單,並在此基礎上訓練誤差小,這樣訓練得到的引數才能...