Por qué utilizar el aprendizaje ensemble?

Tweet Share Share

¿Cuáles son los beneficios de los métodos de ensemble para el aprendizaje automático?

Los ensembles son modelos predictivos que combinan predicciones de otros dos o más modelos.

Los métodos de aprendizaje de ensemble son populares y la técnica a la que se recurre cuando el mejor rendimiento en un proyecto de modelado predictivo es el resultado más importante.

Sin embargo, no siempre son la técnica más adecuada a utilizar y los principiantes del campo del aprendizaje automático aplicado tienen la expectativa de que los conjuntos o un método de conjunto específico son siempre el mejor método a utilizar.

Los conjuntos ofrecen dos beneficios específicos en un proyecto de modelado predictivo, y es importante saber cuáles son estos beneficios y cómo medirlos para asegurar que el uso de un conjunto es la decisión correcta en su proyecto.

In this tutorial, you will discover the benefits of using ensemble methods for machine learning.

After reading this tutorial, you will know:

  • A minimum benefit of using ensembles is to reduce the spread in the average skill of a predictive model.
  • A key benefit of using ensembles is to improve the average prediction performance over any contributing member in the ensemble.
  • The mechanism for improved performance with ensembles is often the reduction in the variance component of prediction errors made by the contributing models.

Let’s get started.

Why Use Ensemble Learning
Photo by Juan Antonio Segal, some rights reseved.

Tutorial Overview

This tutorial is divided into four parts; they are:

  1. Aprendizaje por conjuntos
  2. Utilizar conjuntos para mejorar la robustez
  3. Sesgo, varianza y conjuntos
  4. Utilizar conjuntos para mejorar el rendimiento

Aprendizaje por conjuntos

Un conjunto es un modelo de aprendizaje automático que combina las predicciones de dos o más modelos.

Los modelos que contribuyen al conjunto, denominados miembros del conjunto, pueden ser del mismo tipo o de tipos diferentes y pueden o no estar entrenados con los mismos datos de entrenamiento.

Las predicciones realizadas por los miembros del conjunto pueden combinarse utilizando estadísticas, como la moda o la media, o mediante métodos más sofisticados que aprenden cuánto confiar en cada miembro y bajo qué condiciones.

El estudio de los métodos de ensamblaje realmente se disparó en los años 90, y fue en esa década cuando se publicaron artículos sobre los métodos más populares y utilizados, como los métodos core bagging, boosting y stacking.

A finales de la década de 2000, la adopción de los ensamblajes se disparó debido, en parte, a su enorme éxito en las competiciones de aprendizaje automático, como el premio Netflix y las posteriores competiciones en Kaggle.

Durante las dos últimas décadas, los sistemas de clasificadores múltiples, también llamados sistemas de conjuntos, han gozado de una creciente atención dentro de la comunidad de la inteligencia computacional y el aprendizaje automático.

– Page 1, Ensemble Machine Learning, 2012.

Los métodos de conjuntos aumentan enormemente el coste y la complejidad computacional. Este aumento proviene de la experiencia y el tiempo necesarios para entrenar y mantener múltiples modelos en lugar de un único modelo. Esto obliga a preguntarse:

  • ¿Por qué deberíamos considerar el uso de un ensemble?

Hay dos razones principales para utilizar un ensemble sobre un único modelo, y están relacionadas; son:

  1. Rendimiento: Un conjunto puede hacer mejores predicciones y lograr un mejor rendimiento que cualquier modelo individual que contribuya.
  2. Robustez: Un conjunto reduce la dispersión de las predicciones y el rendimiento del modelo.
  3. Los conjuntos se utilizan para lograr un mejor rendimiento predictivo en un problema de modelado predictivo que un solo modelo predictivo. La forma en que esto se consigue puede entenderse como que el modelo reduce el componente de varianza del error de predicción añadiendo sesgo (es decir, en el contexto de la compensación sesgo-varianza).

    Desarrollado originalmente para reducir la varianza -mejorando así la precisión- de un sistema automatizado de toma de decisiones…

    – Página 1, Ensemble Machine Learning, 2012.

    Hay otro beneficio importante y menos discutido de los métodos de ensemble es la mejora de la robustez o fiabilidad en el rendimiento medio de un modelo.

    Ambos son preocupaciones importantes en un proyecto de aprendizaje automático y a veces podemos preferir una o ambas propiedades de un modelo.

    Veamos más de cerca estas dos propiedades para entender mejor los beneficios de utilizar el aprendizaje de conjuntos en un proyecto.

    Utilizar conjuntos para mejorar la robustez

    En un proyecto de modelado predictivo, a menudo evaluamos múltiples modelos o tuberías de modelado y elegimos uno que se desempeña bien o mejor como nuestro modelo final.

    El algoritmo o canalización se ajusta entonces a todos los datos disponibles y se utiliza para hacer predicciones sobre nuevos datos.

    Tenemos una idea de lo bien que funcionará el modelo en promedio a partir de nuestro arnés de pruebas, normalmente estimado utilizando la validación cruzada repetida de k-fold como estándar de oro. El problema es que el rendimiento medio podría no ser suficiente.

    Una precisión o error medio de un modelo es un resumen del rendimiento esperado, cuando en realidad, algunos modelos se comportaron mejor y otros peor en diferentes subconjuntos de los datos.

    La desviación estándar es la diferencia media entre una observación y la media y resume la dispersión o propagación de los datos. Para una medida de precisión o error de un modelo, puede darle una idea de la dispersión del comportamiento del modelo.

    Mirar las puntuaciones de rendimiento mínimo y máximo del modelo le dará una idea del peor y mejor rendimiento que podría esperar del modelo, y esto podría no ser aceptable para su aplicación.

    El conjunto más sencillo es ajustar el modelo varias veces en los conjuntos de datos de entrenamiento y combinar las predicciones utilizando una estadística de resumen, como la media para la regresión o la moda para la clasificación. Es importante que cada modelo sea ligeramente diferente debido al algoritmo de aprendizaje estocástico, a la diferencia en la composición del conjunto de datos de entrenamiento o a las diferencias en el propio modelo.

    Esto reducirá la dispersión en las predicciones realizadas por el modelo. El rendimiento medio será probablemente el mismo, aunque el peor y el mejor rendimiento se acercarán al rendimiento medio.

    En efecto, suaviza el rendimiento esperado del modelo.

    Podemos referirnos a esto como la «robustez» en el rendimiento esperado del modelo y es un beneficio mínimo del uso de un método de conjunto.

    Un conjunto puede o no mejorar el rendimiento del modelo sobre cualquier miembro individual que contribuya, lo que se discute más adelante, pero como mínimo, debería reducir la dispersión en el rendimiento medio del modelo.

    Para más información sobre este tema, consulte el tutorial:

  • Cómo reducir la varianza en un modelo final de aprendizaje automático

Sesgo, varianza y conjuntos

Los modelos de aprendizaje automático para la clasificación y la regresión aprenden una función de mapeo de las entradas a las salidas.

Este mapeo se aprende a partir de ejemplos del dominio del problema, el conjunto de datos de entrenamiento, y se evalúa en datos no utilizados durante el entrenamiento, el conjunto de datos de prueba.

Los errores cometidos por un modelo de aprendizaje automático se describen a menudo en términos de dos propiedades: el sesgo y la varianza.

El sesgo es una medida de lo cerca que el modelo puede capturar la función de mapeo entre entradas y salidas. Captura la rigidez del modelo: la fuerza de la suposición que tiene el modelo sobre la forma funcional del mapeo entre entradas y salidas.

La varianza del modelo es la cantidad que cambia el rendimiento del modelo cuando se ajusta a diferentes datos de entrenamiento. Captura el impacto de las especificidades de los datos tiene en el modelo.

La varianza se refiere a la cantidad por la que cambiaría si lo estimáramos utilizando un conjunto de datos de entrenamiento diferente.

– Página 34, An Introduction to Statistical Learning with Applications in R, 2014.

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

En principio, preferiríamos un modelo con bajo sesgo y baja varianza, aunque en la práctica, esto es muy desafiante. De hecho, esto podría describirse como el objetivo del aprendizaje automático aplicado para un determinado problema de modelado predictivo.

La reducción del sesgo a menudo puede lograrse fácilmente aumentando la varianza. A la inversa, reducir la varianza puede lograrse fácilmente aumentando el sesgo.

Esto se denomina trade-off porque es fácil obtener un método con un sesgo extremadamente bajo pero una varianza alta o un método con una varianza muy baja pero un sesgo alto…

– Página 36, An Introduction to Statistical Learning with Applications in R, 2014.

Algunos modelos tienen naturalmente un sesgo alto o una varianza alta, que a menudo se puede relajar o aumentar utilizando hiperparámetros que cambian el comportamiento de aprendizaje del algoritmo.

Los ensamblajes proporcionan una forma de reducir la varianza de las predicciones; es decir, la cantidad de error en las predicciones realizadas que puede atribuirse a la «varianza».

No siempre es así, pero cuando lo es, esta reducción de la varianza, a su vez, conduce a un mejor rendimiento predictivo.

La evidencia empírica y teórica muestra que algunas técnicas de ensemble (como el bagging) actúan como un mecanismo de reducción de la varianza, es decir, reducen el componente de varianza del error. Además, los resultados empíricos sugieren que otras técnicas de ensemble (como AdaBoost) reducen tanto el sesgo como las partes de la varianza del error.

– Página 39, Pattern Classification Using Ensemble Methods, 2010.

Utilizar los ensembles para reducir las propiedades de la varianza de los errores de predicción conduce al beneficio clave de utilizar los ensembles en primer lugar: mejorar el rendimiento predictivo.

Utilizar conjuntos para mejorar el rendimiento

Reducir el elemento de varianza del error de predicción mejora el rendimiento predictivo.

Utilizamos explícitamente el aprendizaje de conjuntos para buscar un mejor rendimiento predictivo, como un menor error en la regresión o una alta precisión en la clasificación.

… hay una forma de mejorar la precisión de los modelos que es más fácil y más potente que la selección juiciosa de algoritmos: se pueden reunir modelos en conjuntos.

– Página 2, Ensemble Methods in Data Mining, 2010.

Este es el principal uso de los métodos de aprendizaje por conjuntos y el beneficio demostrado a través del uso de conjuntos por la mayoría de los ganadores de las competiciones de aprendizaje automático, como el premio Netflix y las competiciones en Kaggle.

En el premio Netflix, se realizó un concurso durante dos años en el que el primer equipo que presentara un modelo que mejorara el sistema de recomendación interno de Netflix en un 10% ganaría 1.000.000 de dólares. La ventaja final se obtenía ponderando las contribuciones de los modelos de hasta 30 competidores.

– Página 8, Ensemble Methods in Data Mining, 2010.

Este beneficio también se ha demostrado con competiciones académicas, como las mejores soluciones para el famoso conjunto de datos ImageNet en visión por ordenador.

Un conjunto de estas redes residuales logra un 3,57% de error en el conjunto de pruebas ImageNet. Este resultado ganó el 1er lugar en la tarea de clasificación de ILSVRC 2015.

-Aprendizaje residual profundo para el reconocimiento de imágenes, 2015.

Cuando se utiliza de esta manera, un conjunto sólo debe adoptarse si se desempeña mejor en promedio que cualquier miembro contribuyente del conjunto. Si este no es el caso, entonces el miembro contribuyente que se desempeña mejor debe ser utilizado en su lugar.

Considere la distribución de las puntuaciones esperadas calculadas por un modelo en un arnés de prueba, como la validación cruzada k-fold repetida, como lo hicimos anteriormente al considerar la «robustez» ofrecida por un conjunto. Un conjunto que reduce la varianza en el error, en efecto, desplazará la distribución en lugar de simplemente reducir la dispersión de la distribución.

Esto puede resultar en un mejor rendimiento promedio en comparación con cualquier modelo individual.

Este no es siempre el caso, y tener esta expectativa es un error común cometido por los principiantes.

Es posible, e incluso común, que el rendimiento de un conjunto no sea mejor que el miembro de mejor rendimiento del conjunto. Esto puede suceder si el conjunto tiene un modelo de alto rendimiento y los otros miembros no ofrecen ningún beneficio o el conjunto no es capaz de aprovechar su contribución de manera efectiva.

También es posible que un conjunto se desempeñe peor que el miembro de mejor rendimiento del conjunto. Esto también es común cualquier típicamente implica un modelo de alto rendimiento cuyas predicciones son peores por uno o más modelos de bajo rendimiento y el conjunto no es capaz de aprovechar sus contribuciones con eficacia.

Como tal, es importante probar un conjunto de métodos de conjunto y ajustar su comportamiento, al igual que lo hacemos para cualquier modelo de aprendizaje automático individual.

Lectura adicional

Esta sección ofrece más recursos sobre el tema si quieres profundizar.

Related Tutorials

  • How to Reduce Variance in a Final Machine Learning Model
  • How to Develop a Horizontal Voting Deep Learning Ensemble to Reduce Variance

Books

  • Pattern Classification Using Ensemble Methods, 2010.
  • Ensemble Methods, 2012.
  • Ensemble Machine Learning, 2012.
  • Ensemble Methods in Data Mining, 2010.

Articles

  • Ensemble learning, Wikipedia.
  • Ensemble learning, Scholarpedia.

Summary

In this post, you discovered the benefits of using ensemble methods for machine learning.

Específicamente, usted aprendió:

  • Un beneficio mínimo del uso de conjuntos es reducir la dispersión en la habilidad promedio de un modelo de predicción.
  • Un beneficio clave del uso de conjuntos es mejorar el rendimiento promedio de la predicción sobre cualquier miembro que contribuya en el conjunto.
  • El mecanismo para mejorar el rendimiento con los conjuntos es a menudo la reducción en el componente de varianza de los errores de predicción realizados por los modelos que contribuyen.

.

Deja una respuesta

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