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.