正則化是一種常用的機器學習技術,用於防止模型過擬合。當訓練模型時,如果模型過於複雜或者訓練資料較少,就容易導致過擬合現象,即模型在訓練資料上表現很好,但在新資料上表現較差。為了解決這個問題,可以引入正則化技術。
正則化透過在損失函式中新增一個正則項來實現,這個正則項通常是模型引數的範數。常見的正則化方法有L1正則化和L2正則化。
加入正則化的時機通常是在訓練模型之前,透過調整正則化引數來控制正則化的強度。當訓練資料較少或者模型複雜度較高時,可以考慮加入正則化來避免過擬合問題。
L1正則化(也稱為Lasso正則化)透過在目標函式中新增引數的絕對值之和來懲罰模型的複雜度。
數學表示式為:λ * ||w||1,其中λ是正則化強度,w是模型的引數。
L1正則化傾向於產生稀疏解,即將一些引數置為0,從而實現特徵選擇的效果。這是因為L1正則化具有將不重要的特徵權重降低到0的能力。
L2正則化(也稱為Ridge正則化)透過在目標函式中新增引數的平方和來懲罰模型的複雜度。
數學表示式為:λ * ||w||2^2,其中λ是正則化強度,w是模型的引數。
L2正則化傾向於產生較小但非零的引數值,對所有特徵都進行了一定程度的懲罰,但沒有將引數完全置為0。L2正則化有助於減小模型的過擬合風險,並提高模型的泛化能力。
L1正則化傾向於產生稀疏解,適用於特徵選擇和稀疏性要求較高的場景;
而L2正則化傾向於產生較小但非零的引數值,適用於降低模型複雜度和減小過擬合風險的場景。