Rodrigo Cabello
Machine Learning for
developers
PyConEs 2017 Cáceres
¿Quién soy?
Manuel Rodrigo Cabello Malagón
Software Engineer
@mrcabellom
mrcabellom@gmail.com
https://geeks.ms/mrcabellom/
• Introducción Machine Learning
• Inteligencia Artificial
• Variantes aprendizaje
• Workflow modelo predictivo
• Azure Machine Learning Studio
• Experimentos
• Servicios Web ML Studio
• Demo
• Clasificación no supervisada (K-means)
• Cuantización y segmentación por color
Objetivo: Imitar las funciones cognitivas del ser humano: “Aprender” y “Resolver Problemas”.
• Principalmente persigue 2 objetivos:
• Sistemas que piensan y actúan como humanos.
• Sistemas que piensan y actúan racionalmente.
Inteligencia Artificial
I.A. Moderna
Renacimiento
I.A.
El invierno de
la I.A.
Test de Turing
(nacimiento I.A.)
61943 1950 - 1956 1966 - 1974 1980 -1990 1990 - ----
Circuitos booleanos
como modelos de
cerebro
Test Turing superado 2014
Inteligencia Artificial
• ¿Cómo nos imaginamos la Inteligencia Artificial?
Inteligencia Artificial
• ¿Qué es machine learning?
• Rama de la inteligencia artificial cuyo objetivo es desarrollar técnicas que
permitan a las computadoras aprender de los datos existentes para prever
tendencias, resultados y comportamientos futuros.
• Primeros algoritmos de Machine Learning (Perceptron, 1958)
• Transformar datos en conocimiento:
• Compra Online.
• Detección de fraudes.
• ¿Cuánto podría valer este coche?
Inteligencia Artificial
Bottom-up Top-down
¿Cómo aprendo Machine Learning?
• Aprendizaje supervisado
• Aprender acerca de un conjunto de datos ya clasificados para poder hacer
predicciones futuras.
• Algoritmos de clasificación y regresión.
¿esto es A o B?
Clasificación
¿cuánto? o ¿cuántos?
Regresión
Variantes de aprendizaje
• Clasificación
• Predecir dos categorías.
• Respuestas simples
• Predecir varias
categorías
• Respuestas complejas
¿Qué tipo de servicio escogerá
el cliente?
¿Es este tweet positivo o
negativo?
Variantes de aprendizaje
• Aprendizaje no supervisado
• Clustering: Organizar los datos en
clusters sin tener conocimiento previo
del grupo al que pertenecen.
• Predecir y comprender mejor eventos y
comportamientos futuros.
¿Cómo está organizado?
Variantes de aprendizaje
• Aprendizaje por refuerzo
• Algoritmos que aprenden acerca de los resultados que se realizan en ciertos estados.
• Modifica la estrategia para obtener mayor recompensa.
• Cómo responden los animales y el ser humano a los castigos y recompensas.
¿Qué debo hacer ahora?
Variantes de aprendizaje
• Detección de anomalías
• Algoritmos que analizan patrones y detectan
comportamientos extraños.
• Eventos o comportamientos inesperados o
poco habituales.
• Proporciona pistas sobre dónde buscar
problemas.
¿Es extraño?
Variantes de aprendizaje
Entrenamiento
&
Test
Workflow
• Plataforma de aprendizaje
• Crear, probar e implementar
soluciones de análisis
predictivo.
• Subscripción gratuita.
• Publicación de modelos como
servicios webs.
• Integración con aplicaciones
personalizadas o herramientas BI.
• Soporte para R y Python.
• Herramientas procesamiento de
datos.
Introducción
• Panel para poder desarrollador nuestros
experimentos predictivos:
• Conjuntos de datos.
• Transformación datos.
• Algoritmos.
• Selección de características.
• Python scripts, R Scripts.
• Modelos entrenados.
• Modelos de Resultados.
• Transformaciones.
• Servicios Web.
Workspace y Experimentos
• Librería Azure Machine Learning
• Permite acceder al Workspace de Azure ML
Studio.
• Crear, leer y administrar datasets.
Librerías
• Experimento entrenamiento:
1. Obtención de los datos.
2. Preprocesamiento de datos.
3. Split (Datos entrenamiento /Test).
4. Selección Algoritmo.
5. Entramiento del modelo.
6. Evaluación resultados.
Workflow
• Permite realizar un
entrenamiento del modelo a
través de una API.
Servicio web
entrenamiento
Web services (Entreamiento)
Request-Response
Batch
Servicio web
predictivo
Web services (Predictivo)
Request-Response
Batch
Update (PATCH)
• Realizar predicciones a través
de una API usando el model
entrenado.
Cuantización y segmentación por color de Imágenes
Web service
CIE L*a*b* (CIE 76)
K-means
Dataset cuantizado
(media)
Dataset clúster
Aprendizaje no supervisado. Clustering
2. Asignación de las observaciones a los centroides (por distancia)
3. Recalcular centroides (media)
4. Repetir 2 y 3 se repiten hasta que se converja.
Con K = 2
Muchas gracias

Machine Learning for Developers (PyConEs2017)

  • 1.
    Rodrigo Cabello Machine Learningfor developers PyConEs 2017 Cáceres
  • 2.
    ¿Quién soy? Manuel RodrigoCabello Malagón Software Engineer @mrcabellom mrcabellom@gmail.com https://geeks.ms/mrcabellom/
  • 3.
    • Introducción MachineLearning • Inteligencia Artificial • Variantes aprendizaje • Workflow modelo predictivo • Azure Machine Learning Studio • Experimentos • Servicios Web ML Studio • Demo • Clasificación no supervisada (K-means) • Cuantización y segmentación por color
  • 5.
    Objetivo: Imitar lasfunciones cognitivas del ser humano: “Aprender” y “Resolver Problemas”. • Principalmente persigue 2 objetivos: • Sistemas que piensan y actúan como humanos. • Sistemas que piensan y actúan racionalmente. Inteligencia Artificial
  • 6.
    I.A. Moderna Renacimiento I.A. El inviernode la I.A. Test de Turing (nacimiento I.A.) 61943 1950 - 1956 1966 - 1974 1980 -1990 1990 - ---- Circuitos booleanos como modelos de cerebro Test Turing superado 2014 Inteligencia Artificial
  • 7.
    • ¿Cómo nosimaginamos la Inteligencia Artificial? Inteligencia Artificial
  • 8.
    • ¿Qué esmachine learning? • Rama de la inteligencia artificial cuyo objetivo es desarrollar técnicas que permitan a las computadoras aprender de los datos existentes para prever tendencias, resultados y comportamientos futuros. • Primeros algoritmos de Machine Learning (Perceptron, 1958) • Transformar datos en conocimiento: • Compra Online. • Detección de fraudes. • ¿Cuánto podría valer este coche? Inteligencia Artificial
  • 9.
  • 10.
    • Aprendizaje supervisado •Aprender acerca de un conjunto de datos ya clasificados para poder hacer predicciones futuras. • Algoritmos de clasificación y regresión. ¿esto es A o B? Clasificación ¿cuánto? o ¿cuántos? Regresión Variantes de aprendizaje
  • 11.
    • Clasificación • Predecirdos categorías. • Respuestas simples • Predecir varias categorías • Respuestas complejas ¿Qué tipo de servicio escogerá el cliente? ¿Es este tweet positivo o negativo? Variantes de aprendizaje
  • 12.
    • Aprendizaje nosupervisado • Clustering: Organizar los datos en clusters sin tener conocimiento previo del grupo al que pertenecen. • Predecir y comprender mejor eventos y comportamientos futuros. ¿Cómo está organizado? Variantes de aprendizaje
  • 13.
    • Aprendizaje porrefuerzo • Algoritmos que aprenden acerca de los resultados que se realizan en ciertos estados. • Modifica la estrategia para obtener mayor recompensa. • Cómo responden los animales y el ser humano a los castigos y recompensas. ¿Qué debo hacer ahora? Variantes de aprendizaje
  • 14.
    • Detección deanomalías • Algoritmos que analizan patrones y detectan comportamientos extraños. • Eventos o comportamientos inesperados o poco habituales. • Proporciona pistas sobre dónde buscar problemas. ¿Es extraño? Variantes de aprendizaje
  • 15.
  • 17.
    • Plataforma deaprendizaje • Crear, probar e implementar soluciones de análisis predictivo. • Subscripción gratuita. • Publicación de modelos como servicios webs. • Integración con aplicaciones personalizadas o herramientas BI. • Soporte para R y Python. • Herramientas procesamiento de datos. Introducción
  • 18.
    • Panel parapoder desarrollador nuestros experimentos predictivos: • Conjuntos de datos. • Transformación datos. • Algoritmos. • Selección de características. • Python scripts, R Scripts. • Modelos entrenados. • Modelos de Resultados. • Transformaciones. • Servicios Web. Workspace y Experimentos
  • 19.
    • Librería AzureMachine Learning • Permite acceder al Workspace de Azure ML Studio. • Crear, leer y administrar datasets. Librerías
  • 20.
    • Experimento entrenamiento: 1.Obtención de los datos. 2. Preprocesamiento de datos. 3. Split (Datos entrenamiento /Test). 4. Selección Algoritmo. 5. Entramiento del modelo. 6. Evaluación resultados. Workflow
  • 23.
    • Permite realizarun entrenamiento del modelo a través de una API. Servicio web entrenamiento Web services (Entreamiento) Request-Response Batch
  • 24.
    Servicio web predictivo Web services(Predictivo) Request-Response Batch Update (PATCH) • Realizar predicciones a través de una API usando el model entrenado.
  • 26.
    Cuantización y segmentaciónpor color de Imágenes Web service CIE L*a*b* (CIE 76) K-means Dataset cuantizado (media) Dataset clúster
  • 27.
    Aprendizaje no supervisado.Clustering 2. Asignación de las observaciones a los centroides (por distancia) 3. Recalcular centroides (media) 4. Repetir 2 y 3 se repiten hasta que se converja. Con K = 2
  • 28.