Middle — Senior
Aký je rozdiel medzi L1 a L2 regularizáciou?
sobes.tech AI
Odpoveď od AI
L1 a L2 regularizácia sú metódy na prevenciu preučenia v modeloch strojového učenia, ktoré pridávajú trest k funkcii straty.
-
L1 regularizácia (Lasso) pridáva k funkcii straty súčet absolútnych hodnôt koeficientov modelu:
[ \lambda \sum |w_i| ]
To vedie k riedkym modelom — mnoho koeficientov smeruje k nule, čo pomáha pri výbere vlastností.
-
L2 regularizácia (Ridge) pridáva súčet štvorcov koeficientov:
[ \lambda \sum w_i^2 ]
To spôsobuje, že koeficienty sú malé, ale zriedka ich úplne nuluje, čím zlepšuje stabilitu modelu.
Hlavné rozdiely:
- L1 podporuje riedkosť a výber vlastností.
- L2 znižuje veľkosť koeficientov, čím robí model stabilnejším.
Príklad v Pythone s sklearn:
from sklearn.linear_model import LogisticRegression
# L1 regularizácia
model_l1 = LogisticRegression(penalty='l1', solver='liblinear')
# L2 regularizácia
model_l2 = LogisticRegression(penalty='l2')
Výber medzi nimi závisí od úlohy: ak je dôležitý výber vlastností — L1, ak je potrebná stabilita a vyhladzovanie — L2.