aproximadamente
Publicado el 09 de diciembre de 2020

¿Qué es el overfitting en machine learning y cómo evitarlo?

¿Qué es el overfitting en machine learning y cómo evitarlo?

En cierto punto del aprendizaje del machine learning, la mayoría de los principiantes se encuentra con el mismo problema. Y entonces, surge una pregunta unánime. ¿Por qué, con el conjunto de datos de entrenamiento, el modelo que estoy desarrollando ofrece una fiabilidad extrema en la previsión, mientras que, con un data set nuevo, falla más que una escopeta de feria? En BETWEEN sabemos quién es el culpable. Y se llama sobreentrenamiento, sobreajuste u overfitting.

¿Qué es el overfitting?

El overfitting en machine learning es un fenómeno que hace que un algoritmo predictivo presente un bajo porcentaje de acierto en sus resultados, ofreciendo previsiones con una alta varianza. Esto sucede si la muestra utilizada en el entrenamiento del modelo:

  • Es poco representativa de la realidad con la que se tendrá que enfrentar después el algoritmo.
  • Incluye demasiadas variables, e incluso variables irrelevantes, que confunden al modelo y le impiden identificar la tendencia subyacente.
  • Se ha sobrepasado el umbral óptimo de épocas (número de veces que el modelo procesa los mismos datos de entrada en el training).

Por oposición al overfitting se define el underfitting, un problema que también genera una escasa fiabilidad en las predicciones del modelo, en este caso porque presentan un elevado sesgo. En el underfitting o subajuste, la causa está en que los datos de entrada son insuficientes para establecer generalizaciones, o en que ofrecen escasa información acerca de la cuestión que se pretende deducir. Un error habitual, ejemplo de esto último, es empeñarse en construir una regresión lineal -con el fin de intentar saber qué ocurrirá en el futuro- con una muestra extraída de un periodo de tiempo demasiado corto.

¿Cómo saber si estás sobreentrenando a tu modelo de machine learning?

Hay una señal inequívoca de que un modelo de machine learning sufre overfitting: con el data set de entrenamiento, su porcentaje de acierto ronda el 100%; pero cuando procesa registros nuevos, este último se desploma hasta la mitad o menos. El sobreentrenamiento le ha llevado a atribuir con precisión milimétrica las características de lo que ya conoce; pero le ha lastrado a la hora de generalizar los resultados en ámbitos diferentes.

El underfitting, por el contrario, se diagnostica cuando el modelo de aprendizaje automático proporciona resultados deficientes tanto con la muestra del training como con registros de entrada desconocidos.

machine-learning-ingeniera-informatica

¿Cómo prevenir el overfitting en machine learning?

Para evitar o solucionar el overfitting en machine learning, podemos recurrir a diversas técnicas que mejoran el entrenamiento del modelo y corrigen las desviaciones inapropiadas en los resultados. Algunas de ellas son:

  • Continuar con el entrenamiento aportando un nuevo conjunto de datos. Esta reacción suele funcionar cuando la falta de acierto es achacable a una baja representatividad del data set.
  • Dividir la muestra en dos partes. Una la utilizaremos para entrenar al algoritmo de aprendizaje automático, y la otra para llevar a cabo un test que verifique si funciona correctamente.
  • Subdividir la muestra en varios conjuntos de datos más pequeños e ir entrenando al modelo con ellos. Cada uno servirá como set de validación de los resultados del anterior.
  • Simplificar los registros, eliminando variables que no aportan información significativa y que, en cambio, sí generan ruido que dificulta la detección de los patrones clave por parte del algoritmo.
  • Ajustar bien el número de épocas del entrenamiento, interrumpiéndolo en el punto en el que empieza a acechar el riesgo de overfitting.
  • Si sospechamos que la causa del fallo se encuentra en la poca representatividad de la muestra, llevar a cabo una limpieza de los datos, retirando los redundantes, para que reflejen mejor las características distintivas de las realidades que va a procesar el algoritmo.

 

Adentrarse en el mundo del machine learning tiene mucho de ensayo-error, así que no desesperes si tus modelos no funcionan a la primera. Los y las profesionales de la informática saben bien que su día a día pasa por experimentar, corregir y aprender de los errores antes de alcanzar el éxito. Si esta situación te suena, ¿por qué no te vienes a BETWEEN para continuar creciendo en tu carrera profesional gracias a nuestro abanico de ofertas de trabajo en informática en constante actualización? Sitúate en el mejor lugar posible para vivir las novedades del sector en los próximos años, como la expansión del big data o la generalización del protocolo HTTP/3 para un Internet más rápido. ¡Con BETWEEN no tendrás límites!

Etiquetas: Informática

Artículos Relacionados

Técnicas de desarrollo seguro de software

¿A que te suena esta historia? Trabajas como desarrollador o desarrolladora en un proyecto de diseño e implantación de software. Los plazos de entrega son ajustados y, en ...

Topics: Informática

HTTP/3, el protocolo que nos traerá (por fin) un Internet más rápido

Desde su nacimiento en los años 80 del siglo pasado, Internet ha utilizado siempre TCP como columna vertebral de su HTTP (Hypertext Transfer Protocol), el protocolo que organiza ...

Topics: Informática

Efecto 2038: ¿nos acecha un nuevo apagón informático?

En 2014, el artista coreano PSY rompió el contador de visualizaciones de YouTube al superar, con su vídeo del hit musical Gangnam Style, las 2.147.483.647 reproducciones. Una vez ...

Topics: Informática