¿Cuál es la diferencia entre regularización L1 y L2?
sobes.tech AI
Respuesta de la IA
La regularización L1 y L2 son métodos para prevenir el sobreajuste en modelos de aprendizaje automático mediante la adición de una penalización a la función de pérdida.
-
Regularización L1 (Lasso) añade a la función de pérdida la suma de los valores absolutos de los coeficientes del modelo:
[ \lambda \sum |w_i| ]
Esto conduce a modelos dispersos: muchos coeficientes tienden a ser cero, lo que ayuda en la selección de características.
-
Regularización L2 (Ridge) añade la suma de los cuadrados de los coeficientes:
[ \lambda \sum w_i^2 ]
Esto hace que los coeficientes sean pequeños, pero rara vez los pone exactamente a cero, mejorando la estabilidad del modelo.
Diferencias principales:
- L1 favorece la dispersión y la selección de características.
- L2 reduce la magnitud de los coeficientes, haciendo el modelo más estable.
Ejemplo en Python usando sklearn:
from sklearn.linear_model import LogisticRegression
# Regularización L1
model_l1 = LogisticRegression(penalty='l1', solver='liblinear')
# Regularización L2
model_l2 = LogisticRegression(penalty='l2')
La elección entre ellas depende de la tarea: si es importante la selección de características — L1, si se busca estabilidad y suavizado — L2.