Problemas en la Construcción de Modelos de Aprendizaje Automático

Profesor Ignacio Olmeda AI LAB

Sesgo y Varianza

Como hemos visto, los modelos pueden tener muchas parametrizaciones diferentes y variarán en lo bien que se ajusten a los datos.

Por ejemplo, en el siguiente ejemplo, dejemos que los puntos azules representen los datos de entrenamiento y los verdes los datos de prueba.

Gráfico X-Y

Supongamos que ajustamos un modelo lineal minimizando la distancia cuadrada a los puntos azules.

El modelo lineal no podrá capturar exactamente la relación entre X e Y en los datos de entrenamiento porque no todos los datos caen a lo largo de una línea: la relación podría ser no lineal o estar afectada por ruido.

$$Y = f(X), \quad f \text{ no lineal} \quad \neq \alpha + \beta X$$$

Ahora supongamos que utilizamos un modelo no lineal/no paramétrico que, con suficiente complejidad, podría aproximar perfectamente los puntos de datos.

Curva ajustada sin error

La curva pasa exactamente sobre los datos de entrenamiento.

Obviamente, podemos concluir que el segundo modelo (no paramétrico) es mejor en el conjunto de datos de entrenamiento que el primero (lineal).

El segundo modelo es capaz de ajustar los datos de entrenamiento porque es más flexible; puede representar exactamente los datos de entrenamiento. Se dice que tiene un sesgo bajo.

El primer modelo tiene muchas restricciones en la forma de su función, lo que lo hace incapaz de capturar los datos de entrenamiento. Tiene un sesgo alto.

En términos intuitivos, podemos considerar el sesgo como una sobresimplificación de relación oculta entre X e Y.

Nótese que el sesgo es fácilmente evitable: simplemente podemos aumentar la complejidad del modelo para reducirlo. Sin embargo, esto tendrá consecuencias, como veremos ahora.

Ahora centrémonos en el conjunto de datos de prueba. En el primer modelo tenemos:

Error en prueba - modelo lineal

Y en el segundo:

Error en prueba - modelo no paramétrico

Nótese que los errores en el conjunto de prueba son mayores para el segundo modelo que para el primero.

Debemos concluir que, aunque sea más simple, ¡el primer modelo es mejor en el conjunto de prueba!

Cuando usamos los mismos modelos en datos nuevos, la aparente flexibilidad del segundo modelo —más complejo— se convierte en una desventaja: es perfecto para los datos de entrenamiento, pero esto lo hace imperfecto para los datos de prueba.

Cuando un modelo exhibe una gran diferencia entre los datos y la predicción en datos nuevos, se dice que tiene una varianza alta.

En contraste, el primer modelo hizo pocas suposiciones sobre los datos; es “igualmente simple” en los conjuntos de entrenamiento y prueba, lo que le permite ajustarse mejor al conjunto de prueba. Tiene una varianza baja.

Resumen: El Dilema Sesgo-Varianza

  • Primer modelo: sesgo alto & varianza baja
  • Segundo modelo: sesgo bajo & varianza alta

Esto se conoce como el dilema sesgo-varianza: los modelos flexibles tienen un sesgo más bajo pero una varianza más alta que los modelos más rígidos.

Este dilema es inevitable: es imposible tener modelos con sesgo bajo y también con varianza baja. Hay un compromiso entre estas dos.

Un buen modelo es aquel que tiene una buena relación sesgo/varianza: captura correctamente la relación en los datos de entrenamiento y permite hacer predicciones correctas en los datos de prueba.

(Diagrama: Error vs. Complejidad del modelo, mostrando Sesgo, Varianza y Error total)

El dilema sesgo-varianza es uno de los aspectos más importantes a tener en cuenta al construir modelos bajo el paradigma no paramétrico del Aprendizaje Automático.

No se debe ser tentado por modelos complejos que proporcionan una explicación “perfecta” del pasado porque estos modelos, la mayoría de las veces, proporcionarán malas predicciones.

Por supuesto, los modelos que son malos al capturar relaciones en los datos de entrenamiento continuarán siendo malos para hacer predicciones.

Los buenos modelos representan los datos de entrenamiento pero no los sobre-representan.

Descomposición del Error

El error de cualquier modelo puede descomponerse en términos de los conceptos de sesgo y varianza que acabamos de ver. Omitiendo los detalles matemáticos, puede demostrarse que para cualquier modelo:

La expresión anterior nos dice que hay dos tipos de errores:

  • Error del modelo (errores de sesgo + varianza): debido al uso de un modelo inapropiado y que puede reducirse eligiendo correctamente el modelo adecuado.
  • Error inevitable: debido a la relación estocástica entre variables de entrada y salida, y que no puede reducirse independientemente de elección del modelo.

Underfiting y Overfitting

El dilema sesgo-varianza es una consecuencia directa de relación no perfecta (estocástica) entre variables explicativas y explicadas.

Necesitamos modelos con suficiente flexibilidad para ajustar la relación que vincula las variables, pero sería inútil intentar ajustar el componente aleatorio porque, por definición, es aleatorio y por lo tanto impredecible.

Cuando el modelo es demasiado flexible, actúa como una “base de datos” que simplemente “recuerda” los datos de entrenamiento.

Nótese que los datos de entrenamiento incluyen un componente aleatorio que no va a ocurrir en el futuro, por lo que es inútil “recordarlo”.

Ejemplo Numérico

Supongamos que la verdadera relación es:

Si tuviéramos la siguiente base de datos:

X (verdadero)Y (observado)
23.60.40
11.80.20
36.60.60
00.30.30
23.70.30
48.20.20

No estaríamos interesados en “aprender” el componente aleatorio porque en otro ejemplo podríamos tener:

X (verdadero)Y (observado)
24.30.30
12.10.10
36.30.30
00.20.20
23.60.40
47.60.40

El componente aleatorio no nos dice nada sobre la verdadera relación entre X e Y.

Si empleamos un modelo demasiado complejo de modo que represente exactamente los datos de entrenamiento, lo estamos forzando a “recordar” factores aleatorios que serán inútiles para la predicción.

Estamos haciendo overfitting de los datos; deberíamos haber empleado un modelo más simple.

(Diagrama: Relación verdadera vs. Relación ajustada con sobreajuste)

Alternativamente, el modelo empleado puede ser demasiado simple, lo que lo hace fallar al capturar la relación entre Y e X.

Por ejemplo, podríamos proponer un modelo trivial:

$$Y = \alpha$$$

(Diagrama: Relación verdadera vs. Relación ajustada con subajuste)

Estamos haciendo underfitting de los datos; es decir, deberíamos haber empleado un modelo más complejo.

Síntesis

  • Los modelos que hacen underfitting de los datos de entrenamiento tendrán un pobre desempeño en los datos de prueba: son “demasiado simples”.
  • Los modelos que hacen overfitting de los datos de entrenamiento tendrán un pobre desempeño en los datos de prueba: son “demasiado complejos”.
  • Habrá un modelo con una complejidad óptima, ni demasiado simple ni demasiado complejo, que capturará la verdadera relación entre X e Y.

Nótese que los conceptos de overfitting y underfitting están estrechamente relacionados con el dilema sesgo-varianza:

  • Los modelos con sesgo alto hacen underfitting de los datos.
  • Los modelos con varianza alta hacen overfitting de los datos.

En términos generales, tendremos la siguiente forma de curva de aprendizaje:

(Diagrama: Curva de aprendizaje mostrando Error de entrenamiento, Error de prueba, zona de Underfitting, zona óptima y zona de Overfitting en relación a Complejidad del modelo) El equilibrio óptimo entre sesgo y varianza depende principalmente del contexto o del problema. En algunos casos, los modelos tienden a tener una varianza alta y fácilmente hacen overfitting de los datos, lo que lleva a malas predicciones.

En otros casos, no es necesario preocuparse tanto por controlar la complejidad, ya que el modelo es relativamente robusto en términos del equilibrio sesgo-varianza.

Como veremos más adelante, existen varias técnicas para controlar la complejidad de los modelos y lograr un equilibrio razonable entre capacidad de representación y poder predictivo.

Funciones de Pérdida y Medidas de Rendimiento

Como hemos visto, la definición del Aprendizaje Automático implica mejorar alguna medida particular al realizar una tarea.

Esta medida debe estar bien definida, ser fácil de calcular y comprensible. Además, debe ser consistente con el algoritmo empleado para mejorarla, de modo que el aprendizaje se realice eficientemente.

Esta medida se llama función de pérdida.

La elección de función de pérdida es crucial al desarrollar cualquier aplicación de Aprendizaje Automático. Una mala elección de función de pérdida llevará a un modelo pobre, incluso cuando los datos son buenos y suficientes.

Definición Formal del Problema de Aprendizaje

Podemos definir genéricamente el problema de Aprendizaje como encontrar los parámetros óptimos de modo que la pérdida, calculada como la “distancia” entre el valor predicho y el valor real, sea minimizada.

Como vemos, el aprendizaje puede definirse formalmente de esta manera, y por lo tanto, la calidad del aprendizaje depende crucialmente de elección de función de pérdida.

Nótese que los parámetros serán óptimos solo bajo tal función de pérdida, por lo que debe ser consistente con el problema en cuestión.

También debe ser posible optimizar la función de pérdida de manera eficiente.

Medidas de Rendimiento (Métricas)

Después de que se ha construido un modelo, se pueden emplear otras medidas para evaluarlo. Tales medidas se llaman medidas de rendimiento (también denominadas métricas).

Las medidas de rendimiento no necesariamente tienen que ser las mismas que las funciones de pérdida empleadas al construir el algoritmo.

Nótese que, en principio, esto es de alguna manera una inconsistencia, ya que el modelo se optimiza usando una función y luego se evalúa usando otra.

Esto se hace por varias razones:

  1. En primer lugar, las funciones de pérdida y rendimiento pueden estar estrechamente relacionadas. La situación más obvia es la del MAE (Error Absoluto Medio) y el MSE (Error Cuadrado Medio) cuando no hay grandes discrepancias en el rango de datos: una medida conducirá a resultados similares a la otra, por lo que el rendimiento y la pérdida serán consistentes.

  2. En segundo lugar, existen algoritmos muy eficientes para funciones de pérdida particulares (por ejemplo, el algoritmo de retropropagación para minimizar el error cuadrado medio). Estos algoritmos pueden no existir o ser costosos de diseñar para funciones de rendimiento arbitrarias.

  3. En tercer lugar, las funciones de rendimiento pueden ser una especie de pruebas estadísticas que se pueden usar para, por ejemplo, comparar modelos alternativos.

  4. Finalmente, usar una función de rendimiento diferente a la función de pérdida puede evitar algunos problemas de overfitting. En algunos casos, los modelos “explotan” exitosamente propiedades de función de rendimiento, permitiéndose estar cerca en algún sentido estadístico, pero lejos en un sentido geométrico (el cuarteto de Anscombe, por ejemplo).

El uso de diferentes funciones de rendimiento/pérdida sigue siendo un área de debate entre teóricos y profesionales.

Funciones de Pérdida en Regresión

Por ejemplo, cuando introdujimos modelos lineales en regresión, mencionamos que las predicciones pueden evaluarse usando el error cuadrado medio (MSE):

$$\text{m.s.e.} = g(\hat{Y}, Y) = \frac{1}{n}\sum {i=1}^{n}(y i - \hat{y} i)^2$$$

Hasta ahora, hemos usado una notación compacta para simplificar, pero en realidad lo que queremos hacer es calcular el MSE en todas las observaciones :

$$\text{m.s.e.} = g(Y, \hat{Y}) = \frac{1}{n}\sum {i=1}^{n}(y i - \hat{y} i)^2$$$

Como se mencionó, en este contexto, el aprendizaje puede interpretarse como el proceso de minimizar alguna pérdida; es decir, encontrar los parámetros óptimos de modo que (por ejemplo) el error MSE sea minimizado:

$$\min {\beta 0, \beta 1, \beta 2, \ldots, \beta n} g(Y, \hat{Y}) = \frac{1}{n}\sum {i=1}{n}(y i - \hat{y} i)^2$$$$$

$$= \frac{1}{n}\sum {i=1}^{n}\left(y i - \beta 0 - \beta 1 X i - \beta 2 X i^2 - \ldots - \beta n X i^n\right)^2$$$$

Características del MSE

Nótese que el MSE tiene una serie de características que no son obvias pero deben tenerse en cuenta:

  • El MSE será sesgado si alguna predicción es particularmente mala.
  • El MSE se expresa en unidades cuadradas, no en las mismas unidades de variable que queremos predecir.
  • El MSE es sensible a la unidad de medida.
  • El MSE no considera proporcionalidad: 4 es el doble de 2 y 8 es el doble de 4, pero en el primer caso el MSE es 4 y en el segundo caso es 16.

Esto, entre otras razones, hace que el MSE no sea una pérdida perfecta en cualquier situación.

La ubicuidad del MSE en muchas aplicaciones de Aprendizaje Automático se debe al hecho de que existen algoritmos de aprendizaje eficientes para él, ya que, como se mencionó, muchos usan descenso de gradiente.

Sin embargo, en otros contextos, podemos preferir emplear otras medidas.

Por ejemplo, podríamos emplear el error cuadrado medio de raíz (RMSE), que corrige el efecto de usar unidades cuadradas:

$$\text{r.m.s.e.} = g(\hat{Y}, Y) = \sqrt{\frac{1}{n}\sum {i=1} {n}(y i - \hat{y} i)^2}$$$

O el error absoluto medio (MAE) que penaliza por igual en todo el rango de Y:

undefined