SlideShare ist ein Scribd-Unternehmen logo
1 von 33
By: Fernando Velasco
Métodos de Ensemble en Machine Learning
© Stratio 2016. Confidential, All Rights Reserved. 2
A man needs three names
● Data Scientist
● Mathematician
● Stratian
fvelasco@stratio.com
Í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
I.A.
© Stratio 2016. Confidential, All Rights Reserved. 5
Regresión y Clasificación
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:
Aumentando la complejidad
THANK YOU!
¿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
¿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
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
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
Combinación de modelos
Número de modelos entrenados
Combinación de modelos
Sampleado
Combinación de modelos
Iteraciones
Combinación de modelos
Entrenamiento
Combinación de modelos
Ensemble 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 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
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
Á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
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
Relu
Boosting Bias
Á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
Á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
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:
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:
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
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
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
Í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
THANK YOU!
We appreciate your feedback!
https://goo.gl/ifJQju

Weitere ähnliche Inhalte

Was ist angesagt? (8)

Decision Trees
Decision TreesDecision Trees
Decision Trees
 
Classification Using Decision tree
Classification Using Decision treeClassification Using Decision tree
Classification Using Decision tree
 
Ensemble learning
Ensemble learningEnsemble learning
Ensemble learning
 
Analisis de varianza
Analisis de varianzaAnalisis de varianza
Analisis de varianza
 
Data preprocessing
Data preprocessingData preprocessing
Data preprocessing
 
Introducción a la Inferencia Estadística
Introducción a la Inferencia EstadísticaIntroducción a la Inferencia Estadística
Introducción a la Inferencia Estadística
 
Data Mining
Data MiningData Mining
Data Mining
 
Optics ordering points to identify the clustering structure
Optics ordering points to identify the clustering structureOptics ordering points to identify the clustering structure
Optics ordering points to identify the clustering structure
 

Ähnlich wie Ensemble methods in Machine Learning

Poggi analytics - ensamble - 1b
Poggi   analytics - ensamble - 1bPoggi   analytics - ensamble - 1b
Poggi analytics - ensamble - 1b
Gaston Liberman
 
Aprendizaje automático I - Tema 3 Aprendizaje Automático Supervisado.pdf
Aprendizaje automático I - Tema 3 Aprendizaje Automático Supervisado.pdfAprendizaje automático I - Tema 3 Aprendizaje Automático Supervisado.pdf
Aprendizaje automático I - Tema 3 Aprendizaje Automático Supervisado.pdf
Gerard Alba
 
reglajes formula uno electre
reglajes formula uno electrereglajes formula uno electre
reglajes formula uno electre
Fco Javier Lucena
 
Poggi analytics - trees - 1e
Poggi   analytics - trees - 1ePoggi   analytics - trees - 1e
Poggi analytics - trees - 1e
Gaston Liberman
 

Ähnlich wie Ensemble methods in Machine Learning (12)

Lunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelosLunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelos
 
Poggi analytics - ensamble - 1b
Poggi   analytics - ensamble - 1bPoggi   analytics - ensamble - 1b
Poggi analytics - ensamble - 1b
 
TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...
TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...
TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...
 
Kaggle Otto Group
Kaggle Otto GroupKaggle Otto Group
Kaggle Otto Group
 
Aprendizaje automático I - Tema 3 Aprendizaje Automático Supervisado.pdf
Aprendizaje automático I - Tema 3 Aprendizaje Automático Supervisado.pdfAprendizaje automático I - Tema 3 Aprendizaje Automático Supervisado.pdf
Aprendizaje automático I - Tema 3 Aprendizaje Automático Supervisado.pdf
 
Ramdom forest
Ramdom forestRamdom forest
Ramdom forest
 
Refinando un modelo predictivo gracias al GIS con Python
Refinando un modelo predictivo gracias al GIS con PythonRefinando un modelo predictivo gracias al GIS con Python
Refinando un modelo predictivo gracias al GIS con Python
 
Decision Trees - Example 3
Decision Trees - Example 3Decision Trees - Example 3
Decision Trees - Example 3
 
reglajes formula uno electre
reglajes formula uno electrereglajes formula uno electre
reglajes formula uno electre
 
Poggi analytics - trees - 1e
Poggi   analytics - trees - 1ePoggi   analytics - trees - 1e
Poggi analytics - trees - 1e
 
Otto Challenge report
Otto Challenge reportOtto Challenge report
Otto Challenge report
 
Poda Arboles
Poda ArbolesPoda Arboles
Poda Arboles
 

Mehr von Stratio

Introduction to Asynchronous scala
Introduction to Asynchronous scalaIntroduction to Asynchronous scala
Introduction to Asynchronous scala
Stratio
 
Functional programming in scala
Functional programming in scalaFunctional programming in scala
Functional programming in scala
Stratio
 

Mehr von Stratio (20)

Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
 
Can an intelligent system exist without awareness? BDS18
Can an intelligent system exist without awareness? BDS18Can an intelligent system exist without awareness? BDS18
Can an intelligent system exist without awareness? BDS18
 
Kafka and KSQL - Apache Kafka Meetup
Kafka and KSQL - Apache Kafka MeetupKafka and KSQL - Apache Kafka Meetup
Kafka and KSQL - Apache Kafka Meetup
 
Wild Data - The Data Science Meetup
Wild Data - The Data Science MeetupWild Data - The Data Science Meetup
Wild Data - The Data Science Meetup
 
Using Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
Using Kafka on Event-driven Microservices Architectures - Apache Kafka MeetupUsing Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
Using Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
 
Stratio Sparta 2.0
Stratio Sparta 2.0Stratio Sparta 2.0
Stratio Sparta 2.0
 
Big Data Security: Facing the challenge
Big Data Security: Facing the challengeBig Data Security: Facing the challenge
Big Data Security: Facing the challenge
 
Operationalizing Big Data
Operationalizing Big DataOperationalizing Big Data
Operationalizing Big Data
 
Artificial Intelligence on Data Centric Platform
Artificial Intelligence on Data Centric PlatformArtificial Intelligence on Data Centric Platform
Artificial Intelligence on Data Centric Platform
 
Introduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksIntroduction to Artificial Neural Networks
Introduction to Artificial Neural Networks
 
“A Distributed Operational and Informational Technological Stack”
“A Distributed Operational and Informational Technological Stack” “A Distributed Operational and Informational Technological Stack”
“A Distributed Operational and Informational Technological Stack”
 
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
 
Meetup: Spark + Kerberos
Meetup: Spark + KerberosMeetup: Spark + Kerberos
Meetup: Spark + Kerberos
 
Distributed Logistic Model Trees
Distributed Logistic Model TreesDistributed Logistic Model Trees
Distributed Logistic Model Trees
 
Multiplaform Solution for Graph Datasources
Multiplaform Solution for Graph DatasourcesMultiplaform Solution for Graph Datasources
Multiplaform Solution for Graph Datasources
 
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
 
[Strata] Sparkta
[Strata] Sparkta[Strata] Sparkta
[Strata] Sparkta
 
Introduction to Asynchronous scala
Introduction to Asynchronous scalaIntroduction to Asynchronous scala
Introduction to Asynchronous scala
 
Functional programming in scala
Functional programming in scalaFunctional programming in scala
Functional programming in scala
 
Spark Streaming @ Berlin Apache Spark Meetup, March 2015
Spark Streaming @ Berlin Apache Spark Meetup, March 2015Spark Streaming @ Berlin Apache Spark Meetup, March 2015
Spark Streaming @ Berlin Apache Spark Meetup, March 2015
 

Kürzlich hochgeladen

Letra de cambio definición y características.ppt
Letra de cambio definición y características.pptLetra de cambio definición y características.ppt
Letra de cambio definición y características.ppt
ssuserbdc329
 
PLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorarPLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorar
CelesteRolon2
 
Metodos de esterilizacion _20240418_181249_0000.pdf
Metodos de esterilizacion _20240418_181249_0000.pdfMetodos de esterilizacion _20240418_181249_0000.pdf
Metodos de esterilizacion _20240418_181249_0000.pdf
arteagaara
 
Conversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latinoConversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latino
BESTTech1
 

Kürzlich hochgeladen (20)

Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1
 
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudirTriptico-del-Bullying qué es, cómo detectarlo, donde acudir
Triptico-del-Bullying qué es, cómo detectarlo, donde acudir
 
diseño de una linea de produccion de jabon liquido.pptx
diseño de una linea de produccion de jabon liquido.pptxdiseño de una linea de produccion de jabon liquido.pptx
diseño de una linea de produccion de jabon liquido.pptx
 
PIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosPIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos años
 
Letra de cambio definición y características.ppt
Letra de cambio definición y características.pptLetra de cambio definición y características.ppt
Letra de cambio definición y características.ppt
 
PLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorarPLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorar
 
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdfCALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
CALENDARIZACIÓN ACTUALIZADA DEL 2024 alt.pdf
 
Metodos de esterilizacion _20240418_181249_0000.pdf
Metodos de esterilizacion _20240418_181249_0000.pdfMetodos de esterilizacion _20240418_181249_0000.pdf
Metodos de esterilizacion _20240418_181249_0000.pdf
 
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdfPorcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
 
Trabajo Final de Powerbi DMC Indicadores.pptx
Trabajo Final de Powerbi DMC Indicadores.pptxTrabajo Final de Powerbi DMC Indicadores.pptx
Trabajo Final de Powerbi DMC Indicadores.pptx
 
Conversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latinoConversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latino
 
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptxP.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
 
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxAA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
 
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfReservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
 
decreto 2090 de 2003.pdf actividades de alto riesgo en Colombia
decreto 2090 de 2003.pdf actividades de alto riesgo en Colombiadecreto 2090 de 2003.pdf actividades de alto riesgo en Colombia
decreto 2090 de 2003.pdf actividades de alto riesgo en Colombia
 
EPIDEMIO CANCER PULMON resumen nnn.pptx
EPIDEMIO CANCER PULMON  resumen nnn.pptxEPIDEMIO CANCER PULMON  resumen nnn.pptx
EPIDEMIO CANCER PULMON resumen nnn.pptx
 
Los idiomas más hablados en el mundo (2024).pdf
Los idiomas más hablados en el mundo  (2024).pdfLos idiomas más hablados en el mundo  (2024).pdf
Los idiomas más hablados en el mundo (2024).pdf
 
procedimiento paran la planificación en los centros educativos tipo v(multig...
procedimiento  paran la planificación en los centros educativos tipo v(multig...procedimiento  paran la planificación en los centros educativos tipo v(multig...
procedimiento paran la planificación en los centros educativos tipo v(multig...
 
Evolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfEvolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdf
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdf
 

Ensemble methods in Machine Learning

  • 1. By: Fernando Velasco Métodos de Ensemble en Machine Learning
  • 2. © Stratio 2016. Confidential, All Rights Reserved. 2 A man needs three names ● Data Scientist ● Mathematician ● Stratian fvelasco@stratio.com
  • 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
  • 5. © Stratio 2016. Confidential, All Rights Reserved. 5
  • 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:
  • 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. ¿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. 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. 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. Combinación de modelos Número de modelos entrenados
  • 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. 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. Á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. 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
  • 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. Á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. 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. 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. 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. 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. 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. Í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. THANK YOU! We appreciate your feedback! https://goo.gl/ifJQju

Hinweis der Redaktion

  1. Pon el simplescreenrecorder
  2. Esencialmente, de derivar el error exponencial: si tenemos C_m (x_i) = C_{m-1} (x_i) + \alpha_m \cdot k_m (x_i), el error exponencial es: \sum e^{-y_ic_m (x_i)} Cambiamos la notación para obtener las omegas
  3. Esencialmente, de derivar el error exponencial: si tenemos C_m (x_i) = C_{m-1} (x_i) + \alpha_m \cdot k_m (x_i), el error exponencial es: \sum e^{-y_ic_m (x_i)} Cambiamos la notación para obtener las omegas