Sobes.tech
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.