¿Qué es exactamente el sobreajuste? ¿Por que sucede? ¿Cómo afecta a mi modelo?

En pocas palabras, el sobreajuste ocurre cuando su modelo ha aprendido a ajustar el ruido en su conjunto de entrenamiento específico en lugar de la distribución de probabilidad subyacente, y como resultado, no se generaliza bien cuando se le presentan datos invisibles.

El sobreajuste a menudo ocurre cuando un modelo tiene demasiados parámetros libres, por ejemplo, considere el caso de regresión con N puntos de datos; es posible que un modelo lineal simple pueda ajustar los datos con una cierta tasa de error, pero tal vez un polinomio de noveno grado se ajuste al datos perfectamente, con una tasa de error cero. Esto no significa (necesariamente) que el polinomio de noveno grado sea mejor; ciertamente es posible que la relación entre los datos sea realmente lineal, con una cierta cantidad de error irreducible. Dado que este conjunto de datos de entrenamiento específico terminó teniendo un bajo error con un polinomio de noveno grado, si continuamos usando este modelo en conjuntos de datos no vistos, es probable que observemos un error mayor que el modelo lineal [1].

Una forma genial de observar el grado en que un modelo tiene un sobreajuste es observar la magnitud absoluta de los pesos que aprende. Para la intuición, en el caso de la regresión, digamos que tenemos dos entradas muy similares [matemáticas] x_j y x_i [/ ​​matemáticas]: solo difieren en la función [matemáticas] k [/ matemáticas] por un valor pequeño [matemáticas] \ épsilon [/ matemáticas]. Esperaríamos que las etiquetas [math] y_j y y_i [/ ​​math] solo difieran en un valor pequeño, sin embargo, si el peso correspondiente a la función kth [math] W_k [/ math] fuera muy grande, esto no sería cierto . Para el problema anterior en el que se sobreajusta el polinomio de noveno grado, notamos valores de peso mucho más altos [1]:

Esta es la razón por la cual las técnicas como la regularización L2 se usan con tanta frecuencia y se ha demostrado que son cruciales en la práctica: el regularizador L2 penaliza la magnitud de los pesos, coincidiendo así con nuestra intuición de que los valores de peso más pequeños son mejores.

También ayuda pensar en sobreajustar en términos de sesgo y varianza de su modelo. El sesgo se define como la diferencia entre la predicción (esperada) de nuestro modelo y el valor real que estamos prediciendo, mientras que el error debido a la varianza se define como la variabilidad en la predicción de un modelo [2]. El error de un modelo de aprendizaje automático puede descomponerse en error debido a sesgo, error debido a varianza y error irreducible:

[matemáticas] Err (x) = sesgo (X) ^ 2 + var (X) + \ epsilon [/ matemáticas]

Esto implica que existe una compensación de sesgo-varianza al considerar diferentes modelos de aprendizaje automático. En el caso de un modelo que se ha ajustado en exceso al conjunto de entrenamiento, esperamos que tenga un sesgo bajo y una gran varianza: alcanza una buena precisión en el conjunto de datos de entrenamiento, pero sus predicciones fluctúan mucho cuando se prueban en diferentes conjuntos de datos. Con este conocimiento, podemos determinar que sería útil reducir la varianza de nuestro modelo, incluso si implica aumentar ligeramente nuestro sesgo, de modo que aunque la precisión en el conjunto de datos de prueba no sea tan buena, sabemos que nuestro El modelo tendrá mejores capacidades de generalización.

Fuentes

  1. Diapositivas del curso de aprendizaje automático de UCLA
  2. Comprender la compensación de la variación de sesgo – Scott Fortmann-Roe