Ir al contenido principal

Regularización en aprendizaje automático: L1, L2 y Elastic Net explicadas

Una guía práctica sobre la regularización en aprendizaje automático: qué es, cómo funciona y cuándo usar L1, L2 y Elastic Net para construir modelos que generalicen.
Actualizado 4 may 2026  · 9 min leer

¿Has entrenado un modelo que clava casi a la perfección cada ejemplo de entrenamiento, pero falla con datos nuevos? Nos ha pasado a todos.

Eso, a grandes rasgos, es el sobreajuste. Tu modelo no aprendió el patrón real, sino que memorizó los datos de entrenamiento. En producción, con datos nuevos y no vistos, haría predicciones en las que no confiarías. Cuanto más se alejen los datos del mundo real de las muestras de entrenamiento, peor será.

La regularización lo corrige añadiendo una penalización a la función de pérdida. Esa penalización desincentiva los modelos complejos. En otras palabras, es el mecanismo que impide que tu modelo ajuste cada punto de datos y lo obliga a generalizar.

En este artículo te explicaré la intuición detrás de la regularización, los métodos más comunes —L1, L2 y Elastic Net— y cómo elegir el adecuado para tu caso de uso.

Si quieres entender por qué y cómo fallan los modelos de aprendizaje automático en producción, lee nuestro artículo sobre compensación sesgo-varianza.

Qué es la regularización en aprendizaje automático

La regularización es una técnica que añade un término de penalización a la función de pérdida del modelo para desincentivar la complejidad.

Sin ese término de penalización, un modelo tiene la flexibilidad suficiente para ajustar los datos de entrenamiento todo lo que quiera, incluido el ruido y los valores atípicos. La regularización añade un coste a esa flexibilidad. Cuanto más complejo quiere ser el modelo, mayor es la penalización.

La función de pérdida de tu modelo normalmente mide la diferencia entre los valores predichos y los reales. La regularización añade un término extra a esa ecuación, que crece a medida que crecen los coeficientes del modelo. El modelo ahora debe equilibrar dos objetivos que compiten: ajustar los datos de entrenamiento y mantener coeficientes pequeños.

Ese equilibrio es lo que controla la flexibilidad del modelo.

Un modelo muy flexible puede retorcerse para encajar en cualquier forma y ajustar los datos de entrenamiento. La regularización lo suaviza hacia una forma más simple, más probable de sostenerse con datos que el modelo aún no ha visto.

Por qué hace falta regularización

Todo modelo que entrenas se sitúa entre dos extremos inútiles: uno demasiado simple y otro demasiado complejo.

Un modelo demasiado simple no capta los patrones reales de tus datos. Pierde la señal. Eso es subajuste: el modelo rinde mal tanto en entrenamiento como en datos nuevos.

Un modelo demasiado complejo hace lo contrario. Ajusta cada detalle de los datos de entrenamiento, incluido el ruido. Eso es sobreajuste: el modelo funciona de maravilla en entrenamiento, pero falla con datos nuevos porque memorizó lo que no debía.

Toma la regresión polinómica como ejemplo concreto. Ajustar un polinomio de grado 3 a datos que muestran una curva suave probablemente captará el patrón correcto. Pero un polinomio de grado 15 sobre los mismos datos lleva al sobreajuste: la curva pasa por cada punto, pero hace predicciones aleatorias entre medias.

El gráfico siguiente muestra cómo se ve en la práctica.

Modelo en el punto justo frente a modelo demasiado complejo

Modelo en el punto justo frente a modelo demasiado complejo

Esto es la compensación sesgo-varianza.

Los modelos simples tienen alto sesgo: hacen suposiciones fuertes que pasan por alto patrones reales. Los modelos complejos tienen alta varianza: son demasiado sensibles a las muestras concretas de entrenamiento y pequeños cambios en los datos producen modelos muy distintos.

La regularización te ayuda a quedarte con lo mejor de ambos. No elimina la complejidad, pero la penaliza. Así, tu modelo tiene más opciones de aprender la señal real.

Cómo funciona la regularización

Todo modelo aprende minimizando una función de pérdida: una medida de lo equivocadas que están sus predicciones. Sin regularización, la única tarea del modelo es minimizar ese error. Hará lo que sea necesario, incluidas crecer coeficientes grandes que ajustan los datos de entrenamiento pero no generalizan.

La regularización cambia el objetivo. En lugar de minimizar solo el error, ahora el modelo minimiza esto:

Cómo funciona la regularización

Cómo funciona la regularización

El término de penalización es una función de los coeficientes del modelo. Los coeficientes grandes aumentan la penalización. Para mantener el coste total bajo, el modelo se ve obligado a mantener coeficientes pequeños, lo que implica soluciones más simples y generalizables.

La λ (lambda) controla cuánto importa la penalización. Una λ más alta presiona más al modelo para que se mantenga simple. Una λ más baja le permite centrarse más en ajustar los datos. Verás cómo ajustar este parámetro en la sección Elegir la intensidad de la regularización más abajo.

Tipos de regularización en aprendizaje automático

Hay varias formas de penalizar la complejidad del modelo. Cada una presiona a los coeficientes de manera distinta, por lo que se adaptan a situaciones diferentes.

Regularización L2 (regresión Ridge)

La regularización L2 penaliza el valor cuadrático de cada coeficiente. Cuanto mayor es un coeficiente, más contribuye a la penalización, y más trabaja el modelo para reducirlo.

Regularización L2

Regularización L2

La palabra clave aquí es encoger. L2 empuja todos los coeficientes hacia cero, pero nunca llega exactamente a cero. Todas las variables permanecen en el modelo, solo que con menor peso. Eso hace que Ridge sea una buena opción por defecto cuando crees que la mayoría de tus variables son relevantes y quieres un modelo estable y bien comportado.

Regularización L1 (regresión Lasso)

La regularización L1 penaliza el valor absoluto de cada coeficiente en lugar del cuadrado.

Regularización L1

Regularización L1

Esa pequeña diferencia tiene una gran consecuencia. L1 puede llevar coeficientes exactamente a cero, lo que significa que elimina variables del modelo. Puedes verlo como una selección automática de variables. En otras palabras, la regularización Lasso puede simplificar tu modelo eliminando variables irrelevantes.

Regularización L1 vs. L2

La diferencia clave se reduce a la esparsidad. L1 produce modelos esparsos: solo pasa un subconjunto de variables. L2 produce modelos densos: todas las variables permanecen, con pesos más pequeños.

Eso también afecta a la interpretabilidad. Un modelo Lasso con 5 variables activas es más fácil de explicar que un Ridge con 50 variables aportando un poco cada una. Pero Ridge tiende a ser más estable cuando las variables están correlacionadas entre sí, ya que reparte el peso entre ellas en lugar de elegir una de forma arbitraria.

Aquí tienes un resumen rápido de las diferencias:

Regularización L1 frente a L2

Regularización L1 frente a L2

Si quieres ver cómo se comparan en Python, nuestro tutorial de Lasso y Ridge en Python te lo muestra paso a paso.

Regularización Elastic Net

Elastic Net combina L1 y L2 en un único término de penalización.

Regularización Elastic Net

Regularización Elastic Net

La idea es quedarse con lo mejor de ambos: la selección de variables de L1 y la estabilidad de L2. Es útil cuando tienes variables correlacionadas y aun así quieres que se descarten algunas. Lasso por sí sola tiende a elegir una variable de un grupo correlacionado e ignorar el resto. Elastic Net es más propensa a mantener varias a la vez que elimina las irrelevantes.

Regularización en distintos modelos

La regularización aparece en muchos modelos de aprendizaje automático, pero con formas distintas. Te explico las más comunes.

La regresión lineal es donde la mayoría ve por primera vez la regularización. Al añadir regularización L2 a la regresión lineal obtienes Ridge. De igual modo, al añadir L1 obtienes Lasso. Las matemáticas son las mismas que se describen arriba: un término de penalización añadido a la pérdida de mínimos cuadrados.

La regresión logística funciona igual. Cambia la función de pérdida —es entropía cruzada en lugar de error cuadrático—, pero el término de penalización es idéntico. La mayoría de librerías aplican L2 por defecto en regresión logística, por eso verás un parámetro llamado C en scikit-learn. Es el inverso de λ, así que un C más pequeño implica regularización más fuerte.

Las redes neuronales usan un par de enfoques distintos:

  • Weight decay: regularización L2 aplicada a los pesos de la red; funciona igual, solo que a mucha mayor escala.
  • Dropout: durante el entrenamiento, desactiva aleatoriamente una fracción de neuronas en cada pasada, lo que evita que la red dependa en exceso de una sola ruta a través de las capas.

Ambos reducen el sobreajuste, pero por vías diferentes.

Los modelos basados en árboles no usan penalizaciones en la pérdida. En su lugar, controlan la complejidad mediante poda: limitan la profundidad del árbol o eliminan ramas que no mejoran lo suficiente las predicciones como para justificar su existencia. Hiperparámetros como max_depth y min_samples_split en scikit-learn actúan como parámetros de regularización, aunque no se llamen así.

Regularización y la compensación sesgo-varianza

La regularización va de compromisos.

Cuando añades un término de penalización, restringes lo que el modelo puede hacer. Ya no puede ajustar los datos de entrenamiento tan de cerca como quiere. Esa restricción introduce sesgo: el modelo comete pequeñas suposiciones erróneas por diseño, porque le has dicho que se mantenga simple.

Pero esa misma restricción reduce la varianza. Un modelo que no puede ajustar cada punto de datos es menos sensible a las muestras específicas con las que se entrenó. Si lo entrenas con un conjunto de datos ligeramente distinto, obtendrás un resultado similar. Esa estabilidad es justo lo que quieres para que tu modelo no falle en producción.

Sin regularización, obtienes un modelo muy flexible con bajo sesgo (hace pocas suposiciones y ajusta bien el entrenamiento) y alta varianza (cambios pequeños en los datos de entrenamiento producen modelos muy diferentes, por lo que no es fiable con datos nuevos).

La regularización consiste en desplazar ese equilibrio. Un poco más de sesgo a cambio de mucha menos varianza suele dar mejor rendimiento en datos no vistos. Ese es el compromiso, y casi siempre compensa.

Elegir la intensidad de la regularización

Como profesional de machine learning, tendrás que fijar la intensidad de la regularización después de elegir el tipo.

Esa intensidad la controla un hiperparámetro, normalmente llamado lambda (λ) en notación matemática, o alpha en scikit-learn. Es el multiplicador delante del término de penalización. Cuando lo cambias, cambias cuánta presión ejerce el modelo hacia la simplicidad.

Si te vas a cualquiera de los extremos, tendrás problemas en producción:

  • Demasiado baja: la penalización es tan débil que ni se nota. El modelo sobreajusta, igual que si no tuvieras regularización.
  • Demasiado alta: la penalización domina. El modelo está tan constreñido que no capta los patrones reales de los datos. Eso es subajuste.

El valor adecuado está en un punto intermedio, y no hay una respuesta universal. Depende de tus datos, tu modelo y el nivel de ruido que tengas.

La forma estándar de encontrarlo es mediante validación cruzada. Divides los datos de entrenamiento en pliegues, entrenas el modelo con cada combinación de pliegues y mides el rendimiento de validación en un rango de valores de alpha. El valor que da la mejor puntuación media de validación es el que usas.

En scikit-learn, RidgeCV y LassoCV lo hacen automáticamente: ejecutan validación cruzada sobre una rejilla de valores de alpha y seleccionan el mejor por ti.

from sklearn.linear_model import RidgeCV

model = RidgeCV(alphas=[0.01, 0.1, 1.0, 10.0], cv=5)
model.fit(X_train, y_train)

print(model.alpha_)

El alpha impreso mostrará el mejor valor encontrado por validación cruzada. Empieza con un rango amplio y ve acotándolo cuando sepas dónde está el intervalo óptimo.

Conclusión

La regularización es la forma de evitar que un modelo sea demasiado listo para su propio bien.

Penaliza la complejidad y obliga al modelo a encontrar soluciones que generalicen en lugar de memorizar los datos de entrenamiento. L2 mantendrá todas tus variables pero reducirá su influencia. L1 eliminará las irrelevantes. Elastic Net combina ambas. Y en regresiones lineales, regresión logística, redes neuronales y modelos de conjunto, la misma idea aparece con formas distintas y no siempre se llama «regularización».

Lo más importante es la técnica que elijas y la intensidad que fijes. Así que lo que debes hacer es experimentar. Prueba distintos enfoques con diferentes valores de parámetros. No elijas uno y ya está.

Tus datos te dirán qué funciona.

Si quieres ver más técnicas de regularización en acción, apúntate a nuestro itinerario Machine Learning Scientist in Python. Tiene 85 horas de contenido para que salgas listo para el trabajo.


Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Científico de Datos Senior con base en Croacia. Top Tech Writer con más de 700 artículos publicados, generando más de 10M de visitas. Autor del libro Automatización del aprendizaje automático con TPOT.

FAQs

¿Qué es la regularización en aprendizaje automático?

La regularización es una técnica que añade un término de penalización a la función de pérdida de un modelo para desincentivar la complejidad. Evita el sobreajuste obligando al modelo a mantener coeficientes pequeños, lo que conduce a soluciones más simples que generalizan mejor a datos nuevos.

¿Cuándo debería usar regularización?

Usa regularización siempre que tu modelo funcione bien en entrenamiento pero mal en validación o test: esa brecha es señal de sobreajuste. También es una buena práctica por defecto cuando trabajas con datos de alta dimensionalidad o con conjuntos donde el número de variables es cercano o superior al número de muestras.

¿La regularización siempre mejora el rendimiento del modelo?

No siempre. Si tu modelo ya está subajustando, añadir regularización lo empeorará aún más al llevarlo hacia soluciones más simples. El objetivo es encontrar el equilibrio adecuado: la regularización ayuda cuando tu modelo es demasiado complejo, no cuando es demasiado simple.

¿Cuál es la diferencia entre alpha en Lasso y C en regresión logística?

Ambos controlan la intensidad de la regularización, pero en direcciones opuestas. alpha en Lasso escala la penalización: un valor mayor implica regularización más fuerte. C en la regresión logística de scikit-learn es el inverso de la fuerza de penalización, así que un C más pequeño implica regularización más fuerte. Si cambias entre ambos, recuerda que aumentar alpha y disminuir C tiene el mismo efecto.

¿Puedo usar regularización L1 y L2 a la vez?

Sí: eso es exactamente lo que hace Elastic Net. Combina ambos términos de penalización en un único objetivo, dándote a la vez la selección de variables de L1 y la estabilidad de L2. Es útil cuando tienes variables correlacionadas y aún quieres algo de poda, ya que Lasso por sí sola tiende a eliminar arbitrariamente todas menos una de un grupo correlacionado.

Temas

Aprende con DataCamp

Curso

Machine learning con modelos basados en árboles en Python

5 h
115.8K
En este curso, aprenderás a utilizar modelos basados en árboles y conjuntos para regresión y clasificación utilizando scikit-learn.
Ver detallesRight Arrow
Iniciar curso
Ver másRight Arrow
Relacionado

blog

Clasificación en machine learning: Introducción

Aprende sobre la clasificación en machine learning viendo qué es, cómo se utiliza y algunos ejemplos de algoritmos de clasificación.
Zoumana Keita 's photo

Zoumana Keita

14 min

blog

8 modelos de machine learning explicados en 20 minutos

Descubre todo lo que necesitas saber sobre los tipos de modelos de machine learning, incluyendo para qué se utilizan y ejemplos de cómo ponerlos en práctica.
Natassha Selvaraj's photo

Natassha Selvaraj

15 min

blog

La maldición de la dimensionalidad en el aprendizaje automático: Retos, repercusiones y soluciones

Explore la maldición de la dimensionalidad en el análisis de datos y el aprendizaje automático, incluidos sus retos, efectos en los algoritmos y técnicas como PCA, LDA y t-SNE para combatirla.
Abid Ali Awan's photo

Abid Ali Awan

7 min

Tutorial

Tutorial de ecuación normal para regresión lineal

Aprende qué es la ecuación normal y cómo puedes utilizarla para construir modelos de machine learning.
Kurtis Pykes 's photo

Kurtis Pykes

Tutorial

Guía para principiantes de LlaMA-Factory WebUI: Ajuste de los LLM

Aprende a afinar los LLM en conjuntos de datos personalizados, evaluar el rendimiento y exportar y servir modelos sin problemas utilizando el marco de trabajo de bajo/ningún código de LLaMA-Factory.
Abid Ali Awan's photo

Abid Ali Awan

Tutorial

Tutorial de Lasso y regresión Ridge en Python

Conozca las técnicas de regresión del lazo y la cresta. Compare y analice los métodos en detalle.
DataCamp Team's photo

DataCamp Team

Ver másVer más