Saltar al contenido

Cómo calcular la compensación de la desviación con la pitón

19 de agosto de 2020

El rendimiento de un modelo de aprendizaje por máquina puede caracterizarse en términos de sesgo y el variación de la modelo.

Un modelo con un alto sesgo hace fuertes suposiciones sobre la forma de la función subyacente desconocida que mapea las entradas a las salidas en el conjunto de datos, como la regresión lineal. Un modelo con alta varianza depende en gran medida de las características específicas del conjunto de datos de formación, como los árboles de decisión no podados. Deseamos modelos con bajo sesgo y baja varianza, aunque a menudo existe un equilibrio entre estas dos preocupaciones.

La compensación entre sesgo y variación es una conceptualización útil para seleccionar y configurar los modelos, aunque en general no se puede computar directamente ya que requiere un conocimiento completo del dominio del problema, que no tenemos. No obstante, en algunos casos, podemos estimar el error de un modelo y dividirlo en componentes de sesgo y varianza, lo que puede proporcionar una visión del comportamiento de un modelo determinado.

En este tutorial, descubrirá cómo calcular el sesgo y la varianza para un modelo de aprendizaje de una máquina.

Después de completar este tutorial, lo sabrás:

  • El error del modelo consiste en la variación del modelo, el sesgo del modelo y el error irreducible.
  • Buscamos modelos con bajo sesgo y varianza, aunque normalmente la reducción de uno resulta en un aumento del otro.
  • Cómo descomponer el error cuadrático medio en términos de sesgo y varianza del modelo.

Ponga en marcha su proyecto con mi nuevo libro Maestría en el aprendizaje de la máquina con Python, incluyendo tutoriales paso a paso y el El código fuente de Python archivos para todos los ejemplos.

Empecemos.

Cómo calcular la compensación de la desviación de la variación del sesgo en Python

Cómo calcular la compensación de la desviación de la variación del sesgo en Python
Foto de Nathalie, algunos derechos reservados.

Resumen del Tutorial

Este tutorial está dividido en tres partes; son:

  1. Sesgo, variación y error irreducible
  2. Intercambio de sesgo y variación
  3. Calcular el sesgo y la varianza

Sesgo, variación y error irreducible

Considere un modelo de aprendizaje de máquinas que hace predicciones para una tarea de modelado predictivo, como la regresión o la clasificación.

El rendimiento del modelo en la tarea puede describirse en términos de error de predicción en todos los ejemplos no utilizados para entrenar el modelo. Nos referiremos a esto como el error del modelo.

El error del modelo puede descomponerse en tres fuentes de error: el variación del modelo, el sesgo del modelo, y la variación de la error irreducible en los datos.

  • Error(Modelo) = Varianza(Modelo) + Sesgo(Modelo) + Varianza(Error Irreducible)

Veamos más de cerca cada uno de estos tres términos.

Modelo de sesgo

El sesgo es una medida de lo cerca que el modelo puede capturar la función de mapeo entre las entradas y las salidas.

Capta la rigidez del modelo: la fuerza de la suposición que tiene el modelo sobre la forma funcional del mapeo entre entradas y salidas.

Esto refleja lo cerca que la forma funcional del modelo puede llegar a la verdadera relación entre los predictores y el resultado.

– Página 97, Applied Predictive Modeling, 2013.

Recomendado:  COVID-19 acelera los avances científicos en otras áreas

Un modelo con un alto sesgo es útil cuando el sesgo coincide con la verdadera pero desconocida función cartográfica subyacente para el problema de modelación predictiva. Sin embargo, un modelo con un gran sesgo será completamente inútil cuando la forma funcional para el problema no coincida con los supuestos del modelo, por ejemplo, suponiendo una relación lineal para los datos con una alta relación no lineal.

  • Bajo sesgo…: Débiles supuestos sobre la forma funcional del mapeo de entradas a salidas.
  • Alto Sesgo: Fuertes supuestos sobre la forma funcional de la cartografía de los insumos a los productos.

El sesgo es siempre positivo.

Variación del modelo

La variación del modelo es la cantidad que cambia el rendimiento del modelo cuando se ajusta a diferentes datos de entrenamiento.

Capta el impacto de los detalles que los datos tienen en el modelo.

La variación se refiere a la cantidad en que [the model] cambiaría si lo estimamos usando un conjunto de datos de entrenamiento diferente.

– Página 34, una introducción al aprendizaje estadístico con aplicaciones en R, 2014.

Un modelo con alta varianza cambiará mucho con pequeños cambios en el conjunto de datos de entrenamiento. Por el contrario, un modelo con baja varianza cambiará poco con pequeños o incluso grandes cambios en el conjunto de datos de entrenamiento.

  • Variación baja: Pequeños cambios en el modelo con cambios en el conjunto de datos de entrenamiento.
  • Alta Variación: Grandes cambios en el modelo con cambios en el conjunto de datos de entrenamiento.

La variación es siempre positiva.

Error Irreducible

En general, el error de un modelo consiste en un error reducible y un error irreducible.

  • Error del modelo = Error Reducible + Error Irreducible

El error reducible es el elemento que podemos mejorar. Es la cantidad que reducimos cuando el modelo está aprendiendo en un conjunto de datos de entrenamiento e intentamos que este número se acerque lo más posible a cero.

El error irreducible es el error que no podemos eliminar con nuestro modelo, o con cualquier modelo.

El error es causado por elementos fuera de nuestro control, como el ruido estadístico en las observaciones.

…usualmente llamado «ruido irreducible» y no puede ser eliminado por el modelado.

– Página 97, Applied Predictive Modeling, 2013.

Por lo tanto, aunque podamos aplastar el error reducible a un valor muy pequeño cercano a cero, o incluso cero en algunos casos, también tendremos algún error irreducible. Define un límite inferior en el rendimiento de un problema.

Es importante tener en cuenta que el error irreducible siempre proporcionará un límite superior en la exactitud de nuestra predicción para Y. Este límite es casi siempre desconocido en la práctica.

– Página 19, una introducción al aprendizaje estadístico con aplicaciones en R, 2014.

Es un recordatorio de que ningún modelo es perfecto.

Intercambio de sesgo y variación

El sesgo y la variación del rendimiento de un modelo están conectados.

Recomendado:  Previsión de la serie de tiempo con el profeta en Python

Idealmente, preferiríamos un modelo con bajo sesgo y baja varianza, aunque en la práctica, esto es muy difícil. De hecho, esto podría describirse como el objetivo del aprendizaje aplicado de la máquina para un determinado problema de modelado predictivo,

La reducción del sesgo no puede lograrse fácilmente aumentando la varianza. Por el contrario, la reducción de la varianza puede lograrse fácilmente aumentando el sesgo.

Esto se denomina una compensación porque es fácil obtener un método con un sesgo extremadamente bajo pero con una alta varianza […] o un método con muy baja varianza pero con alto sesgo…

– Página 36, una introducción al aprendizaje estadístico con aplicaciones en R, 2014.

Esta relación se conoce generalmente como la compensación entre sesgo y variación. Es un marco conceptual para pensar en cómo elegir los modelos y la configuración de los mismos.

Podemos elegir un modelo basado en su sesgo o variación. Los modelos simples, como la regresión lineal y la regresión logística, generalmente tienen un alto sesgo y una baja varianza. Los modelos complejos, como el de bosque aleatorio, generalmente tienen un sesgo bajo pero una alta varianza.

También podemos elegir las configuraciones del modelo en función de su efecto sobre el sesgo y la varianza del modelo. El hiperparámetro k en los vecinos más cercanos controla el equilibrio entre el sesgo y la varianza. Los valores pequeños, como k=1, dan como resultado un bajo sesgo y una alta varianza, mientras que los valores grandes de k, como k=21, dan como resultado un alto sesgo y una baja varianza.

Un alto sesgo no siempre es malo, ni tampoco una alta varianza, pero pueden llevar a resultados pobres.

A menudo debemos probar un conjunto de diferentes modelos y configuraciones de modelos para descubrir qué es lo que mejor funciona para un conjunto de datos determinado. Un modelo con un gran sesgo puede ser demasiado rígido y no encajar en el problema. Por el contrario, una gran variación puede encajar en el problema.

Podemos decidir aumentar el sesgo o la varianza siempre y cuando disminuya la estimación global del error del modelo.

Calcular el sesgo y la varianza

Me hacen esta pregunta todo el tiempo:

¿Cómo puedo calcular la compensación de sesgo-varianza de mi algoritmo en mi conjunto de datos?

Técnicamente, no podemos realizar este cálculo.

No podemos calcular el sesgo y la varianza reales para un problema de modelación predictiva.

Esto se debe a que no conocemos la verdadera función de mapeo para un problema de modelado predictivo.

En su lugar, utilizamos el sesgo, la varianza, el error irreducible y la compensación entre sesgo y varianza como herramientas para ayudar a seleccionar los modelos, configurar los modelos e interpretar los resultados.

En una situación de la vida real en la que f no se observa, por lo general no es posible calcular explícitamente la prueba MSE, el sesgo o la varianza para un método de aprendizaje estadístico. Sin embargo, uno siempre debe tener en cuenta la compensación entre sesgo y varianza.

– Página 36, una introducción al aprendizaje estadístico con aplicaciones en R, 2014.

Recomendado:  Google presenta Shopping Graph, herramienta de aprendizaje automático para facilitar la inteligencia artificial - WWD

Aunque la compensación entre sesgo y variación es una herramienta conceptual, podemos estimarla en algunos casos.

La librería mlxtend de Sebastian Raschka proporciona la función bias_variance_decomp() que puede estimar el sesgo y la varianza de un modelo sobre múltiples muestras bootstrap.

Primero, debe instalar la biblioteca mlxtend; por ejemplo:

El siguiente ejemplo carga el conjunto de datos de viviendas de Boston directamente a través de la URL, lo divide en trenes y conjuntos de pruebas, y luego estima el error cuadrado medio (MSE) para una regresión lineal, así como el sesgo y la varianza para el error del modelo sobre 200 muestras de bootstrap.

La ejecución del ejemplo informa del error estimado, así como del sesgo y la varianza estimados para el error del modelo.

Sus resultados específicos pueden variar dada la naturaleza estocástica de la rutina de evaluación. Intente ejecutar el ejemplo unas cuantas veces.

En este caso, podemos ver que el modelo tiene un alto sesgo y una baja varianza. Esto es de esperar dado que estamos usando un modelo de regresión lineal. También podemos ver que la suma de la media y la varianza estimadas es igual al error estimado del modelo, por ejemplo, 20,726 + 1,761 = 22,487.