¿Qué es el «Overfitting» y el «Underfitting» en el aprendizaje automático?

– S1E14

Dado que su tarea principal es seleccionar un algoritmo de aprendizaje y entrenarlo con algunos datos, las dos cosas que pueden salir mal son «mal algoritmo» y «malos datos»

Estos son ejemplos de un mal algoritmo-

Sobreajuste-

El sobreajuste es un error de modelado que se produce cuando una función se ajusta demasiado a un conjunto limitado de puntos de datos. Significa que el modelo funciona bien en los datos de entrenamiento, pero no se generaliza bien.

Ejemplo: digamos que estás visitando un país extranjero y el taxista te estafa. Podrías tener la tentación de decir que todos los taxistas de ese país son ladrones

Sobreajustar los datos de entrenamiento

Los modelos complejos como las redes neuronales profundas pueden detectar patrones sutiles en los datos, pero si el conjunto de entrenamiento es ruidoso, o si es demasiado pequeño (lo que introduce ruido de muestreo), entonces es probable que el modelo detecte patrones en el propio ruido.

Por ejemplo, digamos que añade el atributo del nombre del país a su modelo de satisfacción vital-

En ese caso, un modelo complejo puede detectar patrones como el hecho de que todos los países de los datos de entrenamiento con una «w» en su nombre tienen una satisfacción vital superior a 7: Nueva Zelanda (7.3), Noruega (7,4), Suecia (7,2) y Suiza (7,5).

Pero esta regla de satisfacción con la w no se generaliza a Ruanda, Zimbabue, etc.

Obviamente, este patrón se produjo en los datos de entrenamiento por pura casualidad, pero el modelo no tiene forma de saber si un patrón es real o simplemente el resultado del ruido en los datos.

El sobreajuste se produce cuando el modelo es demasiado complejo en relación con la cantidad y el ruido de los datos de entrenamiento.

Aquí están las posibles soluciones:

  • Simplificar el modelo seleccionando uno con menos parámetros (por ejemplo, un modelo lineal en lugar de un modelo polinómico de alto grado),
  • Reducir el número de atributos en los datos de entrenamiento, o restringir* el modelo.
  • Recoger más datos de entrenamiento.
  • Reducir el ruido en los datos de entrenamiento (por ejemplo, corregir los errores de los datos y eliminar los valores atípicos).

Restringir un modelo para hacerlo más simple y reducir el riesgo de sobreajuste se denomina regularización.

Por ejemplo, el modelo lineal que definimos anteriormente tiene dos parámetros, θ0 y θ1 .

Esto da al algoritmo de aprendizaje dos grados de libertad para adaptar el modelo a los datos de entrenamiento: puede ajustar tanto la altura (θ0 ) como la pendiente (θ1 ) de la línea.

Si forzáramos θ1 = 0, el algoritmo sólo tendría un grado de libertad y le costaría mucho más ajustarse a los datos correctamente: todo lo que podría hacer es mover la línea hacia arriba o hacia abajo para acercarse lo más posible a las instancias de entrenamiento, por lo que terminaría alrededor de la media.

Si permitimos que el algoritmo modifique θ1 pero le obligamos a mantenerlo pequeño, entonces el algoritmo de aprendizaje tendrá efectivamente entre uno y dos grados de libertad.

Quieres encontrar el equilibrio adecuado entre el ajuste perfecto de los datos de entrenamiento y mantener el modelo lo suficientemente simple para asegurar que se generalice bien.

La regularización reduce el riesgo de sobreajuste
  • Línea punteada- entrenada sólo en círculos,
  • Línea discontinua-entrenada tanto en círculos como en cuadrados
  • Línea sólida- es un modelo entrenado sólo en círculos

Puedes ver que la regularización forzó al modelo a tener una menor pendiente: este modelo no se ajusta a los datos de entrenamiento (círculos) tan bien como el primer modelo, pero en realidad generaliza mejor a los nuevos ejemplos que no vio durante el entrenamiento (cuadrados).

La cantidad de regularización a aplicar durante el aprendizaje puede ser controlada por un hiperparámetro.

Un hiperparámetro es un parámetro de un algoritmo de aprendizaje (no del modelo). Debe establecerse antes del entrenamiento y permanece constante durante el mismo.

Si se establece el hiperparámetro de regularización en-

  • Un valor muy grande- se obtendrá un modelo casi plano (una pendiente cercana a cero), el algoritmo de aprendizaje casi seguro que no sobreajustará los datos de entrenamiento, pero será menos probable que encuentre una buena solución.

Ajustar los hiperparámetros es una parte importante de la construcción de un sistema de Aprendizaje Automático (verás un ejemplo detallado en más episodios).

El desajuste se produce cuando su modelo es demasiado simple para aprender la estructura subyacente de los datos.

Un modelo lineal de satisfacción en la vida es propenso al desajuste, la realidad es simplemente más compleja que el modelo, por lo que sus predicciones están destinadas a ser inexactas.

Aquí están las principales opciones para arreglar este problema-

  • Seleccionar un modelo más potente, con más parámetros.
  • Aportar mejores características al algoritmo de aprendizaje (ingeniería de características).
  • Reducir las restricciones del modelo (por ejemplo, reducir el hiperparámetro de regularización).

Lee a continuación- Prueba y validación de un modelo entrenado

Deja una respuesta

Tu dirección de correo electrónico no será publicada.