在深度學習中,監督類學習問題其實就是在規則化引數同時最小化誤差。最小化誤差目的是讓模型擬合訓練資料,而規則化引數的目的是防止模型過分擬合訓練資料。
引數太多,會導致模型複雜度上公升,容易過擬合,也就是訓練誤差小,測試誤差大。因此,我們需要保證模型足夠簡單,並在此基礎上訓練誤差小,這樣訓練得到的引數才能保證測試誤差也小,而模型簡單就是通過規則函式來實現的。
規則化項可以是模型引數向量的範數。如: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。
附:平方 l 2 範數對
x 中每個元素的導數只取決於對應的元素,而 l 2 範數對每個元素的導數卻和整個向
量相關。但是在很多情況下,平方 l 2 範數也可能不受歡迎,因為它在原點附近增長
得十分緩慢。在某些機器學習應用中,區分恰好是零的元素和非零但值很小的元素
是很重要的。在這些情況下,我們轉而使用在各個位置斜率相同,同時保持簡單的
ft數學形式的函式:l 1 範數。
深度學習 L0 L1及L2範數
在深度學習中,監督類學習問題其實就是在規則化引數同時最小化誤差 最小化誤差目的是讓模型擬合訓練資料,而規則化引數的目的是防止模型過分擬合訓練資料。引數太多,會導致模型複雜度上公升,容易過擬合,也就是訓練誤差小,測試誤差大。因此 我們需要保證模型足夠簡單,並在此基礎上訓練誤差小,這樣訓練得到的引數才能...
面試L0,L1,L2範數
在深度學習中,監督類學習問題其實就是在規則化引數同時最小化誤差。最小化誤差目的是讓模型擬合訓練資料,而規則化引數的目的是防止模型過分擬合訓練資料。引數太多,會導致模型複雜度上公升,容易過擬合,也就是訓練誤差小,測試誤差大。因此,我們需要保證模型足夠簡單,並在此基礎上訓練誤差小,這樣訓練得到的引數才能...
向量範數 矩陣範數(L0, L1, L2)
在數學上,範數包括向量範數和矩陣範數,向量範數表徵向量空間中向量的大小,矩陣範數表徵矩陣引起變化的大小。範數就是距離,計算距離的方法不同,就產生了l0範數 l1範數等等。在向量範數中 l0範數 向量中非零元素的數量,嚴格意義上講l0範數並不是範數。l1範數 向量各元素絕對值之和,這種方法叫曼哈頓距離...