Sobes.tech
Middle — Senior

¿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.