Sobreajuste y subajuste en modelos de aprendizaje automático

Dialéktico
Compartir

CONTENIDO

Al momento de concluir la etapa de entrenamiento de un modelo de machine learning, uno de las tareas posteriores e imprescindibles es la evaluación de su desempeño. Al obtener estas medidas, es muy común encontrar que los modelos no son capaces de realizar inferencias correctamente sobre el conjunto de datos de entrenamiento. Esta problemática generalmente se suele etiquetar en dos categorías principales: sobreajuste y subajuste de modelos.

Estos das dos situaciones son muy comunes a la hora de modelar datos mediante algoritmos de aprendizaje supervisado. Aquí exploraremos cada uno de estos, describiremos sus causas, consecuencias, y abordaremos algunos ejemplos de forma teórica y práctica con lenguaje de programación Python.

ajuste y sobreajuste dialektico
Inventario recomendado
métricas de evaluación para modelos de regresión dialéktico

Regresión lineal

regresión lineal dialektico

Métricas de evaluación de modelos de regresión

métricas de modelos de regresión dialéktico

Google Colab

Google Colab dialéktico

Programación en Python

python dialéktico

Algún tentempié

tentempié dialéktico

Introducción al sobreajuste y subajuste de modelos de machine learning

Pergamino_3

Como ya hemos visto durante nuestras dos últimas prácticas para la evaluación de modelos de aprendizaje supervisado (tanto de regresión como de clasificación), existen diferentes formas de medir el desempeño de un modelo cuyos parámetros han sido ajustados mediante algoritmos de machine learning.

Durante la evaluación del modelo resultante, pueden develarse problemas al momento de realizar los cálculos sobre los conjuntos de datos de entrenamiento y prueba. Lo más común es encontrar que, si los modelos no realizan predicciones de manera relativamente aceptable, entonces están sobreajustados o subajustados. ¿A qué nos referimos con esto?

¿Qué es el subajuste de un modelo de machine learning?

Un modelo subajustado es un modelo de aprendizaje de máquinas que no logra capturar o «aprender» correctamente los patrones subyacentes a los datos debido, principalmente, a su simplicidad matemática (del modelo generado) y, por lo tanto, tiene un desempeño deficiente al ser evaluado tanto en el conjunto de datos de entrenamiento como en el de prueba.

ajuste y sobreajuste dialektico mmerf
ajuste y sobreajuste dialektico aelacor

Es correcto, una forma de entender esta deficiencia en el ajuste del modelo (el cálculo de sus parámetros) es observando las gráficas de la Figura 3.8.1, donde se observan las formas que dibujan dos modelos que pretenden describir el comportamiento de los datos:

ajuste y sobreajuste dialektico
Figura 3.8.1 Gráficas de dos modelos entrenados para ajustarse a los datos. El primero muestra un subajuste, mientras que el segundo se comporta de manera más similar a la tendencia de las observaciones. Esta gráfica y las consiguientes fueron obtenidas utilizando la librería MatplotLib de Python.

Nótese que la primera figura es una línea recta como la que hemos generado con las regresiones lineales de las prácticas anteriores. A pesar de que la función que dibuja esta línea está optimizada para mantener una distancia promedio corta hacia cada punto (dato), esta no representa una tendencia muy similar a la que dibujan los datos (que parecen dibujar una especie de curva). Se dice, entonces, que el modelo está subajustado, ya que sus predicciones no son muy precisas al momento de evaluar su desempeño.

En cambio, en la gráfica de la derecha, se han mapeado los valores de una función que genera una forma más ajustada al movimiento de los datos. Esta curva se puede obtener utilizando regresiones polinomiales. El modelo resultante tiene un mejor desempeño en las predicciones.

ajuste y sobreajuste dialektico laiahrang

Una regresión poinomial es una regresión lineal que modela un polinomio de nésimo grado. No la utilizaremos mucho, por lo que no ahondaremos en el tema, si deseas saber más puedes revisar la definición en https://es.wikipedia.org/wiki/Regresi%C3%B3n_polinomial. Además, más tarde en nuestra práctica de Python la utilizaremos.

Matemáticamente hablando, los modelos de ambos ejemplos (Figura 3.8.1) tienen la siguiente forma:

  • Modelo subajustado (regresión lineal):
y = ax + b \tag{3.76}
  • Modelo con un mejor ajuste (regresión polinomial de grado 3):
y = ax^3 + bx^2 + cx + d  \tag{3.77}

Hago este énfasis porque la elección del algoritmo utilizado para entrenar el modelo muchas veces es un aspecto clave para un ajuste efectivo de los parámetros.

Finalmente, hay que tomar en cuenta que las deficiencias características del subajuste se encuentran directamente al medir el rendimiento del modelo en los conjuntos de datos de entrenamiento y prueba; esto es lo que hicimos durante nuestras últimas dos prácticas, en especial en la que corresponde a las métricas de evaluación de modelos de regresión (ya que acabamos de plantear el uso de regresiones lineales).

Hagamos un pequeño ejercicio al respecto, para refrescar nuestra memoria en el tema:

Contesta las siguientes preguntas

1 / 3

Has entrenado un modelo de regresión lineal y lo has evaluado utilizando la Métrica R². El valor obtenido en el conjunto de entrenamiento es el siguiente: 0.23

¿Qué indica este valor de R²?

2 / 3

Has calculado también la métrica R² utilizando los datos de prueba. El valor obtenido es el siguiente: 0.19

¿Qué indica este valor de R²?

3 / 3

¿Qué se puede deducir de los resultados obtenidos?

R² en datos de entrenamiento: 0.21

R² en datos de prueba: 0.19

Tu puntación es

La puntuación media es 0%

0%

Esto quedará mucho más claro en nuestra práctica con Python, donde veremos ejemplos que analizaremos con métricas de evaluación.

ajuste y sobreajuste dialektico kagnadi

Posibles causas de un modelo subajustado

Las razones por las que un modelo puede sufrir un subajuste pueden ser variadas y depender de los datos y el tipo de algoritmo utilizado para ajustar los parámetros. Sin embargo, estas pueden ser las causas más comunes para un subajuste:

  • Modelo demasiado simple: No tiene suficiente capacidad para aprender patrones complejos. Esto se vio en el ejemplo de la Figura 3.8.1, donde un modelo como el que produce una regresión lineal no es lo mejor en datos con patrones no lineales.
  • Falta de datos: No hay suficiente información para aprender relaciones significativas entre las variables de entrada y las salidas.
  • Muy pocas características: No se han incluido variables de entrada clave en los datos de entrenamiento.
  • Mala selección de hiperparámetros: existen algunos parámetros, que veremos más adelante en el curso, que pueden ser decisivos en el ajuste final del modelo, como el número de iteraciones, regularización, tasa de aprendizaje, entre otros.

¿Qué es el sobreajuste de un modelo de machine learning?

Un modelo sobreajustado es un modelo obtenido mediante algoritmos de aprendizaje de máquinas cuyo comportamiento se adhiere de manera muy fiel a la tendencia de los datos de entrenamiento, con un ajuste que no solo captura los patrones subyacentes, sino también el ruido y las variaciones irrelevantes.

Esto provoca que el modelo tenga un rendimiento muy aceptable al evaluarse en el conjunto de datos de entrenamiento, pero que sea deficiente al operar sobre datos nuevos (es decir, en el conjunto de datos de prueba, o datos nuevos recolectados), ya que no logra generalizar bien su comportamiento.

ajuste y sobreajuste dialektico mmerf

A diferencia del subajuste, el sobreajuste ocurre cuando el modelo es demasiado complejo en comparación con la estructura de los datos. Como mencionó Mmerf, en la etapa de entrenamiento su desempeño luce muy bien, pero al evaluarse con los datos de prueba ya no funciona de igual manera.

El efecto del sobreajuste se observa en las gráficas de la Figura 3.8.2:

ajuste y sobreajuste dialektico
Figura 3.8.2 Gráficas de dos modelos entrenados para ajustarse a la tendencia de los datos. El segundo muestra un sobreajuste, mientras que el primero describe el comportamiento de las observaciones sin adaptarse completamente a todas sus variaciones.

En este caso, en la primera gráfica yace el modelo que vimos anteriormente, donde los datos pueden ser modelados mediante una curva que decae sutilmente y se ajusta a su comportamiento sin encajar perfectamente en estos, lo que implica que realiza predicciones con pequeños defectos pero cercanas a la tendencia subyacente.

En la figura de la derecha, sin embargo, se visualiza una función que está demasiado ajustada al movimiento de los datos, provocando que se dibuje una figura irregular que intenta abarcar los movimientos de todas las observaciones, aunque estos puedan representar valores atípicos o ruido; obsérvese el último punto, el cual parece ser un valor atípico en el conjunto de datos, y que el modelo aborda de manera exacta.

Esto implica que el modelo está sobreajustado, generando una función matemática que predice correctamente solo los valores del conjunto de datos de entrenamiento, pero falla en el conjunto de datos de prueba (no es capaz de realizar estimaciones correctas sobre valores cuya tendencia en realidad es una curva, no un conjunto de valles irregulares, como lo que se ha dibujado en la gráfica de la derecha).

Matemáticamente hablando, los modelos de ambos ejemplos tienen la siguiente forma:

  • Modelo con un mejor ajuste (regresión polinomial de grado 3):
y = ax^3 + bx^2 + cx + d
  • Modelo sobreajustado (regresión polinomial de grado 15):
y = a_{15}x^{15} + a_{14}x^{14} + \dots + a_2x^2 + a_1x + a_0

De esto se desprende que utilizar modelos de varias dimensiones (variables) puede desembocar en un sobreajuste, por lo que es necesario tener cuidado en mantener un balance entre los algoritmos de aprendizaje de máquinas a utilizar y las dimensiones de entrada de los datos.

Las gráficas finales de cada modelo con ajustes diferentes se pueden contemplar en la Figura 3.8.3

image 5
Figura 3.8.3 Comparación entre las gráficas de modelos con subajuste, sobreajuste, y uno que mantiene un equilibrio entre ambos casos, considerado como el mejor ajuste entre los tres.
ajuste y sobreajuste dialektico laiahrang

Así es, los modelos de clasificación pueden tener los mismos problemas. Para identificarlos se sigue la misma metodología, se realizan las respectivas mediciones de desempeño utilizando métricas de evaluación de modelos de clasificación.

Posibles causas de un modelo sobreajustado

Las razones por las que un modelo puede sufrir sobreajuste, al igual que en el subajuste, pueden ser variadas y dependen principalmente del conjunto de datos y/o de la complejidad del modelo utilizado. A continuación, se presentan algunas de las causas más comunes para un sobreajuste:

  • Modelo demasiado complejo: Tiene una gran cantidad de parámetros y variables, lo que le permite aprender incluso el ruido en los datos en lugar de los patrones generales.
  • Demasiadas características irrelevantes: Si el modelo tiene muchas variables que no aportan información útil, puede ajustarse demasiado a datos específicos sin realizar generalizaciones correctamente.
  • Insuficiente cantidad de datos: Con pocos datos, el modelo puede aprender patrones específicos del conjunto de entrenamiento en lugar de patrones generales.
  • Mala selección de hiperparámetros: Algunos parámetros, como la falta de regularización o arquitectura del algoritmo a utilizar, pueden hacer que el modelo sea demasiado flexible y se adapte al ruido.
ajuste y sobreajuste dialektico kagnadi

Detección de ajuste y sobreajuste de modelos con Python

Preprocesamiento de datos dialéktico

Es hora de un poco de acción. En la práctica de hoy revisaremos un caso de subajuste y sobreajuste de modelos, realizando diagnósticos con métricas de evaluación.

colab

Puedes previsualizar el contenido aquí:

Contesta las siguientes preguntas

1 / 3

Has entrenado un modelo de machine learning y has evaluado su desempeño en los conjuntos de datos de entrenamiento y prueba. El modelo muestra resultados favorables en ambos conjuntos. Por lo tanto, el modelo está subajustado.

2 / 3

Has entrenado un modelo de machine learning y has evaluado su desempeño en los conjuntos de datos de entrenamiento y prueba. El modelo muestra resultados favorables en el conjunto de datos de entrenamiento, pero un desempeño muy bajo en el conjunto de datos de prueba. Por lo tanto, el modelo está sobreajustado.

3 / 3

Has entrenado un modelo de machine learning y has evaluado su desempeño en los conjuntos de datos de entrenamiento y prueba. El modelo muestra resultados deficientes tanto en el conjunto de datos de entrenamiento como en el de prueba. El modelo está subajustado.

Tu puntación es

La puntuación media es 0%

0%

Hemos concluido uno de los temas más comunes de deficiencias en modelos de aprendizaje de máquinas. Conforme avancemos en esta travesía, experimentaremos formas de identificar y lidiar con estos desperfectos.

A partir de ahora, los temas serán un poco más avanzados y enfocados en la optimización del entrenamiento de modelos, ya que constituyen el preámbulo para la comprensión y práctica de las redes neuronales artificiales.

image 4

DEJA TUS DUDAS O COMENTARIOS

Suscríbete
Notíficame de
guest

0 Comentarios
Más viejo
Más nuevo Más votado
Respuestas entre líneas
Ver todos los comentarios
0
¿Dudas, sugerencias, o comentarios? Deja un mensaje.x