Clasificación: Sesgo de predicción

Las predicciones de regresión logística no deben tener sesgo. Esto significa lo siguiente:

"promedio de predicciones" debe ser ≈ "promedio de observaciones"

El sesgo de predicción es una cantidad que mide qué tan alejados están esos dos promedios. Esto significa lo siguiente:

$$\text{sesgo de predicción} = \text{promedio de predicciones} - \text{promedio de etiquetas en el conjunto de datos}$$

Un margen de predicción significativamente distinto de cero revela que hay un error en alguna parte del modelo, ya que indica que el modelo es incorrecto con respecto a la frecuencia con la que ocurren las etiquetas positivas.

Por ejemplo, supongamos que sabemos que, en promedio, el 1% de todos los correos electrónicos son spam. Si no sabemos absolutamente nada sobre un determinado correo electrónico, debemos predecir que tiene un 1% de probabilidades de ser spam. De manera similar, un buen modelo de spam debería predecir en promedio que los correos electrónicos tienen un 1% de probabilidades de ser spam. (En otras palabras, si promediamos las probabilidades predichas de cada correo electrónico individual de ser spam, el resultado debería ser 1%). Si, en lugar de eso, la predicción promedio del modelo es del 20% de probabilidad de ser spam, podemos concluir que muestra sesgo de predicción.

Las posibles causas fundamentales del sesgo de predicción son las siguientes:

  • conjunto de atributos incompleto
  • conjunto de datos contaminado
  • canalización con errores
  • muestra de entrenamiento con sesgo
  • regularización excesivamente fuerte

Es posible que te sientas tentado a corregir el sesgo de predicción a través de un procesamiento posterior del modelo aprendido, es decir, agregando un nivel de calibración que ajuste el resultado del modelo para reducir el sesgo de predicción. Por ejemplo, si tu modelo tiene más del 3% de sesgo, podrías agregar un nivel de calibración que reduzca la predicción media en un 3%. Sin embargo, agregar un nivel de calibración no es una buena idea, debido a las siguientes razones:

  • Estarás solucionando el síntoma en lugar de la causa.
  • Crearás un sistema frágil que deberás mantener actualizado.

En lo posible, evita los niveles de calibración. Los proyectos que usan niveles de calibración tienden a volverse dependientes de ellos y usan niveles de calibración para solucionar todos los problemas de modelo. En definitiva, mantener los niveles de calibración puede volverse una agonía.

Agrupamiento y sesgo de predicción

La regresión logística predice un valor entre 0 y 1. Sin embargo, todos los ejemplos etiquetados son exactamente 0 (lo que significa, por ejemplo, "no es spam") o exactamente 1 (lo que significa, por ejemplo, "es spam"). Por lo tanto, cuando se evalúa el sesgo de predicción, no se puede determinar con exactitud el sesgo de predicción en función de un solo ejemplo; el sesgo de predicción se debe examinar en un "agrupamiento" de ejemplos. Esto significa que, en regresión logística, el sesgo de predicción solo tiene sentido cuando se agrupan suficientes ejemplos para poder comparar un valor predicho (por ejemplo, 0.392) con los valores observados (por ejemplo, 0.394).

Los agrupamientos se pueden formar de las siguientes maneras:

  • Puedes dividir de forma lineal las predicciones objetivo.
  • Puedes formar cuantiles.

Considera la siguiente representación de calibración de un modelo específico. Cada punto representa un agrupamiento de 1,000 valores. Los ejes tienen los siguientes significados:

  • El eje x representa el promedio de valores que el modelo predijo para ese agrupamiento.
  • El eje y representa el promedio de valores real en el conjunto de datos para ese agrupamiento.

Ambos ejes son escalas logarítmicas.

El eje x es Predicción y el eje y es Etiqueta.Para los valores de predicción medios y altos, el sesgo de predicción es insignificante.Para los valores de predicción bajos, el sesgo de predicción es relativamente alto.

Figura 8. Curva del sesgo de predicción (escalas logarítmicas)

¿Por qué las predicciones son tan deficientes solo para parte del modelo? Aquí hay algunas posibilidades:

  • El conjunto de entrenamiento no representa de forma adecuada determinados subconjuntos del espacio de datos.
  • Algunos subconjuntos de los datos están más contaminados que otros.
  • El modelo está regularizado en exceso. (Considera reducir el valor de lambda).

Enviar comentarios sobre…

Curso intensivo de aprendizaje automático