Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
By: Fernando Velasco, Alberto Ezpondaburu
Cóctel de modelos
¿Quiénes somos? ¿De dónde venimos?¿A dónde vamos?
- Stratians
- Data Scientists
- Con formación matemática
- Proyectos en ...
Índice Analítico
Introducción: ¿por qué combinar modelos?
Boosting & Bagging basics
Demo:
○ Implementación de Adaboost con...
Regresión y Clasificación
Errores y Medidas
Trade off :
● Over-Fitting :
○ Bias bajo, Varianza alta.
○ Modelo complejo y flexible.
● Under-Fitting :...
Aumentando la complejidad
THANK YOU!
Complejidad y errores
¿Por qué combinar modelos?
● Tenemos 20 clasificadores binarios independientes con probabilidad de acierto
del 55%
● La su...
Combinación de modelos: ensembles
● Entrenamiento, uniforme o no, de
diferentes modelos.
● Generalmente, los modelos se
en...
Tipos de ensemble
ENSEMBLES
HYBRID
LEARNING
● Resampling:
○ Bagging: “Bootstrap aggregation”
○ Boosting: Resampleado con p...
Combinación de modelos
Número de modelos entrenadosSampleadoIteracionesEntrenamientoEnsemble de modelos
THANK YOU!
Bagging Boosting
Semejanzas y diferencias entre Bagging y Boosting
● Ambos son ensembles que entrenan N modelos base
para obtener un modelo...
Clasificación con árboles binarios
- Cada nodo sólo tiene dos
posibilidades
- El clasificador resulta en dos clases*
- Son...
Árboles de decisión: algoritmo base
1.- Comenzamos con un árbol vacío
2.- Selección de la variable para dividir el
árbol: ...
AdaBoost: idea
Pesos ⍵i en las instancias:
Necesitamos calibrarlas para cada
entrenamiento
Pesos αj en los modelos:
Tambié...
Á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
...
AdaBoost discreto sobre árboles: algoritmo base
● Entrenamiento del árbol
● Evaluación del modelo: cálculo de
los pesos de...
Bagging: Random Forest
Baggins in the forestBagging: Random Forest
● Cada árbol es entrenado con un
subconjunto de los dat...
Selección de variables con Random Forest: permutar variables
● Entrenamiento de un modelo f con
un conjunto de entrenamien...
Selección de variables con Random Forest: Gini
Criterio de split => métrica (Gini, Informacion, Varianza...)
Dreams big?
Y...
Dudas, preguntas, peticiones...
THANK YOU!
Upcoming SlideShare
Loading in …5
×

Lunch&Learn: Combinación de modelos

298 views

Published on

Hoy en día la combinación de modelos de Machine Learning es muy popular. En la mayoría de los concursos de kaggle, los primeros clasificados suelen emplear alguna variante de estas técnicas. Hablamos de qué nos lleva a emplearlas, cuándo y cómo. Nos centramos en las técnicas de resampleado, como bagging y boosting, trabajamos el implementado de un AdaBoost sencillo sobre árboles binarios, y finalmente, vemos una aplicación de Random Forest para selección de variables.

More information:
www.stratio.com
https://www.youtube.com/StratioBD

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Lunch&Learn: Combinación de modelos

  1. 1. By: Fernando Velasco, Alberto Ezpondaburu Cóctel de modelos
  2. 2. ¿Quiénes somos? ¿De dónde venimos?¿A dónde vamos? - Stratians - Data Scientists - Con formación matemática - Proyectos en común: Mediaset aezpondaburu@stratio.com 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. Regresión y Clasificación
  5. 5. 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:
  6. 6. Aumentando la complejidad
  7. 7. THANK YOU!
  8. 8. Complejidad y errores
  9. 9. ¿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
  10. 10. 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
  11. 11. 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
  12. 12. Combinación de modelos Número de modelos entrenadosSampleadoIteracionesEntrenamientoEnsemble de modelos
  13. 13. THANK YOU! Bagging Boosting
  14. 14. 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 mediante un sampleado aleatorio ● 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
  15. 15. 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
  16. 16. Á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
  17. 17. 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
  18. 18. Á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
  19. 19. 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:
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. Dudas, preguntas, peticiones...
  24. 24. THANK YOU!

×