Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Ensemble methods in Machine Learning

419 vues

Publié le

Within the use of Machine Learning models for prediction, one of the sets of techniques that stands out is the model combination. We will study these combinations with Fernando Velasco, Data Scientist at Stratio, who will explain what they are, why and when to use them. Two of the main general techniques will be explained: boosting and bagging and, finally, how to make feature selection through ensembles.

Publié dans : Données & analyses
  • Soyez le premier à commenter

Ensemble methods in Machine Learning

  1. 1. By: Fernando Velasco Métodos de Ensemble en Machine Learning
  2. 2. © Stratio 2016. Confidential, All Rights Reserved. 2 A man needs three names ● Data Scientist ● Mathematician ● Stratian fvelasco@stratio.com
  3. 3. Índice Analítico Introducción: ¿por qué combinar modelos? Boosting & Bagging basics Demo: ○ Implementación de Adaboost con árboles binarios ○ Feature Selection con Random Forest 1 2 3
  4. 4. I.A.
  5. 5. © Stratio 2016. Confidential, All Rights Reserved. 5
  6. 6. Regresión y Clasificación
  7. 7. Errores y Medidas Trade off : ● Over-Fitting : ○ Bias bajo, Varianza alta. ○ Modelo complejo y flexible. ● Under-Fitting : ○ Bias alto, Varianza baja. ○ Modelo simple y rígido. Normalmente:
  8. 8. Aumentando la complejidad
  9. 9. THANK YOU!
  10. 10. ¿Por qué combinar modelos? ● Tenemos 20 clasificadores binarios independientes con probabilidad de acierto del 55% ● La suma de ellos sigue una distribución binomial. Modelo Único : P(Acierto) = 0.55 σ = 0.49 Ensemble : P(Acierto) = 0.75 σ = 0.11
  11. 11. ¿Por qué combinar modelos? ● Tenemos 20 clasificadores binarios independientes con probabilidad de acierto del 55% ● La suma de ellos sigue una distribución binomial. Modelo Único : P(Acierto) = 0.55 σ = 0.49 Ensemble : P(Acierto) = 0.75 σ = 0.11
  12. 12. Combinación de modelos: ensembles ● Entrenamiento, uniforme o no, de diferentes modelos. ● Generalmente, los modelos se entrenan sobre diferentes muestras ● Combinación de las predicciones de cada modelo. ● La predicción basada en diferentes modelos aumenta la estabilidad, reduciendo la varianza y limitando los efectos del ruido ● Dependiendo de la metodología de la combinación, también podemos reducir el bias
  13. 13. Tipos de ensemble ENSEMBLES HYBRID LEARNING ● Resampling: ○ Bagging: “Bootstrap aggregation” ○ Boosting: Resampleado con pesos ● Hybrid learning: ○ Stacking: Uso de modelos diferentes RESAMPLING BoostingBagging Modelos heterogéneos Modelos homogéneos Resampleado uniforme con repetición Se asocia un peso a las instancias en cada entrenamiento
  14. 14. Combinación de modelos Número de modelos entrenados
  15. 15. Combinación de modelos Sampleado
  16. 16. Combinación de modelos Iteraciones
  17. 17. Combinación de modelos Entrenamiento
  18. 18. Combinación de modelos Ensemble de modelos
  19. 19. THANK YOU! Bagging Boosting
  20. 20. Semejanzas y diferencias entre Bagging y Boosting ● Ambos son ensembles que entrenan N modelos base para obtener un modelo final... … Pero aunque en bagging se construyen de manera independiente, en boosting cada modelo se construye para mejorar los errores del anterior. Semejanzas Diferencias ● Ambos generan varios datasets para entrenar los N modelos ● Ambos toman la decisión promediando los N modelos entrenados (o mediante un voto mayoritario) … Pero en el caso del boosting, la media viene pesada por los resultados de cada modelo, para favorecer a los mejores modelos base ● Ambos reducen la varianza y proporcionan una mayor estabilidad … Pero sólo el boosting reduce el bias. Por otro lado, el bagging funciona mucho mejor para reducir el over-fit, mientras que el boosting, en cambio, podría llegar a aumentarlo … Pero solo el boosting valora los datos en función de los casos más complicados de predecir
  21. 21. Clasificación con árboles binarios - Cada nodo sólo tiene dos posibilidades - El clasificador resulta en dos clases* - Son simples y fácilmente interpretables (caja blanca) - Capturan estructuras complejas - Con suficiente profundidad, tienen poco bias - Pueden verse afectados por la varianza y por ruido => son candidatos a un ensemble. Laughs out loud? Dreams big?Does the right thing? Helps others? Dreams big? Stratian Something else Yes Plays fair? Dreams big? Yes Nice to people? Yes Yes Yes Yes Yes No No No No No No NoYes No StratianStratian Stratian Something else Something else Jorge* Something else
  22. 22. Árboles de decisión: algoritmo base 1.- Comenzamos con un árbol vacío 2.- Selección de la variable para dividir el árbol: - Impureza de Gini - Ganancia de información - ... 3.- Evaluar criterio de parada: - Profundidad - Separabilidad completa - Split en todas las variables 4.- Si no paramos, continuar generando el árbol en cada rama
  23. 23. AdaBoost: idea Pesos ⍵i en las instancias: Necesitamos calibrarlas para cada entrenamiento Pesos αj en los modelos: También tienen que ser calibrados para cada entrenamiento alpha
  24. 24. Relu Boosting Bias
  25. 25. Árbol de decisión con pesos en las samples 1.- Comenzamos con un árbol vacío 2.- Selección de la variable para dividir el árbol: - Impureza de Gini - Ganancia de información - ... 3.- Evaluar criterio de parada: - Profundidad - División completa - Split en todas las variables 4.- Si no paramos, continuar generando el árbol en cada rama
  26. 26. Árbol de decisión con pesos en las samples 1.- Comenzamos con un árbol vacío 2.- Selección de la variable para dividir el árbol: - Impureza de Gini - Ganancia de información - ... 3.- Evaluar criterio de parada: - Profundidad - División completa - Split en todas las variables 4.- Si no paramos, continuar generando el árbol en cada rama La selección se hace teniendo en cuenta los pesos ⍵i de las instancias
  27. 27. AdaBoost discreto sobre árboles: algoritmo base ● Entrenamiento del árbol ● Evaluación del modelo: cálculo de los pesos de los errores ● Cómputo del peso αt del modelo ● Cómputo del peso ⍵i de cada instancia Inicializamos los pesos al mismo valor: La selección se hace teniendo en cuenta los pesos ⍵i de las instancias ● Normalización de los pesos Ahora, para cada una de las iteraciones (modelos): Finalmente, tomamos el ensemble de los modelos:
  28. 28. AdaBoost discreto sobre árboles: algoritmo base ● Entrenamiento del árbol ● Evaluación del modelo: cálculo de los pesos de los errores ● Cómputo del peso αt del modelo ● Cómputo del peso ⍵i de cada instancia Inicializamos los pesos al mismo valor: La selección se hace teniendo en cuenta los pesos ⍵i de las instancias ● Normalización de los pesos Ahora, para cada una de las iteraciones (modelos): Finalmente, tomamos el ensemble de los modelos:
  29. 29. Bagging: Random Forest Baggins in the forestBagging: Random Forest ● Cada árbol es entrenado con un subconjunto de los datos totales. ● Las variables para cada árbol son un subconjunto de las variables totales, y son elegidas de manera aleatoria
  30. 30. Selección de variables con Random Forest: permutar variables ● Entrenamiento de un modelo f con un conjunto de entrenamiento X ● Cálculo de performances (e.g: R², AUC, ...) en testing ● Permutación de variables ● Performances con el nuevo conjunto ● Calculamos cómo afecta cada variable: Para cada variable
  31. 31. Selección de variables con Random Forest: Gini Criterio de split => métrica (Gini, Informacion, Varianza...) Dreams big? Yes No Gini: donde es la proporción de la clase i Importancia de una variable en un split: Importancia en el árbol: Importancia en el modelo: 0: 80 1: 120 0: 70 1: 10 0: 10 1: 110 Posteriormente, podemos hacer un ranking de variables por importancia para hacer la feature selection
  32. 32. Índice Analítico Introducción: ¿por qué combinar modelos? Boosting & Bagging basics Demo: ○ Implementación de Adaboost con árboles binarios ○ Feature Selection con Random Forest 1 2 3 Not all that wander are lost Any Questions? https://github.com/fervelasco/training-meetups
  33. 33. THANK YOU! We appreciate your feedback! https://goo.gl/ifJQju

×