Sobes.tech
Middle — Senior

Care este diferența dintre regularizarea L1 și L2?

sobes.tech AI

Răspuns de la AI

Regularizarea L1 și L2 sunt metode de prevenire a supraînvățării în modelele de învățare automată prin adăugarea unei penalizări la funcția de pierdere.

  • Regularizarea L1 (Lasso) adaugă la funcția de pierdere suma valorilor absolute ale coeficienților modelului:

    [ \lambda \sum |w_i| ]

    Aceasta duce la modele rare — mulți coeficienți tind spre zero, ceea ce ajută la selecția caracteristicilor.

  • Regularizarea L2 (Ridge) adaugă suma pătratelor coeficienților:

    [ \lambda \sum w_i^2 ]

    Ea face ca coeficienții să fie mici, dar rareori îi face complet zero, ceea ce îmbunătățește stabilitatea modelului.

Diferențe principale:

  • L1 favorizează rareitatea și selecția caracteristicilor.
  • L2 reduce mărimea coeficienților, făcând modelul mai stabil.

Exemplu în Python cu sklearn:

from sklearn.linear_model import LogisticRegression

# Regularizare L1
model_l1 = LogisticRegression(penalty='l1', solver='liblinear')

# Regularizare L2
model_l2 = LogisticRegression(penalty='l2')

Alegerea între ele depinde de sarcină: dacă este importantă selecția caracteristicilor — L1, dacă se dorește stabilitate și netezire — L2.