Mi a különbség az L1 és L2 regularizáció között?
sobes.tech MI
Válasz az MI-től
Az L1 és L2 regularizációk olyan módszerek a gépi tanulási modellek túlillesztésének megelőzésére, amelyek a veszteségfüggvényhez büntetést adnak hozzá.
-
L1 regularizáció (Lasso) hozzáadja a modell koefficiensének abszolút értékeinek összegét a veszteségfüggvényhez:
[ \lambda \sum |w_i| ]
Ez ritka modellekhez vezet — sok koefficiens közelít a nullához, segítve a jellemzők kiválasztását.
-
L2 regularizáció (Ridge) hozzáadja a koefficiens négyzetének összegét:
[ \lambda \sum w_i^2 ]
Ez kicsi értékűvé teszi a koefficienseket, de ritkán nullázza őket teljesen, javítva a modell stabilitását.
Fő különbségek:
- Az L1 a ritkaságot és a jellemzők kiválasztását támogatja.
- Az L2 csökkenti a koefficiensek nagyságát, stabilabbá téve a modellt.
Példa Pythonban sklearn használatával:
from sklearn.linear_model import LogisticRegression
# L1 regularizáció
model_l1 = LogisticRegression(penalty='l1', solver='liblinear')
# L2 regularizáció
model_l2 = LogisticRegression(penalty='l2')
A közöttük való választás a feladattól függ: ha a jellemzők kiválasztása fontos — L1, ha stabilitás és simítás szükséges — L2.