SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

Decision tree, softmax regression and ensemble methods in machine learning
Decision tree, softmax regression and ensemble methods in machine learningDecision tree, softmax regression and ensemble methods in machine learning
Decision tree, softmax regression and ensemble methods in machine learningAbhishek Vijayvargia
 
Ensemble hybrid learning technique
Ensemble hybrid learning techniqueEnsemble hybrid learning technique
Ensemble hybrid learning techniqueDishaSinha9
 
ensemble learning
ensemble learningensemble learning
ensemble learningbutest
 
análisis de componentes principales
análisis de componentes principales análisis de componentes principales
análisis de componentes principales EDIER AVILA
 
Stacking ensemble
Stacking ensembleStacking ensemble
Stacking ensemblekalung0313
 
Ensemble methods in machine learning
Ensemble methods in machine learningEnsemble methods in machine learning
Ensemble methods in machine learningSANTHOSH RAJA M G
 
Coordinate Descent method
Coordinate Descent methodCoordinate Descent method
Coordinate Descent methodSanghyuk Chun
 
XGBoost @ Fyber
XGBoost @ FyberXGBoost @ Fyber
XGBoost @ FyberDaniel Hen
 
Decision Tree Learning
Decision Tree LearningDecision Tree Learning
Decision Tree LearningMilind Gokhale
 
Lecture 05 problem solving through ai
Lecture 05 problem solving through aiLecture 05 problem solving through ai
Lecture 05 problem solving through aiHema Kashyap
 
Deep Dive into Hyperparameter Tuning
Deep Dive into Hyperparameter TuningDeep Dive into Hyperparameter Tuning
Deep Dive into Hyperparameter TuningShubhmay Potdar
 
Lecture 4 Decision Trees (2): Entropy, Information Gain, Gain Ratio
Lecture 4 Decision Trees (2): Entropy, Information Gain, Gain RatioLecture 4 Decision Trees (2): Entropy, Information Gain, Gain Ratio
Lecture 4 Decision Trees (2): Entropy, Information Gain, Gain RatioMarina Santini
 
Qué es la simulación
Qué es la simulaciónQué es la simulación
Qué es la simulaciónHenry Abreu
 
PAC-Bayesian-generalization-bounds-seminar-1
PAC-Bayesian-generalization-bounds-seminar-1PAC-Bayesian-generalization-bounds-seminar-1
PAC-Bayesian-generalization-bounds-seminar-1Hrayr Harutyunyan
 
Understanding Bagging and Boosting
Understanding Bagging and BoostingUnderstanding Bagging and Boosting
Understanding Bagging and BoostingMohit Rajput
 
Machine Learning Algorithm - Decision Trees
Machine Learning Algorithm - Decision Trees Machine Learning Algorithm - Decision Trees
Machine Learning Algorithm - Decision Trees Kush Kulshrestha
 
Gradient Boosted trees
Gradient Boosted treesGradient Boosted trees
Gradient Boosted treesNihar Ranjan
 

What's hot (20)

Decision tree, softmax regression and ensemble methods in machine learning
Decision tree, softmax regression and ensemble methods in machine learningDecision tree, softmax regression and ensemble methods in machine learning
Decision tree, softmax regression and ensemble methods in machine learning
 
CSC446: Pattern Recognition (LN3)
CSC446: Pattern Recognition (LN3)CSC446: Pattern Recognition (LN3)
CSC446: Pattern Recognition (LN3)
 
Ensemble hybrid learning technique
Ensemble hybrid learning techniqueEnsemble hybrid learning technique
Ensemble hybrid learning technique
 
Ensemble methods
Ensemble methodsEnsemble methods
Ensemble methods
 
ensemble learning
ensemble learningensemble learning
ensemble learning
 
análisis de componentes principales
análisis de componentes principales análisis de componentes principales
análisis de componentes principales
 
Stacking ensemble
Stacking ensembleStacking ensemble
Stacking ensemble
 
Ensemble methods in machine learning
Ensemble methods in machine learningEnsemble methods in machine learning
Ensemble methods in machine learning
 
Coordinate Descent method
Coordinate Descent methodCoordinate Descent method
Coordinate Descent method
 
XGBoost @ Fyber
XGBoost @ FyberXGBoost @ Fyber
XGBoost @ Fyber
 
Decision Tree Learning
Decision Tree LearningDecision Tree Learning
Decision Tree Learning
 
Lecture 05 problem solving through ai
Lecture 05 problem solving through aiLecture 05 problem solving through ai
Lecture 05 problem solving through ai
 
Deep Dive into Hyperparameter Tuning
Deep Dive into Hyperparameter TuningDeep Dive into Hyperparameter Tuning
Deep Dive into Hyperparameter Tuning
 
Lecture 4 Decision Trees (2): Entropy, Information Gain, Gain Ratio
Lecture 4 Decision Trees (2): Entropy, Information Gain, Gain RatioLecture 4 Decision Trees (2): Entropy, Information Gain, Gain Ratio
Lecture 4 Decision Trees (2): Entropy, Information Gain, Gain Ratio
 
Qué es la simulación
Qué es la simulaciónQué es la simulación
Qué es la simulación
 
PAC-Bayesian-generalization-bounds-seminar-1
PAC-Bayesian-generalization-bounds-seminar-1PAC-Bayesian-generalization-bounds-seminar-1
PAC-Bayesian-generalization-bounds-seminar-1
 
Understanding Bagging and Boosting
Understanding Bagging and BoostingUnderstanding Bagging and Boosting
Understanding Bagging and Boosting
 
Support Vector Machine
Support Vector MachineSupport Vector Machine
Support Vector Machine
 
Machine Learning Algorithm - Decision Trees
Machine Learning Algorithm - Decision Trees Machine Learning Algorithm - Decision Trees
Machine Learning Algorithm - Decision Trees
 
Gradient Boosted trees
Gradient Boosted treesGradient Boosted trees
Gradient Boosted trees
 

Similar to Métodos de Ensemble en ML

Lunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelosLunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelosStratio
 
Poggi analytics - ensamble - 1b
Poggi   analytics - ensamble - 1bPoggi   analytics - ensamble - 1b
Poggi analytics - ensamble - 1bGaston Liberman
 
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...TestingAR Meetup
 
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.pdfGerard Alba
 
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 PythonEsri España
 
Decision Trees - Example 3
Decision Trees - Example 3Decision Trees - Example 3
Decision Trees - Example 3Edgar Mata
 
reglajes formula uno electre
reglajes formula uno electrereglajes formula uno electre
reglajes formula uno electreFco Javier Lucena
 
Poggi analytics - trees - 1e
Poggi   analytics - trees - 1ePoggi   analytics - trees - 1e
Poggi analytics - trees - 1eGaston Liberman
 
Poda Arboles
Poda ArbolesPoda Arboles
Poda Arbolesalexace84
 

Similar to Métodos de Ensemble en ML (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
 

More from Stratio

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...Stratio
 
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? BDS18Stratio
 
Kafka and KSQL - Apache Kafka Meetup
Kafka and KSQL - Apache Kafka MeetupKafka and KSQL - Apache Kafka Meetup
Kafka and KSQL - Apache Kafka MeetupStratio
 
Wild Data - The Data Science Meetup
Wild Data - The Data Science MeetupWild Data - The Data Science Meetup
Wild Data - The Data Science MeetupStratio
 
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 MeetupStratio
 
Stratio Sparta 2.0
Stratio Sparta 2.0Stratio Sparta 2.0
Stratio Sparta 2.0Stratio
 
Big Data Security: Facing the challenge
Big Data Security: Facing the challengeBig Data Security: Facing the challenge
Big Data Security: Facing the challengeStratio
 
Operationalizing Big Data
Operationalizing Big DataOperationalizing Big Data
Operationalizing Big DataStratio
 
Artificial Intelligence on Data Centric Platform
Artificial Intelligence on Data Centric PlatformArtificial Intelligence on Data Centric Platform
Artificial Intelligence on Data Centric PlatformStratio
 
Introduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksIntroduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksStratio
 
“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” Stratio
 
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 - ...Stratio
 
Meetup: Spark + Kerberos
Meetup: Spark + KerberosMeetup: Spark + Kerberos
Meetup: Spark + KerberosStratio
 
Distributed Logistic Model Trees
Distributed Logistic Model TreesDistributed Logistic Model Trees
Distributed Logistic Model TreesStratio
 
Multiplaform Solution for Graph Datasources
Multiplaform Solution for Graph DatasourcesMultiplaform Solution for Graph Datasources
Multiplaform Solution for Graph DatasourcesStratio
 
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 2016Stratio
 
[Strata] Sparkta
[Strata] Sparkta[Strata] Sparkta
[Strata] SparktaStratio
 
Introduction to Asynchronous scala
Introduction to Asynchronous scalaIntroduction to Asynchronous scala
Introduction to Asynchronous scalaStratio
 
Functional programming in scala
Functional programming in scalaFunctional programming in scala
Functional programming in scalaStratio
 
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 2015Stratio
 

More from 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
 

Recently uploaded

PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADORPREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOReluniversocom
 
El sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptxEl sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptxYoladsCabarcasTous
 
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILPREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILeluniversocom
 
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024eluniversocom
 
Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería yocelynsanchezerasmo
 
Secuencia Uso del calendario. Segundo ciclo.docx
Secuencia Uso del calendario. Segundo ciclo.docxSecuencia Uso del calendario. Segundo ciclo.docx
Secuencia Uso del calendario. Segundo ciclo.docxcandevillarruel
 
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRILPREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRILeluniversocom
 
FORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASOFORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASOsecundariatecnica891
 
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docxmarthaarroyo16
 
Módulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotesMódulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotessald071205mmcnrna9
 
LÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdf
LÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdfLÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdf
LÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdfFranyeskaMagallanes
 
Las familias más ricas dentro del sionismo (2024).pdf
Las familias más ricas dentro del sionismo (2024).pdfLas familias más ricas dentro del sionismo (2024).pdf
Las familias más ricas dentro del sionismo (2024).pdfJC Díaz Herrera
 
Civilizacióne Precolonbinas Resumen pdf.
Civilizacióne Precolonbinas Resumen pdf.Civilizacióne Precolonbinas Resumen pdf.
Civilizacióne Precolonbinas Resumen pdf.gpoiquicuellar
 
TEORIA DEL DEFICIT DEL AUTOCUIDADO .pptx
TEORIA DEL DEFICIT DEL AUTOCUIDADO .pptxTEORIA DEL DEFICIT DEL AUTOCUIDADO .pptx
TEORIA DEL DEFICIT DEL AUTOCUIDADO .pptxmarinosudarioneyer
 
Mapa de riesgos de un cine, equipo 4.pdf
Mapa de riesgos de un cine, equipo 4.pdfMapa de riesgos de un cine, equipo 4.pdf
Mapa de riesgos de un cine, equipo 4.pdfhees071224mmcrpna1
 
TABLERO-DE-CONTROL-SOFOMES-ENR_08012024.pdf
TABLERO-DE-CONTROL-SOFOMES-ENR_08012024.pdfTABLERO-DE-CONTROL-SOFOMES-ENR_08012024.pdf
TABLERO-DE-CONTROL-SOFOMES-ENR_08012024.pdfMartinRodriguezchave1
 
CONTROLES Y EXPERIMENTACION presentacion
CONTROLES Y EXPERIMENTACION presentacionCONTROLES Y EXPERIMENTACION presentacion
CONTROLES Y EXPERIMENTACION presentacionJosueVallejo10
 
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfPREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfeluniversocom
 
AREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf SantiagoAREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf SantiagoSantiagoRodriguezLoz
 
4958documentodeaptitud_PUENTE PIEDRA.pdf
4958documentodeaptitud_PUENTE PIEDRA.pdf4958documentodeaptitud_PUENTE PIEDRA.pdf
4958documentodeaptitud_PUENTE PIEDRA.pdfcristianojedac11
 

Recently uploaded (20)

PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADORPREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
 
El sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptxEl sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptx
 
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILPREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
 
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
 
Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería
 
Secuencia Uso del calendario. Segundo ciclo.docx
Secuencia Uso del calendario. Segundo ciclo.docxSecuencia Uso del calendario. Segundo ciclo.docx
Secuencia Uso del calendario. Segundo ciclo.docx
 
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRILPREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
 
FORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASOFORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASO
 
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
 
Módulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotesMódulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotes
 
LÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdf
LÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdfLÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdf
LÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdf
 
Las familias más ricas dentro del sionismo (2024).pdf
Las familias más ricas dentro del sionismo (2024).pdfLas familias más ricas dentro del sionismo (2024).pdf
Las familias más ricas dentro del sionismo (2024).pdf
 
Civilizacióne Precolonbinas Resumen pdf.
Civilizacióne Precolonbinas Resumen pdf.Civilizacióne Precolonbinas Resumen pdf.
Civilizacióne Precolonbinas Resumen pdf.
 
TEORIA DEL DEFICIT DEL AUTOCUIDADO .pptx
TEORIA DEL DEFICIT DEL AUTOCUIDADO .pptxTEORIA DEL DEFICIT DEL AUTOCUIDADO .pptx
TEORIA DEL DEFICIT DEL AUTOCUIDADO .pptx
 
Mapa de riesgos de un cine, equipo 4.pdf
Mapa de riesgos de un cine, equipo 4.pdfMapa de riesgos de un cine, equipo 4.pdf
Mapa de riesgos de un cine, equipo 4.pdf
 
TABLERO-DE-CONTROL-SOFOMES-ENR_08012024.pdf
TABLERO-DE-CONTROL-SOFOMES-ENR_08012024.pdfTABLERO-DE-CONTROL-SOFOMES-ENR_08012024.pdf
TABLERO-DE-CONTROL-SOFOMES-ENR_08012024.pdf
 
CONTROLES Y EXPERIMENTACION presentacion
CONTROLES Y EXPERIMENTACION presentacionCONTROLES Y EXPERIMENTACION presentacion
CONTROLES Y EXPERIMENTACION presentacion
 
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfPREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
 
AREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf SantiagoAREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf Santiago
 
4958documentodeaptitud_PUENTE PIEDRA.pdf
4958documentodeaptitud_PUENTE PIEDRA.pdf4958documentodeaptitud_PUENTE PIEDRA.pdf
4958documentodeaptitud_PUENTE PIEDRA.pdf
 

Métodos de Ensemble en ML

  • 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

Editor's Notes

  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