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