SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Automatizando el aprendizaje
basado en datos
Automatic Machine Learning
Manuel Martín Salvador
Granada AI Meetup - 14/10/2019
¡Hola!
Manuel Martín Salvador
AI Research Engineer / Ingeniero de investigación en inteligencia artificial
PhD in Machine Learning / Doctor en Informática
Algunos ejemplos recientes de
aprendizaje basado en datos
Microsoft Seeing AI
Origen: https://www.youtube.com/watch?v=R2mC-NUAmMk Más info: https://www.microsoft.com/en-us/ai/seeing-ai
Vehículos autónomos
Origen: https://www.youtube.com/watch?v=dk3oc1Hr62g
Traducción en tiempo real
Origen: https://www.skype.com/en/features/skype-translator/
Origen: https://twitter.com/cientefico
Aprendizaje basado en datos
También conocido como aprendizaje automático o machine learning.
Aprendizaje supervisado Aprendizaje no supervisado
Origen (izquierda): https://www.reddit.com/r/learnmachinelearning/comments/bsz9xf/visualization_of_layer_outputs_of_a_cnn_running/
Origen (derecha): https://graphext.com
Aprendizaje supervisado
Datos de
entrenamiento
Algoritmo de
aprendizaje
1. Entrenar
2. Evaluar
Predicciones +
Resultado de
la evaluación
3. Predecir
Datos de
evaluación
Datos de interés
Modelo
Predictivo
Predicciones
Problema: Los datos no son perfectos
Valores
desconocidos
Ruido
Alta
dimensionalidad
Valores
fuera de
rango
(outliers)
Question Mark: http://commons.wikimedia.org/wiki/File:Question_mark_road_sign,_Australia.jpg
Noise: http://www.ssp.ece.upatras.gr/galatsanos/IMAGE%20RESTORATION.htm
Outliers: http://commons.wikimedia.org/wiki/File:Diagrama_de_caixa_com_outliers_and_whisker.png
3D plot: http://salsahpc.indiana.edu/plotviz/
Solución: Preprocesamiento y limpieza
Datos Postprocesamiento Predicciones
Preprocesamiento
/ Limpieza
Modelo
Predictivo
Combinación de modelos (Ensemble)
Preprocesamiento
/ Limpieza
Datos
Modelo
Predictivo
Preprocesamiento
/ Limpieza
Preprocesamiento
/ Limpieza
Modelo
Predictivo
Modelo
Predictivo
Postprocesamiento Predicciones
¿En qué se invierte más tiempo?
Limpiando y organizando
datos
Creando conjuntos de entrenamiento
Recolectando datos
Buscando patrones en los datos
Refinando los algoritmos
Otros
Origen: CrowdFlower - 2016 Data Science Report
Selección de algoritmos
¿Cuáles son los algoritmos más adecuados para procesar nuestro conjunto de datos?
¿Por dónde empiezo?
Novato/a
Muchos algoritmos
Prueba y error
Experto/a
Zona de confort
No explora nuevos métodos
Origen: https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
Selección de hiperparámetros
¿Cuál es la mejor combinación de hiperparámetros para mis datos?
Problema: No free lunch
No hay un modelo universalmente superior a todos los problemas
“No free lunch theorem for optimization” - Wolpert & Macready (1997)
Solución: Problema de optimización
Combined Algorithm Selection and Hyperparameter configuration problem
k-fold cross validation
Función a minimizar
(e.g. error de
clasificación)
HiperparámetrosAlgoritmos
Conjunto de
entrenamiento
Conjunto de
validación
Thornton, C., Hutter, F., Hoos, H.H., Leyton-Brown, K.: Auto-WEKA: combined selection and hyperparameter optimization of classification algorithms.
In: Proc. of the 19th ACM SIGKDD. (2013) 847–855 available at https://arxiv.org/abs/1208.3719
Martin Salvador M., Budka M., Gabrys B.: Automatic Composition and Optimization of Multicomponent Predictive Systems With an Extended Auto-WEKA. IEEE
Transactions on Automation Science and Engineering. (2018) 946-959 available at https://doi.org/10.1109/TASE.2018.2876430
Ejemplo 1: Problema de optimización
from hyperopt import fmin, tpe, hp
best = fmin(
fn=lambda x: (x-1)**2,
space=hp.uniform('x', -2, 2),
algo=tpe.suggest,
max_evals=100)
print(best)
Origen: https://medium.com/district-data-labs/parameter-tuning-with-hyperopt-faa86acdfdce
Ejemplo 1: Problema de optimización
from hyperopt import fmin, tpe, hp
best = fmin(
fn=lambda x: (x-1)**2,
space=hp.uniform('x', -2, 2),
algo=tpe.suggest,
max_evals=100)
print(best)
{'x': 0.997369045274755}
Origen: https://medium.com/district-data-labs/parameter-tuning-with-hyperopt-faa86acdfdce
Ejemplo 2: Problema de optimización
Origen: https://wacamlds.podia.com/applied-machine-learning-using-python-classification-with-iris-dataset
Conjunto de datos flor Iris
“The use of multiple
measurements in taxonomic
problems” R. Fisher (1936)
Objetivo: Crear un modelo de
clasificación que minimice el
error de predecir el tipo de flor
en base a sus características.
Ejemplo 2: Problema de optimización
from hyperopt import fmin, tpe, hp
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import cross_val_score
iris = datasets.load_iris()
X, y = iris.data, iris.target
def loss_function(params):
model = KNeighborsClassifier(**params)
accuracy = cross_val_score(model, X, y).mean()
return {'loss': -accuracy, 'status': STATUS_OK}
space_knn = {'n_neighbors': hp.choice('n_neighbors', range(1, 50))}
trials = Trials()
best = fmin(loss_function, space_knn, algo=tpe.suggest, max_evals=100, trials=trials)
Origen: https://medium.com/district-data-labs/parameter-tuning-with-hyperopt-faa86acdfdce
Ejemplo 2: Problema de optimización
Origen: https://medium.com/district-data-labs/parameter-tuning-with-hyperopt-faa86acdfdce
{'n_neighbors': 4}
Estrategias de optimización
● Búsqueda exhaustiva: Explora todo el espacio de búsqueda.
○ Problema: No es factible en espacios de búsqueda muy grandes.
● Búsqueda aleatoria: Explora el espacio de búsqueda de forma aleatoria
durante un determinado tiempo.
○ Problema: Puede encontrar buenas soluciones pero no indaga en mejorarlas.
● Optimización Bayesiana: Construye un modelo probabilístico para decidir qué
explorar a continuación. Dicho modelo se va actualizando conforme avanza la
exploración. Se detiene una vez alcance el límite de tiempo indicado.
● Metaheurísticas: Usan heurísticas para buscar la configuración más óptima.
Optimización Bayesiana
Optimización Bayesiana
Optimización Bayesiana
Configuración inicial
¿Por dónde empiezo a buscar?
● Aleatorio: Se escogen una o varias configuraciones al azar.
● Definido a priori: Creemos que esta configuración es buena.
● Meta-Learning: Basado en experiencias con otros datasets.
¿Cuándo detengo la búsqueda?
● Límite de tiempo (e.g. 24 horas)
● Límite de iteraciones (e.g. 1000
soluciones exploradas)
● Límite de paciencia (e.g. la mejor
configuración no ha mejorado
después de 200 iteraciones)
● Limite económico (e.g. 50€ en algún
servicio de la nube)
Origen: https://giphy.com/gifs/yyp58Yx3Qk0TK
Me has convencido, ¿cómo empiezo?
Origen: https://giphy.com/gifs/cat-hacker-webs-o0vwzuFwCGAFO
Software Libre para AutoML
Propósito general
● HyperOpt
● HyperBand
● BOAH
● SMAC
● MOE
Machine Learning
● Auto-WEKA
● Auto-sklearn
● TPOT
● H2O
Deep Learning
● Auto-PyTorch
● Keras Tuner
Espacio de búsqueda en WEKA
Predictor Meta-Predictor
Missing
Value
Handling
Outlier
Detection
and
Handling
Data
Transformation
Dimensionality
Reduction
Sampling
812 mil millones
de posibles combinaciones
Auto-WEKA for MCPS
MCPS = MultiComponent Predictive System
Modos:
● Completamente automático: Explora el
espacio de búsqueda compuesto por filtros
(preprocesamiento), modelos predictivos y
meta-modelos de WEKA.
● Dirigido: Explora el espacio de búsqueda
definido por el usuario.
https://github.com/dsibournemouth/autoweka
Servicios en la nube
● Auger.ai
● Azure AutoML
● DataRobot
● Google Cloud AutoML
● H20.ai
Origen: https://giphy.com/gifs/money-make-it-rain-JpG2A9P3dPHXaTYrwu
Adaptación de modelos
¿Qué sucede si la distribución de los datos de nuestro sistema se va modificando
con el paso del tiempo?
Tendremos que adaptar el modelo predictivo y posiblemente el preprocesamiento.
Origen: INFER project
Adaptación de modelos
¿Qué sucede si la distribución de los datos de nuestro sistema se va modificando
con el paso del tiempo?
Tendremos que adaptar el modelo predictivo y posiblemente el preprocesamiento.
Origen: INFER project
Artículos relacionados
Pitfalls and Best Practices in Algorithm Configuration (2019)
Automatic Composition and Optimization of Multicomponent Predictive Systems With an Extended Auto-WEKA (2018)
Automatic and adaptive preprocessing for the development of predictive models (tesis, 2017)
Towards Automatic Composition of Multicomponent Predictive Systems (2016)
Efficient and Robust Automated Machine Learning (2015)
Initializing bayesian hyperparameter optimization via meta-learning (2015)
Auto-WEKA: combined selection and hyperparameter optimization of classification algorithms (2013)
Sequential model-based optimization for general algorithm configuration (2011)
¡Gracias!
Manuel Martín Salvador
draxus@gmail.com
@draxus
https://www.slideshare.net/draxus
https://www.linkedin.com/in/draxus/
https://xkcd.com/1838/

Más contenido relacionado

Similar a Automatizando el aprendizaje basado en datos

Securizando por construcción mediante MDE
Securizando por construcción mediante MDESecurizando por construcción mediante MDE
Securizando por construcción mediante MDEPedro J. Molina
 
Machine Learning a lo berserker - Software Craftsmanship Barcelona 2016
Machine Learning a lo berserker  - Software Craftsmanship Barcelona 2016Machine Learning a lo berserker  - Software Craftsmanship Barcelona 2016
Machine Learning a lo berserker - Software Craftsmanship Barcelona 2016Beatriz Martín @zigiella
 
Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007guest976d083
 
Codemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterCodemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterAdolfo Sanz De Diego
 
Cómo diagnosticar problemas de rendimiento en entornos LAMP
Cómo diagnosticar problemas de rendimiento en entornos LAMPCómo diagnosticar problemas de rendimiento en entornos LAMP
Cómo diagnosticar problemas de rendimiento en entornos LAMPJavier Carranza
 
Barcelona Workshop 2008
Barcelona Workshop 2008Barcelona Workshop 2008
Barcelona Workshop 2008Mitusin
 
Machine Learning aplicado a ciberseguridad. Limitaciones y seguridad ofensiva
Machine Learning aplicado a ciberseguridad. Limitaciones y seguridad ofensivaMachine Learning aplicado a ciberseguridad. Limitaciones y seguridad ofensiva
Machine Learning aplicado a ciberseguridad. Limitaciones y seguridad ofensivaOwaspMadrid Chapter
 
Webminar Gratuito "Consejos Generales para el Escaneo".
Webminar Gratuito "Consejos Generales para el Escaneo".Webminar Gratuito "Consejos Generales para el Escaneo".
Webminar Gratuito "Consejos Generales para el Escaneo".NPROS Perú
 
Apache ha muerto, Viva Lighttpd
Apache ha muerto, Viva LighttpdApache ha muerto, Viva Lighttpd
Apache ha muerto, Viva Lighttpdruna
 
Optimización de Contenido Flash para Móviles
Optimización de Contenido Flash para MóvilesOptimización de Contenido Flash para Móviles
Optimización de Contenido Flash para MóvilesEdgar Parada
 
Testing efectivo con pytest
Testing efectivo con pytestTesting efectivo con pytest
Testing efectivo con pytestHector Canto
 
El mundo de los sitios web
El mundo de los sitios webEl mundo de los sitios web
El mundo de los sitios webrodmazzo
 
Symfony2: Optimización y rendimiento
Symfony2: Optimización y rendimientoSymfony2: Optimización y rendimiento
Symfony2: Optimización y rendimientoRaul Fraile
 
The Original Hacker número 11.
The Original Hacker número 11.The Original Hacker número 11.
The Original Hacker número 11.Huehue 1
 
Original Hacker 5
Original Hacker 5Original Hacker 5
Original Hacker 5Huehue 1
 
Node js Alt.net Hispano
Node js Alt.net HispanoNode js Alt.net Hispano
Node js Alt.net Hispanohdgarcia
 

Similar a Automatizando el aprendizaje basado en datos (20)

Securizando por construcción mediante MDE
Securizando por construcción mediante MDESecurizando por construcción mediante MDE
Securizando por construcción mediante MDE
 
Machine Learning a lo berserker - Software Craftsmanship Barcelona 2016
Machine Learning a lo berserker  - Software Craftsmanship Barcelona 2016Machine Learning a lo berserker  - Software Craftsmanship Barcelona 2016
Machine Learning a lo berserker - Software Craftsmanship Barcelona 2016
 
Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007
 
Codemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterCodemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipster
 
Cómo diagnosticar problemas de rendimiento en entornos LAMP
Cómo diagnosticar problemas de rendimiento en entornos LAMPCómo diagnosticar problemas de rendimiento en entornos LAMP
Cómo diagnosticar problemas de rendimiento en entornos LAMP
 
Barcelona Workshop 2008
Barcelona Workshop 2008Barcelona Workshop 2008
Barcelona Workshop 2008
 
Ajax
AjaxAjax
Ajax
 
Machine Learning aplicado a ciberseguridad. Limitaciones y seguridad ofensiva
Machine Learning aplicado a ciberseguridad. Limitaciones y seguridad ofensivaMachine Learning aplicado a ciberseguridad. Limitaciones y seguridad ofensiva
Machine Learning aplicado a ciberseguridad. Limitaciones y seguridad ofensiva
 
Webminar Gratuito "Consejos Generales para el Escaneo".
Webminar Gratuito "Consejos Generales para el Escaneo".Webminar Gratuito "Consejos Generales para el Escaneo".
Webminar Gratuito "Consejos Generales para el Escaneo".
 
Apache ha muerto, Viva Lighttpd
Apache ha muerto, Viva LighttpdApache ha muerto, Viva Lighttpd
Apache ha muerto, Viva Lighttpd
 
Optimización de Contenido Flash para Móviles
Optimización de Contenido Flash para MóvilesOptimización de Contenido Flash para Móviles
Optimización de Contenido Flash para Móviles
 
Testing efectivo con pytest
Testing efectivo con pytestTesting efectivo con pytest
Testing efectivo con pytest
 
El mundo de los sitios web
El mundo de los sitios webEl mundo de los sitios web
El mundo de los sitios web
 
Symfony2: Optimización y rendimiento
Symfony2: Optimización y rendimientoSymfony2: Optimización y rendimiento
Symfony2: Optimización y rendimiento
 
The Original Hacker número 11.
The Original Hacker número 11.The Original Hacker número 11.
The Original Hacker número 11.
 
Original Hacker 5
Original Hacker 5Original Hacker 5
Original Hacker 5
 
Node js Alt.net Hispano
Node js Alt.net HispanoNode js Alt.net Hispano
Node js Alt.net Hispano
 
INTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIALINTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIAL
 
INTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIALINTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIAL
 
Rackio framework
Rackio frameworkRackio framework
Rackio framework
 

Más de Manuel Martín

Modelling Multi-Component Predictive Systems as Petri Nets
Modelling Multi-Component Predictive Systems as Petri NetsModelling Multi-Component Predictive Systems as Petri Nets
Modelling Multi-Component Predictive Systems as Petri NetsManuel Martín
 
Brand engagement with mobile gamification apps from a developer perspective
Brand engagement with mobile gamification apps from a developer perspectiveBrand engagement with mobile gamification apps from a developer perspective
Brand engagement with mobile gamification apps from a developer perspectiveManuel Martín
 
Effects of change propagation resulting from adaptive preprocessing in multic...
Effects of change propagation resulting from adaptive preprocessing in multic...Effects of change propagation resulting from adaptive preprocessing in multic...
Effects of change propagation resulting from adaptive preprocessing in multic...Manuel Martín
 
Improving transport timetables usability for mobile devices
Improving transport timetables usability for mobile devicesImproving transport timetables usability for mobile devices
Improving transport timetables usability for mobile devicesManuel Martín
 
Automating Machine Learning - Is it feasible?
Automating Machine Learning - Is it feasible?Automating Machine Learning - Is it feasible?
Automating Machine Learning - Is it feasible?Manuel Martín
 
Towards Automatic Composition of Multicomponent Predictive Systems
Towards Automatic Composition of Multicomponent Predictive SystemsTowards Automatic Composition of Multicomponent Predictive Systems
Towards Automatic Composition of Multicomponent Predictive SystemsManuel Martín
 
From sensor readings to prediction: on the process of developing practical so...
From sensor readings to prediction: on the process of developing practical so...From sensor readings to prediction: on the process of developing practical so...
From sensor readings to prediction: on the process of developing practical so...Manuel Martín
 
Quick presentation for the OpenML workshop in Eindhoven 2014
Quick presentation for the OpenML workshop in Eindhoven 2014Quick presentation for the OpenML workshop in Eindhoven 2014
Quick presentation for the OpenML workshop in Eindhoven 2014Manuel Martín
 
Online Detection of Shutdown Periods in Chemical Plants: A Case Study
Online Detection of Shutdown Periods in Chemical Plants: A Case StudyOnline Detection of Shutdown Periods in Chemical Plants: A Case Study
Online Detection of Shutdown Periods in Chemical Plants: A Case StudyManuel Martín
 
Artificial Intelligence for Automating Data Analysis
Artificial Intelligence for Automating Data AnalysisArtificial Intelligence for Automating Data Analysis
Artificial Intelligence for Automating Data AnalysisManuel Martín
 
Handling concept drift in data stream mining
Handling concept drift in data stream miningHandling concept drift in data stream mining
Handling concept drift in data stream miningManuel Martín
 
Minería de secuencias de datos
Minería de secuencias de datosMinería de secuencias de datos
Minería de secuencias de datosManuel Martín
 
Minería de secuencias de datos
Minería de secuencias de datosMinería de secuencias de datos
Minería de secuencias de datosManuel Martín
 
AndalucíaPeople: Un sistema de recomendación para sitios de ocio de Andalucía
AndalucíaPeople: Un sistema de recomendación para sitios de ocio de AndalucíaAndalucíaPeople: Un sistema de recomendación para sitios de ocio de Andalucía
AndalucíaPeople: Un sistema de recomendación para sitios de ocio de AndalucíaManuel Martín
 
Operaciones Colectivas en MPI
Operaciones Colectivas en MPIOperaciones Colectivas en MPI
Operaciones Colectivas en MPIManuel Martín
 
Introducción a GNU/Linux
Introducción a GNU/LinuxIntroducción a GNU/Linux
Introducción a GNU/LinuxManuel Martín
 
Presentación Día de la Libertad del Software 2011
Presentación Día de la Libertad del Software 2011Presentación Día de la Libertad del Software 2011
Presentación Día de la Libertad del Software 2011Manuel Martín
 
Presentacion Taller de Introducción a Linux SFD2010
Presentacion Taller de Introducción a Linux SFD2010Presentacion Taller de Introducción a Linux SFD2010
Presentacion Taller de Introducción a Linux SFD2010Manuel Martín
 

Más de Manuel Martín (20)

Hogar (Des)Conectado
Hogar (Des)ConectadoHogar (Des)Conectado
Hogar (Des)Conectado
 
Modelling Multi-Component Predictive Systems as Petri Nets
Modelling Multi-Component Predictive Systems as Petri NetsModelling Multi-Component Predictive Systems as Petri Nets
Modelling Multi-Component Predictive Systems as Petri Nets
 
Brand engagement with mobile gamification apps from a developer perspective
Brand engagement with mobile gamification apps from a developer perspectiveBrand engagement with mobile gamification apps from a developer perspective
Brand engagement with mobile gamification apps from a developer perspective
 
Effects of change propagation resulting from adaptive preprocessing in multic...
Effects of change propagation resulting from adaptive preprocessing in multic...Effects of change propagation resulting from adaptive preprocessing in multic...
Effects of change propagation resulting from adaptive preprocessing in multic...
 
Improving transport timetables usability for mobile devices
Improving transport timetables usability for mobile devicesImproving transport timetables usability for mobile devices
Improving transport timetables usability for mobile devices
 
Automating Machine Learning - Is it feasible?
Automating Machine Learning - Is it feasible?Automating Machine Learning - Is it feasible?
Automating Machine Learning - Is it feasible?
 
Towards Automatic Composition of Multicomponent Predictive Systems
Towards Automatic Composition of Multicomponent Predictive SystemsTowards Automatic Composition of Multicomponent Predictive Systems
Towards Automatic Composition of Multicomponent Predictive Systems
 
From sensor readings to prediction: on the process of developing practical so...
From sensor readings to prediction: on the process of developing practical so...From sensor readings to prediction: on the process of developing practical so...
From sensor readings to prediction: on the process of developing practical so...
 
Quick presentation for the OpenML workshop in Eindhoven 2014
Quick presentation for the OpenML workshop in Eindhoven 2014Quick presentation for the OpenML workshop in Eindhoven 2014
Quick presentation for the OpenML workshop in Eindhoven 2014
 
Online Detection of Shutdown Periods in Chemical Plants: A Case Study
Online Detection of Shutdown Periods in Chemical Plants: A Case StudyOnline Detection of Shutdown Periods in Chemical Plants: A Case Study
Online Detection of Shutdown Periods in Chemical Plants: A Case Study
 
Artificial Intelligence for Automating Data Analysis
Artificial Intelligence for Automating Data AnalysisArtificial Intelligence for Automating Data Analysis
Artificial Intelligence for Automating Data Analysis
 
Handling concept drift in data stream mining
Handling concept drift in data stream miningHandling concept drift in data stream mining
Handling concept drift in data stream mining
 
Minería de secuencias de datos
Minería de secuencias de datosMinería de secuencias de datos
Minería de secuencias de datos
 
Minería de secuencias de datos
Minería de secuencias de datosMinería de secuencias de datos
Minería de secuencias de datos
 
AndalucíaPeople: Un sistema de recomendación para sitios de ocio de Andalucía
AndalucíaPeople: Un sistema de recomendación para sitios de ocio de AndalucíaAndalucíaPeople: Un sistema de recomendación para sitios de ocio de Andalucía
AndalucíaPeople: Un sistema de recomendación para sitios de ocio de Andalucía
 
Decompiladores
DecompiladoresDecompiladores
Decompiladores
 
Operaciones Colectivas en MPI
Operaciones Colectivas en MPIOperaciones Colectivas en MPI
Operaciones Colectivas en MPI
 
Introducción a GNU/Linux
Introducción a GNU/LinuxIntroducción a GNU/Linux
Introducción a GNU/Linux
 
Presentación Día de la Libertad del Software 2011
Presentación Día de la Libertad del Software 2011Presentación Día de la Libertad del Software 2011
Presentación Día de la Libertad del Software 2011
 
Presentacion Taller de Introducción a Linux SFD2010
Presentacion Taller de Introducción a Linux SFD2010Presentacion Taller de Introducción a Linux SFD2010
Presentacion Taller de Introducción a Linux SFD2010
 

Último

Partes y elementos de una iglesia básicos
Partes y elementos de una iglesia básicosPartes y elementos de una iglesia básicos
Partes y elementos de una iglesia básicosMarycarmenNuez4
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...israel garcia
 
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdfLos_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdfJC Díaz Herrera
 
Premios_nobel_por_grupo_racial_ (2024).pdf
Premios_nobel_por_grupo_racial_ (2024).pdfPremios_nobel_por_grupo_racial_ (2024).pdf
Premios_nobel_por_grupo_racial_ (2024).pdfJC Díaz Herrera
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfRodrigoBenitez38
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
Novelas Turcas vs Series de EUA en audiencia  (2024).pdfNovelas Turcas vs Series de EUA en audiencia  (2024).pdf
Novelas Turcas vs Series de EUA en audiencia (2024).pdfJC Díaz Herrera
 
Familias más ricas de países de AL en inicio de su hegemonía (2024).pdf
Familias más ricas de países de AL en inicio de su hegemonía (2024).pdfFamilias más ricas de países de AL en inicio de su hegemonía (2024).pdf
Familias más ricas de países de AL en inicio de su hegemonía (2024).pdfJC Díaz Herrera
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaJoellyAlejandraRodrg
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...
Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...
Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...JC Díaz Herrera
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaSilvia García
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfJC Díaz Herrera
 
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).docxLuisAngelYomonaYomon
 
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).pdfJC Díaz Herrera
 
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).pdfJC Díaz Herrera
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticJamithGarcia1
 

Último (20)

Partes y elementos de una iglesia básicos
Partes y elementos de una iglesia básicosPartes y elementos de una iglesia básicos
Partes y elementos de una iglesia básicos
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...
 
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdfLos_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
 
Premios_nobel_por_grupo_racial_ (2024).pdf
Premios_nobel_por_grupo_racial_ (2024).pdfPremios_nobel_por_grupo_racial_ (2024).pdf
Premios_nobel_por_grupo_racial_ (2024).pdf
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
Novelas Turcas vs Series de EUA en audiencia  (2024).pdfNovelas Turcas vs Series de EUA en audiencia  (2024).pdf
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
 
Familias más ricas de países de AL en inicio de su hegemonía (2024).pdf
Familias más ricas de países de AL en inicio de su hegemonía (2024).pdfFamilias más ricas de países de AL en inicio de su hegemonía (2024).pdf
Familias más ricas de países de AL en inicio de su hegemonía (2024).pdf
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problema
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...
Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...
Familias sionistas dentro de los 10 clanes familiares más ricos por regiones ...
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y química
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
 
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
 
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
 
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
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 

Automatizando el aprendizaje basado en datos

  • 1. Automatizando el aprendizaje basado en datos Automatic Machine Learning Manuel Martín Salvador Granada AI Meetup - 14/10/2019
  • 2. ¡Hola! Manuel Martín Salvador AI Research Engineer / Ingeniero de investigación en inteligencia artificial PhD in Machine Learning / Doctor en Informática
  • 3. Algunos ejemplos recientes de aprendizaje basado en datos
  • 4. Microsoft Seeing AI Origen: https://www.youtube.com/watch?v=R2mC-NUAmMk Más info: https://www.microsoft.com/en-us/ai/seeing-ai
  • 6. Traducción en tiempo real Origen: https://www.skype.com/en/features/skype-translator/
  • 8. Aprendizaje basado en datos También conocido como aprendizaje automático o machine learning. Aprendizaje supervisado Aprendizaje no supervisado Origen (izquierda): https://www.reddit.com/r/learnmachinelearning/comments/bsz9xf/visualization_of_layer_outputs_of_a_cnn_running/ Origen (derecha): https://graphext.com
  • 9. Aprendizaje supervisado Datos de entrenamiento Algoritmo de aprendizaje 1. Entrenar 2. Evaluar Predicciones + Resultado de la evaluación 3. Predecir Datos de evaluación Datos de interés Modelo Predictivo Predicciones
  • 10. Problema: Los datos no son perfectos Valores desconocidos Ruido Alta dimensionalidad Valores fuera de rango (outliers) Question Mark: http://commons.wikimedia.org/wiki/File:Question_mark_road_sign,_Australia.jpg Noise: http://www.ssp.ece.upatras.gr/galatsanos/IMAGE%20RESTORATION.htm Outliers: http://commons.wikimedia.org/wiki/File:Diagrama_de_caixa_com_outliers_and_whisker.png 3D plot: http://salsahpc.indiana.edu/plotviz/
  • 11. Solución: Preprocesamiento y limpieza Datos Postprocesamiento Predicciones Preprocesamiento / Limpieza Modelo Predictivo
  • 12. Combinación de modelos (Ensemble) Preprocesamiento / Limpieza Datos Modelo Predictivo Preprocesamiento / Limpieza Preprocesamiento / Limpieza Modelo Predictivo Modelo Predictivo Postprocesamiento Predicciones
  • 13. ¿En qué se invierte más tiempo? Limpiando y organizando datos Creando conjuntos de entrenamiento Recolectando datos Buscando patrones en los datos Refinando los algoritmos Otros Origen: CrowdFlower - 2016 Data Science Report
  • 14. Selección de algoritmos ¿Cuáles son los algoritmos más adecuados para procesar nuestro conjunto de datos?
  • 15. ¿Por dónde empiezo? Novato/a Muchos algoritmos Prueba y error Experto/a Zona de confort No explora nuevos métodos
  • 17. Selección de hiperparámetros ¿Cuál es la mejor combinación de hiperparámetros para mis datos?
  • 18. Problema: No free lunch No hay un modelo universalmente superior a todos los problemas “No free lunch theorem for optimization” - Wolpert & Macready (1997)
  • 19. Solución: Problema de optimización Combined Algorithm Selection and Hyperparameter configuration problem k-fold cross validation Función a minimizar (e.g. error de clasificación) HiperparámetrosAlgoritmos Conjunto de entrenamiento Conjunto de validación Thornton, C., Hutter, F., Hoos, H.H., Leyton-Brown, K.: Auto-WEKA: combined selection and hyperparameter optimization of classification algorithms. In: Proc. of the 19th ACM SIGKDD. (2013) 847–855 available at https://arxiv.org/abs/1208.3719 Martin Salvador M., Budka M., Gabrys B.: Automatic Composition and Optimization of Multicomponent Predictive Systems With an Extended Auto-WEKA. IEEE Transactions on Automation Science and Engineering. (2018) 946-959 available at https://doi.org/10.1109/TASE.2018.2876430
  • 20. Ejemplo 1: Problema de optimización from hyperopt import fmin, tpe, hp best = fmin( fn=lambda x: (x-1)**2, space=hp.uniform('x', -2, 2), algo=tpe.suggest, max_evals=100) print(best) Origen: https://medium.com/district-data-labs/parameter-tuning-with-hyperopt-faa86acdfdce
  • 21. Ejemplo 1: Problema de optimización from hyperopt import fmin, tpe, hp best = fmin( fn=lambda x: (x-1)**2, space=hp.uniform('x', -2, 2), algo=tpe.suggest, max_evals=100) print(best) {'x': 0.997369045274755} Origen: https://medium.com/district-data-labs/parameter-tuning-with-hyperopt-faa86acdfdce
  • 22. Ejemplo 2: Problema de optimización Origen: https://wacamlds.podia.com/applied-machine-learning-using-python-classification-with-iris-dataset Conjunto de datos flor Iris “The use of multiple measurements in taxonomic problems” R. Fisher (1936) Objetivo: Crear un modelo de clasificación que minimice el error de predecir el tipo de flor en base a sus características.
  • 23. Ejemplo 2: Problema de optimización from hyperopt import fmin, tpe, hp from sklearn import datasets from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import cross_val_score iris = datasets.load_iris() X, y = iris.data, iris.target def loss_function(params): model = KNeighborsClassifier(**params) accuracy = cross_val_score(model, X, y).mean() return {'loss': -accuracy, 'status': STATUS_OK} space_knn = {'n_neighbors': hp.choice('n_neighbors', range(1, 50))} trials = Trials() best = fmin(loss_function, space_knn, algo=tpe.suggest, max_evals=100, trials=trials) Origen: https://medium.com/district-data-labs/parameter-tuning-with-hyperopt-faa86acdfdce
  • 24. Ejemplo 2: Problema de optimización Origen: https://medium.com/district-data-labs/parameter-tuning-with-hyperopt-faa86acdfdce {'n_neighbors': 4}
  • 25. Estrategias de optimización ● Búsqueda exhaustiva: Explora todo el espacio de búsqueda. ○ Problema: No es factible en espacios de búsqueda muy grandes. ● Búsqueda aleatoria: Explora el espacio de búsqueda de forma aleatoria durante un determinado tiempo. ○ Problema: Puede encontrar buenas soluciones pero no indaga en mejorarlas. ● Optimización Bayesiana: Construye un modelo probabilístico para decidir qué explorar a continuación. Dicho modelo se va actualizando conforme avanza la exploración. Se detiene una vez alcance el límite de tiempo indicado. ● Metaheurísticas: Usan heurísticas para buscar la configuración más óptima.
  • 29. Configuración inicial ¿Por dónde empiezo a buscar? ● Aleatorio: Se escogen una o varias configuraciones al azar. ● Definido a priori: Creemos que esta configuración es buena. ● Meta-Learning: Basado en experiencias con otros datasets.
  • 30. ¿Cuándo detengo la búsqueda? ● Límite de tiempo (e.g. 24 horas) ● Límite de iteraciones (e.g. 1000 soluciones exploradas) ● Límite de paciencia (e.g. la mejor configuración no ha mejorado después de 200 iteraciones) ● Limite económico (e.g. 50€ en algún servicio de la nube) Origen: https://giphy.com/gifs/yyp58Yx3Qk0TK
  • 31. Me has convencido, ¿cómo empiezo? Origen: https://giphy.com/gifs/cat-hacker-webs-o0vwzuFwCGAFO
  • 32. Software Libre para AutoML Propósito general ● HyperOpt ● HyperBand ● BOAH ● SMAC ● MOE Machine Learning ● Auto-WEKA ● Auto-sklearn ● TPOT ● H2O Deep Learning ● Auto-PyTorch ● Keras Tuner
  • 33. Espacio de búsqueda en WEKA Predictor Meta-Predictor Missing Value Handling Outlier Detection and Handling Data Transformation Dimensionality Reduction Sampling 812 mil millones de posibles combinaciones
  • 34. Auto-WEKA for MCPS MCPS = MultiComponent Predictive System Modos: ● Completamente automático: Explora el espacio de búsqueda compuesto por filtros (preprocesamiento), modelos predictivos y meta-modelos de WEKA. ● Dirigido: Explora el espacio de búsqueda definido por el usuario. https://github.com/dsibournemouth/autoweka
  • 35. Servicios en la nube ● Auger.ai ● Azure AutoML ● DataRobot ● Google Cloud AutoML ● H20.ai Origen: https://giphy.com/gifs/money-make-it-rain-JpG2A9P3dPHXaTYrwu
  • 36. Adaptación de modelos ¿Qué sucede si la distribución de los datos de nuestro sistema se va modificando con el paso del tiempo? Tendremos que adaptar el modelo predictivo y posiblemente el preprocesamiento. Origen: INFER project
  • 37. Adaptación de modelos ¿Qué sucede si la distribución de los datos de nuestro sistema se va modificando con el paso del tiempo? Tendremos que adaptar el modelo predictivo y posiblemente el preprocesamiento. Origen: INFER project
  • 38. Artículos relacionados Pitfalls and Best Practices in Algorithm Configuration (2019) Automatic Composition and Optimization of Multicomponent Predictive Systems With an Extended Auto-WEKA (2018) Automatic and adaptive preprocessing for the development of predictive models (tesis, 2017) Towards Automatic Composition of Multicomponent Predictive Systems (2016) Efficient and Robust Automated Machine Learning (2015) Initializing bayesian hyperparameter optimization via meta-learning (2015) Auto-WEKA: combined selection and hyperparameter optimization of classification algorithms (2013) Sequential model-based optimization for general algorithm configuration (2011)