Middle — Senior
Kāpēc L1 regulēšana iestata dažus svars uz nulli, bet L2 — nē?
sobes.tech AI
Atbilde no AI
L1 regulēšana (Lasso) pievieno zaudējumu funkcijai svaru absolūto vērtību summu (||w||₁), kas noved pie leņķa punktiem optimizācijas virsmas. Tas veicina, ka optimālais risinājums dažiem svariem ir precīzi nulle, t.i., tos nulle, nodrošinot modeļa retumu.
L2 regulēšana (Ridge) pievieno svaru kvadrātu summu (||w||₂²), radot gludu parabolisku virsmu bez leņķiem. Rezultātā svaru vērtības samazinās, bet reti kļūst precīzi nulle, jo optimizācija tiecas uz mazām, bet nenullēm vērtībām.
Piemērs:
import numpy as np
from sklearn.linear_model import Lasso, Ridge
X = np.array([[1, 2], [3, 4], [5, 6]])
y = np.array([1, 2, 3])
lasso = Lasso(alpha=0.1)
lasso.fit(X, y)
print('L1 svaru:', lasso.coef_)
ridge = Ridge(alpha=0.1)
ridge.fit(X, y)
print('L2 svaru:', ridge.coef_)
Šeit L1 var iestatīt dažus svarus uz nulli, bet L2 tos tikai samazina.