Connect with us

¿Qué es el aprendizaje ensemble?

IA 101

¿Qué es el aprendizaje ensemble?

mm

Una de las técnicas de aprendizaje automático más poderosas es el aprendizaje ensemble. Ensemble learning es el uso de múltiples modelos de aprendizaje automático para mejorar la confiabilidad y precisión de las predicciones. Sin embargo, ¿cómo conduce el uso de múltiples modelos de aprendizaje automático a predicciones más precisas? ¿Qué tipo de técnicas se utilizan para crear modelos de aprendizaje ensemble? Exploraremos la respuesta a estas preguntas, analizando la razón detrás del uso de modelos ensemble y las formas principales de crear modelos ensemble.

¿Qué es el aprendizaje ensemble?

En simples palabras, el aprendizaje ensemble es el proceso de entrenar múltiples modelos de aprendizaje automático y combinar sus salidas juntas. Los diferentes modelos se utilizan como base para crear un modelo predictivo óptimo. Combinar un conjunto diverso de modelos de aprendizaje automático individuales puede mejorar la estabilidad del modelo general, lo que conduce a predicciones más precisas. Los modelos de aprendizaje ensemble suelen ser más confiables que los modelos individuales, y como resultado, a menudo ocupan el primer lugar en muchas competencias de aprendizaje automático.

Existen diferentes técnicas que un ingeniero puede utilizar para crear un modelo de aprendizaje ensemble. Las técnicas de aprendizaje ensemble simples incluyen cosas como promediar las salidas de diferentes modelos, mientras que también existen métodos y algoritmos más complejos desarrollados especialmente para combinar las predicciones de muchos modelos/base aprendices juntos.

¿Por qué utilizar métodos de entrenamiento ensemble?

Los modelos de aprendizaje automático pueden ser diferentes entre sí por una variedad de razones. Diferentes modelos de aprendizaje automático pueden operar en diferentes muestras de los datos de la población, se pueden utilizar técnicas de modelado diferentes y se puede utilizar una hipótesis diferente.

Imagina que estás jugando un juego de trivia con un gran grupo de personas. Si estás en un equipo solo, seguro que habrá algunos temas sobre los que tienes conocimiento y muchos temas sobre los que no tienes conocimiento. Ahora supongamos que estás jugando en un equipo con otras personas. Al igual que tú, ellos tendrán algún conocimiento sobre sus propias especialidades y no tendrán conocimiento de otros temas. Sin embargo, cuando se combina su conocimiento, tienes conjeturas más precisas para más campos, y la cantidad de temas sobre los que tu equipo carece de conocimiento disminuye. Este es el mismo principio que subyace al aprendizaje ensemble, combinando las predicciones de diferentes miembros del equipo (modelos individuales) para mejorar la precisión y minimizar los errores.

Los estadísticos han demostrado que cuando a una multitud de personas se les pide que adivinen la respuesta correcta a una pregunta determinada con una serie de posibles respuestas, todas sus respuestas forman una distribución de probabilidad. Las personas que realmente conocen la respuesta correcta elegirán la respuesta correcta con confianza, mientras que las personas que eligen las respuestas incorrectas distribuirán sus conjeturas en el rango de posibles respuestas incorrectas. Volviendo al ejemplo del juego de trivia, si tú y tus dos amigos saben que la respuesta correcta es A, los tres votarán A, mientras que las tres otras personas de tu equipo que no conocen la respuesta probablemente adivinarán incorrectamente B, C, D o E. El resultado es que A tiene tres votos y las otras respuestas probablemente tengan solo uno o dos votos como máximo.

Todos los modelos tienen algún tipo de error. Los errores de un modelo serán diferentes de los errores producidos por otro modelo, ya que los modelos en sí son diferentes por las razones descritas anteriormente. Cuando se examinan todos los errores, no se agruparán alrededor de una respuesta u otra, sino que se dispersarán. Las conjeturas incorrectas se esparcen esencialmente por todas las posibles respuestas incorrectas, cancelándose entre sí. Mientras tanto, las conjeturas correctas de los diferentes modelos se agruparán alrededor de la respuesta correcta real. Cuando se utilizan métodos de entrenamiento ensemble, se puede encontrar la respuesta correcta con mayor confiabilidad.

Métodos de entrenamiento ensemble simples

Los métodos de entrenamiento ensemble simples suelen implicar solo la aplicación de técnicas de resumen estadístico, como determinar el modo, la media o el promedio ponderado de un conjunto de predicciones.

El modo se refiere al elemento más frecuente dentro de un conjunto de números. Para obtener el modo, los modelos de aprendizaje individual devuelven sus predicciones y estas predicciones se consideran votos hacia la predicción final. Determinar la media de las predicciones se hace simplemente calculando la media aritmética de las predicciones, redondeada al número entero más cercano. Finalmente, se puede calcular un promedio ponderado asignando diferentes pesos a los modelos utilizados para crear predicciones, con los pesos que representan la importancia percibida de ese modelo. La representación numérica de la predicción de clase se multiplica junto con un peso de 0 a 1,0, las predicciones ponderadas individuales se suman y el resultado se redondea al número entero más cercano.

Métodos de entrenamiento ensemble avanzados

Existen tres técnicas de entrenamiento ensemble avanzadas principales, cada una de las cuales está diseñada para tratar un tipo específico de problema de aprendizaje automático. Las técnicas de “bagging” se utilizan para disminuir la varianza de las predicciones de un modelo, con varianza que se refiere a cuánto difiere el resultado de las predicciones cuando se basa en la misma observación. Las técnicas de “boosting” se utilizan para combatir el sesgo de los modelos. Finalmente, “stacking” se utiliza para mejorar las predicciones en general.

Los métodos de aprendizaje ensemble en sí pueden dividirse generalmente en uno de dos grupos diferentes: métodos secuenciales y métodos ensemble paralelos.

Los métodos ensemble secuenciales obtienen el nombre de “secuenciales” porque los modelos/base aprendices se generan secuencialmente. En el caso de los métodos secuenciales, la idea esencial es que la dependencia entre los aprendices base se explota para obtener predicciones más precisas. Los ejemplos mal etiquetados tienen sus pesos ajustados mientras que los ejemplos correctamente etiquetados mantienen los mismos pesos. Cada vez que se genera un nuevo aprendiz, los pesos cambian y la precisión (esperemos) mejora.

En contraste con los modelos ensemble secuenciales, los métodos ensemble paralelos generan los aprendices base en paralelo. Cuando se realiza el aprendizaje ensemble paralelo, la idea es explotar el hecho de que los aprendices base son independientes, ya que la tasa de error general puede reducirse promediando las predicciones de los aprendices individuales.

Los métodos de entrenamiento ensemble pueden ser homogéneos o heterogéneos en naturaleza. La mayoría de los métodos de aprendizaje ensemble son homogéneos, lo que significa que utilizan un solo tipo de modelo/algoritmo de aprendizaje base. En contraste, los conjuntos heterogéneos utilizan diferentes algoritmos de aprendizaje, diversificando y variando los aprendices para garantizar que la precisión sea lo más alta posible.

Ejemplos de algoritmos de aprendizaje ensemble

Visualización de ensemble boosting. Foto: Sirakorn a través de Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)

Los ejemplos de métodos ensemble secuenciales incluyen AdaBoost, XGBoost y Gradient tree boosting. Estos son todos modelos de impulso. Para estos modelos de impulso, el objetivo es convertir a los aprendices débiles y de bajo rendimiento en aprendices más poderosos. Modelos como AdaBoost y XGBoost comienzan con muchos aprendices débiles que funcionan solo ligeramente mejor que adivinando al azar. A medida que continúa el entrenamiento, se aplican pesos a los datos y se ajustan. Las instancias que fueron clasificadas incorrectamente por los aprendices en las primeras rondas de entrenamiento se les da más peso. Después de que se repite este proceso durante el número deseado de rondas de entrenamiento, las predicciones se unen a través de una suma ponderada (para tareas de regresión) y un voto ponderado (para tareas de clasificación).

El proceso de aprendizaje de bagging. Foto: SeattleDataGuy a través de Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)

Un ejemplo de un modelo ensemble paralelo es un clasificador Random Forest, y Random Forests también es un ejemplo de una técnica de bagging. El término “bagging” proviene de “bootstrap aggregation”. Las muestras se toman del conjunto de datos total utilizando una técnica de muestreo llamada “muestreo de bootstrap”, que se utilizan para que los modelos base hagan predicciones. Para tareas de clasificación, las salidas de los modelos base se combinan utilizando votación, mientras que se promedian para tareas de regresión. Random Forests utiliza árboles de decisión individuales como sus modelos base, y cada árbol en el conjunto se construye utilizando una muestra diferente del conjunto de datos. También se utiliza un subconjunto aleatorio de características para generar el árbol. Lo que lleva a árboles de decisión individuales muy aleatorizados, que se combinan para proporcionar predicciones confiables.

Visualización de ensemble stacking. Foto: Supun Setunga a través de Wikimedia Commons, CC BY S.A 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)

Bloguero y programador con especialidades en Machine Learning y Deep Learning temas. Daniel espera ayudar a otros a utilizar el poder de la IA para el bien social.