¿Cuáles son los beneficios de los métodos de ensamblaje para el aprendizaje automático?
Los conjuntos son modelos de predicción que combinan las predicciones de otros dos o más modelos.
Los métodos de aprendizaje en conjunto son populares y la técnica de ir a cuando el mejor desempeño en un proyecto de modelación predictiva es el resultado más importante.
Sin embargo, no siempre son la técnica más apropiada para utilizar y los principiantes en el campo del aprendizaje aplicado de la máquina tienen la expectativa de que los conjuntos o un método específico de conjunto son siempre el mejor método a utilizar.
Los conjuntos ofrecen dos beneficios específicos en un proyecto de modelación predictiva, y es importante saber cuáles son esos beneficios y cómo medirlos para asegurar que el uso de un conjunto sea la decisión correcta en su proyecto.
En este tutorial, descubrirá los beneficios de usar métodos de conjunto para el aprendizaje de la máquina.
Después de leer este tutorial, lo sabrás:
- Un beneficio mínimo de la utilización de conjuntos es reducir la dispersión en la habilidad media de un modelo de predicción.
- Un beneficio clave de la utilización de conjuntos es mejorar el rendimiento promedio de las predicciones sobre cualquier miembro contribuyente del conjunto.
- El mecanismo para mejorar el rendimiento con los conjuntos suele ser la reducción del componente de varianza de los errores de predicción cometidos por los modelos contribuyentes.
Empecemos.
Resumen del Tutorial
Este tutorial está dividido en cuatro partes; son:
- Aprendizaje en conjunto
- Usar conjuntos para mejorar la robustez
- Sesgo, variación y conjuntos
- Usar conjuntos para mejorar el rendimiento
Aprendizaje en conjunto
Un conjunto es un modelo de aprendizaje de una máquina 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 hechas por los miembros del conjunto pueden combinarse utilizando estadísticas, como la modalidad o la media, o mediante métodos más sofisticados que permiten saber cuánto se puede confiar en cada miembro y en qué condiciones.
El estudio de los métodos de ensamblaje realmente cobró impulso en el decenio de 1990, y fue en esa década cuando se publicaron documentos sobre los métodos más populares y ampliamente utilizados, como los métodos de ensamblaje de núcleos, de refuerzo y de apilamiento.
A finales de la década de 2000, la adopción de los conjuntos se incrementó debido en parte a su gran éxito en las competiciones de aprendizaje de máquinas, como el premio Netflix y las posteriores competiciones de Kaggle.
En las últimas dos décadas, los sistemas de clasificación múltiple, también llamados sistemas de conjunto, han disfrutado de una creciente atención dentro de la comunidad de inteligencia computacional y aprendizaje de máquinas.
– Página 1, Ensemble Machine Learning, 2012.
Los métodos de ensamblaje aumentan enormemente el costo y la complejidad de los cálculos. Este aumento se debe a la experiencia y al tiempo que se requiere para entrenar y mantener múltiples modelos en lugar de un solo modelo. Esto obliga a la pregunta:
- ¿Por qué deberíamos considerar el uso de un conjunto?
Hay dos razones principales para usar un conjunto sobre un solo modelo, y están relacionadas; son:
- La actuación: Un conjunto puede hacer mejores predicciones y lograr un mejor rendimiento que cualquier modelo que contribuya.
- Robustez: Un conjunto reduce la propagación o dispersión de las predicciones y el rendimiento del modelo.
Los conjuntos se utilizan para lograr un mejor rendimiento predictivo en un problema de modelización predictiva que en un modelo predictivo único. La forma en que esto se logra puede entenderse como el modelo que reduce el componente de varianza del error de predicción añadiendo sesgo (es decir, en el contexto de la compensación entre sesgo y varianza).
Desarrollado originalmente para reducir la variación -mejorando así la precisión- de un sistema automatizado de toma de decisiones…
– Página 1, Ensemble Machine Learning, 2012.
Otro beneficio importante y menos discutido de los métodos de conjunto es la mejora de la robustez o la fiabilidad en el rendimiento medio de un modelo.
Ambas son preocupaciones importantes en un proyecto de aprendizaje de una máquina y a veces podemos preferir una o ambas propiedades de un modelo.
Echemos un vistazo más de cerca a estas dos propiedades para entender mejor los beneficios de usar el aprendizaje en conjunto en un proyecto.
Usar 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 funciona bien o mejor como nuestro modelo final.
El algoritmo o tubería se ajusta entonces a todos los datos disponibles y se utiliza para hacer predicciones sobre nuevos datos.
Tenemos una idea de lo bien que se desempeñará el modelo en promedio a partir de nuestro arnés de prueba, típicamente estimado usando la validación cruzada repetida de k como estándar de oro. El problema es que el rendimiento medio podría no ser suficiente.
La precisión o el error promedio de un modelo es un resumen del rendimiento esperado, cuando en realidad, algunos modelos tuvieron un mejor rendimiento y otros un peor rendimiento en diferentes subconjuntos de 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 exactitud o error de un modelo, puede dar una idea de la dispersión del comportamiento del modelo.
Al observar las puntuaciones mínimas y máximas de rendimiento 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 solicitud.
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 el modo de 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 hechas por el modelo. El rendimiento medio probablemente será más o menos el mismo, aunque el peor y el mejor de los casos se acercará más al rendimiento medio.
En efecto, suaviza el rendimiento esperado del modelo.
Podemos referirnos a esto como el «robustez» en el rendimiento esperado del modelo y es un beneficio mínimo de usar un método de conjunto.
Un conjunto puede o no mejorar el rendimiento de la modelación respecto de un solo miembro contribuyente, que se examina más adelante, pero como mínimo debe reducir la diferencia en el rendimiento medio de la modelación.
Para obtener más información sobre este tema, consulte el tutorial:
Sesgo, variación 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.
Esta cartografía se aprende de ejemplos del ámbito del problema, el conjunto de datos de la capacitación, y se evalúa sobre los datos no utilizados durante la capacitación, el conjunto de datos de la prueba.
Los errores cometidos por un modelo de aprendizaje de una máquina se describen a menudo en términos de dos propiedades: la sesgo y el variación.
El sesgo es una medida de lo cerca que el modelo puede capturar la función de mapeo entre las entradas y las 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 variación del modelo es la cantidad que cambia el rendimiento del modelo cuando se ajusta a diferentes datos de entrenamiento. Capta el impacto que tienen en el modelo los datos específicos.
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.
El sesgo y la variación del rendimiento de un modelo están conectados.
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 a menudo 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.
Algunos modelos tienen naturalmente un alto sesgo o una alta varianza, que puede ser a menudo relajada o aumentada usando hiperparámetros que cambian el comportamiento de aprendizaje del algoritmo.
Los conjuntos proporcionan una forma de reducir la variabilidad de las predicciones; es decir, la cantidad de error en las predicciones realizadas que puede atribuirse a «variación.”
No siempre es así, pero cuando lo es, esta reducción de la varianza, a su vez, conduce a un mejor rendimiento predictivo.
Las pruebas empíricas y teóricas demuestran que algunas técnicas de ensamblaje (como el ensacado) 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 conjunto (como AdaBoost) reducen tanto el sesgo como las partes de varianza del error.
– Página 39, Clasificación de patrones usando métodos de ensamblaje, 2010.
El uso de conjuntos para reducir las propiedades de varianza de los errores de predicción lleva al beneficio clave de usar conjuntos en primer lugar: mejorar el rendimiento de la predicción.
Usar conjuntos para mejorar el rendimiento
Reducir el elemento de varianza del error de predicción mejora el rendimiento de la predicción.
Utilizamos explícitamente el aprendizaje en conjunto para buscar un mejor rendimiento predictivo, como un menor error en la regresión o una alta precisión para la clasificación.
…hay una forma de mejorar la precisión de los modelos que es más fácil y poderosa que la selección juiciosa de algoritmos: se pueden reunir los modelos en conjuntos.
– Página 2, Ensemble Methods in Data Mining, 2010.
Este es el uso principal de los métodos de aprendizaje en conjunto y el beneficio demostrado a través del uso de conjuntos por la mayoría de los ganadores de las competiciones de aprendizaje de máquinas, como el premio Netflix y las competiciones de Kaggle.
En el Premio Netflix, un concurso que duró dos años en el que el primer equipo que presentara un modelo que mejorara en un 10% el sistema interno de recomendaciones de Netflix ganaría 1.000.000 de dólares. […] la ventaja final se obtuvo sopesando 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 soluciones de punta para el famoso conjunto de datos ImageNet en la visión por ordenador.
Un conjunto de estas redes residuales alcanza un error del 3,57% en el conjunto de pruebas de ImageNet. Este resultado ganó el primer lugar en la tarea de clasificación de la ILSVRC 2015.
– Aprendizaje residual profundo para el reconocimiento de imágenes, 2015.
Cuando se utiliza de esta manera, un conjunto sólo debe ser adoptado 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ñe mejor debe ser utilizado en su lugar.
Considere la distribución de las puntuaciones esperadas calculadas por un modelo en un arnés de pruebas, como la validación cruzada repetida de k, como hicimos anteriormente al considerar el «robustez«…ofrecida por un conjunto. Un conjunto que reduce la variación del error, en efecto, cambiará la distribución en lugar de simplemente reducir la propagación de la distribución.
Esto puede dar lugar a un mejor rendimiento medio en comparación con cualquier otro modelo.
No siempre es así, y tener esta expectativa es un error común de los principiantes.
Es posible, e incluso común, que la actuación de un conjunto no sea mejor que la del 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 eficaz.
También es posible que un conjunto actúe peor que el miembro de mejor rendimiento del conjunto. Esto también es común cuando se trata de un modelo de alto rendimiento cuyas predicciones se ven empeoradas por uno o más modelos de bajo rendimiento y el conjunto no es capaz de aprovechar sus contribuciones de manera eficaz.
Como tal, es importante probar un conjunto de métodos de conjunto y afinar su comportamiento, tal como lo hacemos para cualquier modelo de aprendizaje de máquina individual.
Más lecturas
Esta sección proporciona más recursos sobre el tema si desea profundizar en él.
Tutoriales relacionados
Libros
Artículos
Resumen
En este post, descubriste los beneficios de usar métodos de conjunto para el aprendizaje de la máquina.
Específicamente, aprendiste:
- Un beneficio mínimo de la utilización de conjuntos es reducir la dispersión en la habilidad media de un modelo de predicción.
- Un beneficio clave de la utilización de conjuntos es mejorar el rendimiento promedio de las predicciones sobre cualquier miembro contribuyente del conjunto.
- El mecanismo para mejorar el rendimiento con los conjuntos suele ser la reducción del componente de varianza de los errores de predicción cometidos por los modelos contribuyentes.
¿Tiene alguna pregunta?
Haga sus preguntas en los comentarios de abajo y haré lo posible por responder.