Middle — Senior
Jaký je rozdíl mezi L1 a L2 regularizací?
sobes.tech AI
Odpověď od AI
L1 a L2 regularizace jsou metody, jak zabránit přeučení v modelech strojového učení přidáním trestu k funkci ztráty.
-
L1 regularizace (Lasso) přidává k funkci ztráty součet absolutních hodnot koeficientů modelu:
[ \lambda \sum |w_i| ]
To vede k řídkým modelům — mnoho koeficientů směřuje k nule, což pomáhá při výběru rysů.
-
L2 regularizace (Ridge) přidává součet čtverců koeficientů:
[ \lambda \sum w_i^2 ]
To způsobuje, že koeficienty jsou malé, ale zřídka je úplně nastaví na nulu, což zlepšuje stabilitu modelu.
Hlavní rozdíly:
- L1 podporuje řídkost a výběr rysů.
- L2 snižuje velikost koeficientů, čímž činí model stabilnější.
Příklad v Pythonu s sklearn:
from sklearn.linear_model import LogisticRegression
# L1 regularizace
model_l1 = LogisticRegression(penalty='l1', solver='liblinear')
# L2 regularizace
model_l2 = LogisticRegression(penalty='l2')
Volba mezi nimi závisí na úkolu: pokud je důležitý výběr rysů — L1, pokud je potřeba stabilita a vyhlazení — L2.