在本文中,我們將討論正則化的必要性及其不同型別。
在監督機器學習模型中,我們將在訓練資料上訓練模型。模型將從這些資料中學習。在某些情況下,模型會從訓練資料中的資料模式和雜訊中學習,在這種情況下,我們的模型將有乙個高方差,我們的模型將被過度擬合。這種過擬合模型泛化程度較低。這意味著他們會在訓練資料方面表現良好,但在新資料方面表現不佳。我們的機器學習演算法的目標是學習資料模式並忽略資料集中的雜訊。
在訓練資料上避免模型過度擬合的方法有交叉驗證、特徵約簡、正則化等。
隨著模型複雜性的增加,正則化基本上增加了懲罰。正則化引數(λ)懲罰除截距之外的所有引數,以便模型泛化資料並且不會過度擬合。
讓我們了解懲罰性損失函式如何幫助避免過度擬合
我們將以線性回歸的形式解釋正則化。線性回歸的成本函式是
我們的目標是最小化成本函式j(θ0,θ1)。
假設如下
我們想要消除θ2,θ3,θ4等引數的影響,而不是實際擺脫這些特徵或改變我們假設的形式,我們可以改為修改我們的成本函式。這裡讓我們修改θ3和θ4的影響。
現在,為了使成本函式接近零,我們必須將θ3和θ4的值減小到接近零。這又會在我們的假設函式中降低θ3 x 3³和θ4 x4⁴的值。
這意味著θ3,θ4等較小的引數值,假設將更簡單,模型將不再那麼容易過度擬合。
考慮具有大量特徵(x1,x2,x3 ...... .x100)的情況。然後我們將有大量引數(θ1,θ2......θ100)。在這種情況下,我們可以通過使用正則化來做同樣的事情。為此,我們將為我們的成本函式新增乙個新的正則化項。
這裡λ是正則化引數。在這裡,我們必須最小化j(θ)。隨著正則化引數值的增大,系數值減小,方差減小,而不會丟失資料中的重要特徵。
如果我們選擇更高的λ值應該如何處理?
對於更高的λ值,演算法甚至不擬合訓練資料並導致欠擬合。梯度下降也不會收斂。像θ1,θ2...θn這樣的引數變得接近零。然後
如何選擇λ的正確值呢?
它將介於0和較大值之間。我們需要找到λ的最佳值,以便泛化誤差很小。我們可以使用像k-fold交叉驗證這樣的方法。
正則化的型別
正則化主要有兩種型別。
l1正則化(lasso正則化)l2正則化(ridge正則化)
l1正則化(lasso回歸)
l1正則化加l1罰值等於係數絕對值。當我們的輸入特徵的權重接近於零時,就會產生稀疏的l1範數。在稀疏解中,大多數輸入特徵的權值為零,只有極少數特徵的權值為非零。
特徵:
l2正則化(ridge正則化)
l2正則化類似於l1正則化。但它將係數的平方量作為懲罰項加到損失函式上。l2不會產生稀疏模型,並且所有係數都會被同一因子縮小(沒有像l1回歸那樣被消除)
特徵:
這些技術之間的關鍵區別在於,l1回歸將不太重要的特徵係數縮小為零,從而完全刪除某些特徵,而l2回歸將其減少到接近零。因此,如果我們有大量的特徵,l1回歸可以很好地用於特徵選擇。
機器學習正則化概述
看了幾篇文章,我的理解是,首先時正則化的英語時regularizism.其實更可以看作是 規則化 主要用於降維,pca 主成成分分析 就是去掉一些無關緊要的資料,使資料更好地擬合函式。公式上看是減少w權重,是乙個意思,就是擬合一群資料的時候,比如用最小二乘法這個最簡單的方法來,肯定會存在過擬合的問題...
JS正則 RegExp概述
ecmascript通過regexp型別支援正規表示式。格式 let expression pattern flagspattern 模式 flags 標記 說明 所有的元字元在模式中必須轉義 包括 元字元在正規表示式中都有一種或多種特殊功能,所以要匹配上面這些字元本身,就必須使用反斜槓來轉義。示例...
正則化 L1正則化(稀疏性正則化)
稀疏向量通常包含許多維度。建立特徵組合會導致包含更多維度。由於使用此類高維度特徵向量,因此模型可能會非常龐大,並且需要大量的 ram。在高維度稀疏向量中,最好盡可能使權重正好降至 0。正好為 0 的權重基本上會使相應特徵從模型中移除。將特徵設為 0 可節省 ram 空間,且可以減少模型中的噪點。以乙...