La magia del Ensemble Learning

¡Hola, Habr! Invitamos a ingenieros de datos y especialistas en Machine Learning a una clase de demostración gratuita «Implementación de modelos de ML en entornos industriales usando recomendaciones en línea». También publicamos un artículo de Luca Monno — Jefe de Analítica Financiera en CDP SpA.

Uno de los métodos más útiles y sencillos de machine learning es el Ensemble Learning. Ensemble Learning es un método fundamental detrás de XGBoost, Bagging, Bosque Aleatorio y otros muchos algoritmos.

En Towards Data Science hay muchos artículos interesantes, pero he escogido dos historias (la primera y la segunda), que son mis favoritas. ¿Por qué escribir otro artículo sobre EL? Porque quiero mostrarte cómo funciona con un ejemplo sencillo, que me hizo entender que no hay ninguna magia aquí.

Cuando vi por primera vez EL en acción (trabajando con algunos modelos de regresión muy simples), no podía creer lo que veía, y todavía recuerdo al profesor que me enseñó este método.

Tenía dos modelos diferentes (dos algoritmos de aprendizaje débiles) con valores de fuera de muestra R² iguales a 0,90 y 0,93, respectivamente. Antes de ver el resultado, pensé que obtendría un R² en algún lugar entre esos dos valores iniciales. En otras palabras, creía que EL podría usarse para que el modelo no funcionara tan mal como el peor, pero tampoco tan bien como podría haber funcionado el mejor modelo.

Para mi gran sorpresa, los resultados del simple promedio de las predicciones dieron un R² de 0,95. 

Primero comencé a buscar el error, pero luego pensé que podría haber algo de magia aquí.

¿Qué es el Ensemble Learning?

Con EL, puedes combinar las predicciones de dos o más modelos para obtener un modelo más robusto y eficiente. Hay muchas metodologías para trabajar con conjuntos de modelos. Aquí abordaré dos de las más útiles para dar una visión general.

Con regresión se pueden promediar las métricas de los modelos existentes.

Con clasificación se le permite a los modelos elegir etiquetas. La etiqueta que se elige con más frecuencia es la que seleccionará el nuevo modelo.

¿Por qué funciona mejor EL?

La razón principal por la que el aprendizaje en conjunto (EL) funciona mejor es que cada predicción tiene un error (como sabemos en teoría de probabilidades); combinar dos predicciones puede ayudar a reducir el error y, en consecuencia, mejorar el rendimiento (RMSE, R², etc.).

En el siguiente diagrama se muestra cómo dos algoritmos débiles trabajan con un conjunto de datos. El primer algoritmo tiene una pendiente mayor de lo necesario, mientras que en el segundo es casi cero (posiblemente debido a una regularización excesiva). Pero ensemble muestra un resultado mucho mejor. 

Si observamos el indicador R², para el primer y segundo algoritmo de entrenamiento será de -0.01¹ y 0.22, respectivamente, mientras que en el ensemble será de 0.73.

La magia del Ensemble Learning

Existen múltiples razones por las que un algoritmo puede ser un mal modelo, incluso en un ejemplo tan básico como este: tal vez decidiste usar regularización para evitar el sobreajuste, o decidiste no excluir ciertas anomalías, o tal vez usaste regresión polinómica y seleccionaste un grado incorrecto (por ejemplo, usaste un polinomio de segundo grado, mientras que en los datos de prueba hay una clara asimetría que se adaptaría mejor a un grado tres).

Cuando EL funciona mejor

Analicemos dos algoritmos de entrenamiento que trabajan con los mismos datos.

La magia del Ensemble Learning

Aquí se puede ver que combinar dos modelos no mejoró mucho el rendimiento. Inicialmente, para los dos algoritmos de entrenamiento, los indicadores R² fueron -0.37 y 0.22, respectivamente, mientras que para el ensemble fue de -0.04. Es decir, el modelo EL obtuvo un promedio de los indicadores.

Sin embargo, entre estos dos ejemplos hay una gran diferencia: en el primer ejemplo, los errores de los modelos estaban correlacionados negativamente, mientras que en el segundo estaban correlacionados positivamente (los coeficientes de los tres modelos no fueron evaluados, simplemente fueron elegidos por el autor como ejemplo).

Por lo tanto, el aprendizaje en conjunto puede utilizarse para mejorar el equilibrio sesgo/varianza en cualquier caso, pero cuando los errores de los modelos no están correlacionados positivamente, el uso de EL puede llevar a un aumento en el rendimiento..

Modelos homogéneos y heterogéneos

A menudo, EL se utiliza en modelos homogéneos (como en este ejemplo o en un bosque aleatorio), pero en realidad puedes combinar diferentes modelos (regresión lineal + red neuronal + XGBoost) con diferentes conjuntos de variables explicativas. Esto probablemente resultará en errores no correlacionados y un aumento en el rendimiento.

Comparación con la diversificación de cartera

EL funciona de manera similar a la diversificación en la teoría de carteras, pero es mejor para nosotros. 

Al diversificar, intentas reducir la varianza de tus métricas al invertir en acciones no correlacionadas. Una cartera de acciones bien diversificada rendirá mejor que la peor acción individual, pero nunca mejor que la mejor.

Citando a Warren Buffett: 

«La diversificación es protección contra la ignorancia. Para aquellos que no saben lo que están haciendo, [la diversificación] tiene muy poco sentido.»

En el aprendizaje automático, EL ayuda a reducir la varianza de tu modelo, pero esto puede llevar a la creación de un modelo con un rendimiento general mejor que el mejor modelo inicial.

Resumiendo

Combinar varios modelos en uno es un método relativamente simple que puede ayudar a resolver el problema de la varianza sesgada y mejorar el rendimiento.

Si tienes dos o más modelos que funcionan bien, no elijas entre ellos: ¡úsalos todos (pero con precaución)!

¿Te interesa desarrollarte en esta dirección? Inscríbete en una clase demo gratuita «Implementación de modelos de ML en entornos industriales usando recomendaciones en línea» y participa en una reunión en línea con Andrey Kuznetsov — Ingeniero de Machine Learning en Mail.ru Group.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster