Introducción a Data Mining • David Allende Quintana w w w. d m c . p e 01 Métodos Ensamblados 2 Ensemble Methods Variación vs. Sesgo ● El error de cualquier modelo se puede descomponer en tres partes matemáticamente ○ ¿Por qué es importante saberlo? ■ Para entender qué aporta un Ensemble Method ■ Que básicamente es corregir problemas relacionados con los errores de los modelos 3 Ensemble Methods Variación vs. Sesgo (II) ● Sesgo ○ La diferencia entre el valor que se predice y el valor actual ○ Un error de sesgo grande querrá decir que tenemos un modelo que no está rindiendo al nivel que se esperaba ○ El modelo está omitiendo tendencias importantes 4 Ensemble Methods Variación vs. Sesgo (III) ● Variación ○ La diferencia entre las predicciones hechas sobre la misma observación ○ Un modelo con alta variación tendrá overfit sobre la población de entrenamiento y tendrá un rendimiento malo en cualquier observación más allá del entrenamiento 5 Ensemble Methods Variación vs. Sesgo (IV) ● Normalmente, a medida que aumenta la complejidad del modelo, observarás una reducción del error por un menor sesgo ● Sin embargo, esto solo se produce hasta cierto punto ○ A medida que el modelo se hace más complejo, acabarás teniendo un overfitting, y así empezará a tener mucha variación/diferencia ● Por lo tanto, hay que mantener un equilibrio de estos dos errores → los Ensemble Methods ayudan a esto 6 Ensemble Methods Variación vs. Sesgo (V) Fuente: https://www.analyticsvidhya.com/wp-content/uploads/2015/07/model_complexity.png 7 Ensemble Methods ¿Qué son? ● Arte de combinar un conjunto diverso de modelos predictivos ● ¡¡ Importante !! ○ Diversidad ■ Del lat. diversĭtas, -ātis. ■ 1. f. Variedad, desemejanza, diferencia. ■ 2. f. Abundancia, gran cantidad de varias cosas distintas. ○ Diferencia ■ ■ ■ ■ Del lat. differentia. 1. f. Cualidad o accidente por el cual algo se distingue de otra cosa. 2. f. Variedad entre cosas de una misma especie. 3. f. Controversia, disensión u oposición de dos o más personas entre sí. 8 Ensemble Methods ¿Qué son? (II) ● Pero, ¿diferencia de qué? ○ Cuatro elementos fundamentales en Machine Learning ■ ■ ■ ■ (1) Población (2) Hipótesis (3) Técnica de modelado (4) Seed inicial 9 Ensemble Methods ¿Qué son? (III) ● Son técnicas que crean múltiples modelos que se combinan posteriormente para obtener mejores resultados ● Son modelos que crean mejores resultados que cada uno de los modelos por sí mismos ○ Hablamos de algoritmos como los modelos de regresión logística, árboles, de decisión, etc. ○ Cuando estos modelos son usados como entradas a los Ensemble Methods, los denominamos “modelos de base” (base models) 10 Ensemble Methods ¿Qué son? (IV) ● A pesar de su indudable valor y su precisión, hay industrias que priorizan la interpretabilidad ○ Éste, no es justo su fuerte, dado que son difíciles de entender en ocasiones ● Nada es gratis ● Además, nada garantiza que vayan a ofrecer mejores resultados que los modelos a título individual ○ Lo que sí que hace es reducir el riesgo de seleccionar un mal algoritmo 11 Ensemble Methods Ventajas y desventajas Ventajas Desventajas Mejora la precisión Difícil interpretación de los resultados Funciona en la gran mayoría de problemas y situaciones Así, se dificulta la obtención de conclusiones de negocio en ocasiones Modelos ganadores en hackathones y concursos Lleva mucho más tiempo que otros modelos → difícil integración en sectores y negocios con decisiones en tiempo real Aportan robustez y estabilidad La selección de modelos a ensamblar es un arte que suele costar Son buenos modelizando relaciones lineales y no lineales 12 Ensemble Methods Muchos pocos datos ● Los Ensemble Methods funcionan bien tanto con grandes como con pequeños volúmenes de datos ○ Cuando son muchos datos, pueden ser estratégicamente separados para cada que cada parte entrene un modelo diferente ○ Cuando hay pocos datos, la técnica del bootstrapping puede ser empleada para hacer diferentes muestras “bootstrap” (siendo cada una de ellas una muestra aleatoria e independiente de la distribución de los datos originales) 13 Ensemble Methods Divide y vencerás ● ¿Qué pasa aquí? Fuente: http://www.scholarpedia.org/w/images/thumb/e/e6/Figure1a.jpg/300px-Figure1a.jpg 14 Ensemble Methods Divide y vencerás (II) ● Hay algunos problemas que son difíciles de resolver por un clasificador ○ La decisión de separar datos en diferentes “límites” (boundary) puede ser compleja (como en la imagen anterior) ○ Un clasificador lineal, no podría aprenderlo por sí solo ○ Sin embargo, una combinación apropiada de clasificadores lineales pueden aprender cualquier límite no lineal (como es el caso) ○ Cada modelo (clasificador), aprende una pequeña parte de los datos (divide y vencerás) 15 Ensemble Methods ¿Cómo funcionan? ● Los métodos ensamblados incorporan las predicciones de todos los modelos de base ○ Se puede entender como una sala de reuniones en la que hay múltiples expertos tomando una decisión ○ Para decidir si fortalecer o cerrar una línea de negocio con dudas, son consideradas las diferentes visiones, con sus entendimientos del mercado ○ La decisión final es más robusta, precisa y con menos riesgo a tener sesgo 16 Ensemble Methods ¿Cómo funcionan? (II) ● Hay varias técnicas para juntar los modelos base ○ Media: literalmente, coger la media de los modelos base en caso que sea un problema de regresión o la predicción de las probabilidades en un problema de clasificación ○ Voto de la mayoría: coger la predicción con mayor número de votos/recomendaciones de los modelos base en un problema de clasificación 17 Ensemble Methods ¿Cómo funcionan? (III) ● Hay varias técnicas para juntar los modelos base ○ Voto de la mayoría 18 Ensemble Methods ¿Cómo funcionan? (IV) ● Hay varias técnicas para juntar los modelos base ○ Media ponderada: diferentes pesos son aplicados a las predicciones de diferentes modelos, de tal manera que a la hora de hacer la media, hay algunos modelos que han aportado más que otros 19 Ensemble Methods Ejemplo (IV) ● Hay multitud de maneras en las que se podrían ensamblar los modelos ● Pero los más usados son cuatro: ○ ○ ○ ○ (1) Bagging (2) Boosting (3) Stacking (4) Mixture of experts 20 Métodos de ensamblado Bagging 21 Métodos de ensamblado Bagging (III) ● Se entrenan muchos clasificadores débiles independientes y al final se combinan todos en un clasificador fuerte ● Bootstrap Aggregating entrena cada clasificador débil con un conjunto de datos diferente ○ Los conjuntos de datos se generan con el método de bootstrapping. ○ El bootstrap significa generar nuevos conjuntos de datos con el mismo tamaño usando un muestreo con reemplazamiento ○ En promedio una muestra bootstrap contiene 62,3 % de los muestras originales 22 Métodos de ensamblado Bagging (IV) 23 Métodos de ensamblado Bagging (V) ● También conocido como “Bootstrap Aggregating” (Bagging) ● Para entender el Bagging, primero tenemos que entender el Bootstrapping ○ Es una técnica de muestreo en la que seleccionamos “n” observaciones de un dataset de “n” filas también ○ Cada fila es seleccionada igualmente en cada iteración 24 Métodos de ensamblado Bagging (VI) ● De esta manera, podemos tener múltiples muestras “boostrapped” de los mismos datos ○ Algunas observaciones pueden aparecer varias veces ○ Algunas observaciones pueden no aparecer ● Ahora, podemos hacer “crecer árboles” de estas muestras, y luego utilizar o bien el “voto mayoritario” o la “media” para hacer la predicción final ● Esto se hace para reducir la variación 25 Métodos de ensamblado Bagging (VII) ● Cada sub-muestra, se puede generar de manera independiente a la anterior ● La generación y el entrenamiento se pueden hacer en paralelo ● También hay algoritmos que implementan esta estrategia de bagging ○ Random Forest, por ejemplo, utilizar una selección aleatoria de características, y su modelo de algoritmo base es un árbol de decisión 26 Métodos de ensamblado Bagging (VIII) 27 Métodos de ensamblado Bagging (IX) 28 Métodos de ensamblado Boosting ● Se entrena una serie de clasificadores débiles, así que en cada paso mejoramos el clasificador anterior, terminando en un clasificador fuerte. 29 Métodos de ensamblado Boosting (II) 30 Métodos de ensamblado Boosting (III) 31 Métodos de ensamblado Boosting (IV) ● El término “boosting” hace referencia a una familia de algoritmos que son capaces de convertir modelos débiles en fuertes ○ Un modelo es “débil” cuando tiene una tasa de error importante, pero su rendimiento no es aleatorio (por ejemplo, un 0.5 de tasa de error para un clasificador binario) ● De manera incremental, la estrategia “boosting” entrena cada modelo con el mismo dataset ○ Pero con pesos ajustados al error de la última predicción 32 Métodos de ensamblado Boosting (V) ● La idea principal es obligar a los modelos a enfocarse en las instancias que dificultan la predicción ● A diferencia del bagging, el boosting es un método secuencial ○ Por ello, no se pueden usar las opciones de paralelización ● Su principal objetivo es reducir el “sesgo” ○ Por ello, son propensos a sufrir “overfitting” ○ Así, es fundamental hacer una buena configuración de los parámetros, y así evitar el “overfitting” 33 Métodos de ensamblado Boosting (VI) 34 Métodos de ensamblado Boosting (VII) ● La función “adjust_dataset”, contiene un dataset con las instancias más difíciles ○ Pueden luego ser usadas para forzar al algoritmo base a aprender sobre ellas ● De esta manera, con la estrategia Boosting: ○ (1) El primer algoritmo es entrenado con todo el conjunto de datos ○ (2) El segundo algoritmo, solo procesan los “residuos” (instancias más difíciles) del primero ■ Le dan más peso a estas instancias que eran más complejas de predecir 35 Métodos de ensamblado Boosting (VIII) ● Confía en crear una serie de predictores débiles que no son buenos para todo el conjunto de datos, pero sí para parte del mismo ● De esta manera, cada modelo, “boosts” (aumenta) el rendimiento de todo el conjunto de modelos ● Algunos ejemplos ○ XGBoost, GBM, AdaBoost, etc. (luego los veremos ;-) 36 Métodos de ensamblado Stacking 37 Métodos de ensamblado Stacking (II) ● Una pila (“stack”) de modelos de machine learning ○ De esta manera, cada modelo, le pasa al siguiente sus predicciones ○ El modelo en la cima de la pila, toma las decisiones en función de los modelos sobre los que se apila 38 Métodos de ensamblado Stacking (III) ● En el ejemplo a la derecha, tenemos dos capas o niveles: ○ Bottom layer models (d1, d2, d3 ) ■ Reciben los datos brutos originales del dataset ○ Top layer model, f() ■ Recoge la salida de los modelos de la capa anterior y predice la salida final ● Puede haber tantas capas o niveles como se quiera, así como modelos por capa 39 Métodos de ensamblado Stacking (IV) ● Dos de los principios fundamentales para seleccionar modelos: ○ Cada modelo individual cumple algún criterio de precisión particular ○ No hay correlación entre las predicciones de unos modelos con otros ● Otra opción es que la salida final, pueda calcularse con: ○ Media ○ Voto mayoritario ○ Media ponderada 40 Métodos de ensamblado Stacking (V) ● En la práctica, funciona muy bien ○ Es conocido en Netflix por haber conseguido grandes resultados en sus concursos Fuente: http://www.chioka.in/stacking-blending-and-stacked-generalization/ 41 Métodos de ensamblado Stacking (VI) 42