Machine Learning for
Dummies
¿Quiénes somos?
Manuel Rodrigo Cabello Malagón
Software Engineer at Plain Concepts
@mrcabellom
mrcabellom@gmail.com
Carlos Landeras Martínez
Software Engineer at Plain Concepts
@carlos_lande
carlos.landeras@gmail.com
Índice
• Introducción Machine Learning
• Tipos de Algoritmos Machine Learning
• Machine Learning Workflow
• Azure Machine Learning Studio
• Python Tools (PTVS)
• Anaconda (scipy, numpy, pandas, pyplot..)
• Demos en Azure ML
• Clasificación binaria
• Regresión
• Clustering
• Web services ML Studio
• Demo WebApi (ASP NET CORE) /SignalR
Introducción a Machine Learning
• Inteligencia Artificial
Introducción a Machine Learning
La inteligencia se puede definir como la capacidad de resolver
problemas o elaborar productos que sean valiosos en una o más
culturas.
Howard Gardner, Universidad de Harvard
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 - ----
Primeros éxitos:
• Juego de damas, 1952
• Arthur Samuel, IBM
• Poda α-β
• 1966 ALPAC report (traducción automática)
• 1969 Marvin Minsky & Seymour Papert:
Perceptrons”(abandono de modelos
conexionistas,la investigación en redes neuronales
casi desaparece)
• 1973 Lighthill report (investigación en IA en el
Reino Unido)
• 1974 Decepción en DARPA con CMU (programas
de reconocimiento de voz)
• Modelo conexionista: “backpropagation”, 1986 (las
redes neuronales retoman su popularidad)
• SAT solvers (problemas de satisfacción de
restricciones)
• Modelos ocultos de Markov (procesamiento del
lenguaje natural)
Circuitos booleanos
como modelos de
cerebro
Introducción a Machine Learning
• ¿Qué pensamos nosotros sobre la inteligencia Artificial?
Introducción a Machine Learning
• ¿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?
Introducción a Machine Learning
Introducción a Machine Learning
ToolsGroup
Evolución Machine learning
Introducción a Machine Learning
¿Cómo aprender machine learning?
Bottom-up Top-down
Tipos 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
Tipos Machine Learning
• Algoritmos de 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?
Tipos Machine Learning
• Aprendizaje no supervisado
• Clustering: Organizar los datos en
clusters sin tener el conocimiento
previo del grupo al que pertenecen.
• Predecir y comprender mejor eventos y
comportamientos
¿Cómo está organizado?
• Aprendizaje reforzado
• Algoritmos que aprenden acerca de los resultado que se realizan en ciertos estados.
• Cómo responden los animales y el ser humano a los castigos y recompensas.
Tipos Machine Learning
¿Qué debo hacer ahora?
Introducción a Machine Learning
• Detección de anomalías
• Algoritmos que analizan patrones y detectan
comportamientos extraños.
• Eventos o comportamientos inesperados o
poco habituales.
• Propociona pistas sobre dónde buscar
problemas.
¿Es extraño?
Machine Learning Workflow
Workflow
Modelo
Predictivo
Algoritmos Machine Learning
Clasificación Binaria Clasificación Múltiple
Algoritmos Machine Learning
Regresión Detección de Anomalías
Algoritmos Machine Learning
Perceptron ¿Cómo trabaja el cerebro?
• Algoritmo aprendizaje supervisado (Clasificación binaria).
• Predicción en base a una función lineal.
• Combina un vector de pesos con el vector de características.
Azure Machine Learning Studio
¿Qué es Azure Machine Leaning Studio?
Microsoft Azure Machine Learning Studio es una herramienta drag and drop
colaborativa donde puedes crear, testear y desplegar soluciones de análisis
predictivo sobre tus datos. Machine learning studio publica modelos como
Web Services para que podamos consumirlos de manera sencilla con
aplicaciones personalizadas o herramientas BI.
• Para desarrollar un análisis de modelo predictivo, utilizaremos orígenes de datos
de una o varias fuentes, transformando y analizando los datos a través de
funciones estadísticas y de manipulación de datos, para poder generar un
conjunto de resultados.
• Azure ML Studio nos Brinda un workspace interactivo para poder crear, testear e
iterar fácilmente en un modelo de análisis predictivo.
Workspace interactivo de Azure ML
Azure ML tiene las siguientes secciones de trabajo:
• Projects
• Experiments
• Web Services
• Notebooks
• Datasets
• Trained Models
• Settings (Name, Token, Users)
Azure ML Studio - Secciones
Dashboard : Experimentos
Elementos del experimento:
• Datasets
• Transformación datos,
• Algoritmos,
• Python scripts, R Scripts
• Train Model
• Score Model
• Etc…
Experimento de ML Studio
Cortana intelligence gallery
Cortana intelligence Gallery permite a
la comunidad de desarrolladores y data
scientists compartir sus soluciones
analíticas.
Encontraremos numerosos
experimentos implementando distintos
algoritmos, scripts de Python y R
https://gallery.cortanaintelligence.com/browse
Podremos clonar los experimentos en
nuestro workspace para trabajar con
ellos, modificarlos, ejecutarlos. Etc.
DEMO : Creando
Workspace y
Experimentos
Python Tools Visual Studio
Microsoft y Python
Visual Studio Code
Django y Azure
Machine Learning
Web App
Web Jobs PTVS(Python Tools VS)
Introducción PTVS (Python tools for VS)
• PTVS (2.2.5)
• Plugin de código abierto que convierte Visual Studio en un IDE para Python.
• Soporta Cython, IronPython, edición, navegación, IntelliSense detallado,
depuración interactiva, profiling.
• Soporte para frameworks (Django, Flask y Bottle)
• Gestión de entornos virtuales.
• Code snippets.
• Test Unitarios.
• Gran batería de ejemplos.
https://microsoft.github.io/PTVS/
https://github.com/Microsoft/PTVS/releases
Introducción PTVS (Python tools for VS)
• Entornos virtuales en Python
• Espacio virtual para nuestras librerías.
• Independiente de otros entornos virtuales y de los
paquetes globales del sistema.
• Permite mantener diferentes versiones del mismo
paquete.
Integración test unitarios
Python Tools interpreta test unitarios creados
con BaseTestCase, siendo posible su inspección
y ejecución desde la ventana de Test Explorer
de Visual Studio.
Intellisense
• Visual Studio nos facilita la escritura de código con intellisense. Tanto
para los módulos de Python como para librerías de terceros.
Anaconda
Anaconda
• Plataforma open source
powered by Python.
• Soporte para librerías
Python y R
• + 720 paquetes para
procesamiento de datos,
análisis predictivo y
computación científica.
• Gestor de paquetes
conda.
Pandas, numpy, sklearn
• Iris
• Precio Coches
• Cuantización Imágenes
DEMO Azure ML
Web Services Azure ML Studio
• Azure Machine learning nos permite publicar web services para poder consumir
el modelo predictivo que hemos estado desarrollando.
Exponiendo y consumiendo Web Services
Experimento
Training
Web Service
TiposDesplegar WebService
Predictive
Web Service
Consumir web services
Predictive
WebService
Training
WebService
Batch (csv)
Request/Response
Score result
ILearner
Prediction
Batch (csv)
(Azure Storage)
Predictions
Patch (Retrain model)
Ilearner blob file
Train model
updated! (200)
¿Como re-entrenamos el módelo?
DEMO : Aplicación
Asp.Net Core y ML
Studio Web Services
¿PREGUNTAS?

Machine learning for dummies - Azuges November 2016

  • 1.
  • 2.
    ¿Quiénes somos? Manuel RodrigoCabello Malagón Software Engineer at Plain Concepts @mrcabellom mrcabellom@gmail.com Carlos Landeras Martínez Software Engineer at Plain Concepts @carlos_lande carlos.landeras@gmail.com
  • 3.
    Índice • Introducción MachineLearning • Tipos de Algoritmos Machine Learning • Machine Learning Workflow • Azure Machine Learning Studio • Python Tools (PTVS) • Anaconda (scipy, numpy, pandas, pyplot..) • Demos en Azure ML • Clasificación binaria • Regresión • Clustering • Web services ML Studio • Demo WebApi (ASP NET CORE) /SignalR
  • 4.
  • 5.
    • Inteligencia Artificial Introduccióna Machine Learning La inteligencia se puede definir como la capacidad de resolver problemas o elaborar productos que sean valiosos en una o más culturas. Howard Gardner, Universidad de Harvard
  • 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 - ---- Primeros éxitos: • Juego de damas, 1952 • Arthur Samuel, IBM • Poda α-β • 1966 ALPAC report (traducción automática) • 1969 Marvin Minsky & Seymour Papert: Perceptrons”(abandono de modelos conexionistas,la investigación en redes neuronales casi desaparece) • 1973 Lighthill report (investigación en IA en el Reino Unido) • 1974 Decepción en DARPA con CMU (programas de reconocimiento de voz) • Modelo conexionista: “backpropagation”, 1986 (las redes neuronales retoman su popularidad) • SAT solvers (problemas de satisfacción de restricciones) • Modelos ocultos de Markov (procesamiento del lenguaje natural) Circuitos booleanos como modelos de cerebro Introducción a Machine Learning
  • 7.
    • ¿Qué pensamosnosotros sobre la inteligencia Artificial? Introducción a Machine Learning
  • 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? Introducción a Machine Learning
  • 9.
    Introducción a MachineLearning ToolsGroup Evolución Machine learning
  • 10.
    Introducción a MachineLearning ¿Cómo aprender machine learning? Bottom-up Top-down
  • 11.
    Tipos 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
  • 12.
    Tipos Machine Learning •Algoritmos de 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?
  • 13.
    Tipos Machine Learning •Aprendizaje no supervisado • Clustering: Organizar los datos en clusters sin tener el conocimiento previo del grupo al que pertenecen. • Predecir y comprender mejor eventos y comportamientos ¿Cómo está organizado?
  • 14.
    • Aprendizaje reforzado •Algoritmos que aprenden acerca de los resultado que se realizan en ciertos estados. • Cómo responden los animales y el ser humano a los castigos y recompensas. Tipos Machine Learning ¿Qué debo hacer ahora?
  • 15.
    Introducción a MachineLearning • Detección de anomalías • Algoritmos que analizan patrones y detectan comportamientos extraños. • Eventos o comportamientos inesperados o poco habituales. • Propociona pistas sobre dónde buscar problemas. ¿Es extraño?
  • 16.
  • 17.
    Algoritmos Machine Learning ClasificaciónBinaria Clasificación Múltiple
  • 18.
  • 19.
    Algoritmos Machine Learning Perceptron¿Cómo trabaja el cerebro? • Algoritmo aprendizaje supervisado (Clasificación binaria). • Predicción en base a una función lineal. • Combina un vector de pesos con el vector de características.
  • 20.
  • 21.
    ¿Qué es AzureMachine Leaning Studio? Microsoft Azure Machine Learning Studio es una herramienta drag and drop colaborativa donde puedes crear, testear y desplegar soluciones de análisis predictivo sobre tus datos. Machine learning studio publica modelos como Web Services para que podamos consumirlos de manera sencilla con aplicaciones personalizadas o herramientas BI.
  • 22.
    • Para desarrollarun análisis de modelo predictivo, utilizaremos orígenes de datos de una o varias fuentes, transformando y analizando los datos a través de funciones estadísticas y de manipulación de datos, para poder generar un conjunto de resultados. • Azure ML Studio nos Brinda un workspace interactivo para poder crear, testear e iterar fácilmente en un modelo de análisis predictivo. Workspace interactivo de Azure ML
  • 23.
    Azure ML tienelas siguientes secciones de trabajo: • Projects • Experiments • Web Services • Notebooks • Datasets • Trained Models • Settings (Name, Token, Users) Azure ML Studio - Secciones
  • 24.
    Dashboard : Experimentos Elementosdel experimento: • Datasets • Transformación datos, • Algoritmos, • Python scripts, R Scripts • Train Model • Score Model • Etc… Experimento de ML Studio
  • 25.
    Cortana intelligence gallery Cortanaintelligence Gallery permite a la comunidad de desarrolladores y data scientists compartir sus soluciones analíticas. Encontraremos numerosos experimentos implementando distintos algoritmos, scripts de Python y R https://gallery.cortanaintelligence.com/browse Podremos clonar los experimentos en nuestro workspace para trabajar con ellos, modificarlos, ejecutarlos. Etc.
  • 26.
  • 27.
  • 28.
    Microsoft y Python VisualStudio Code Django y Azure Machine Learning Web App Web Jobs PTVS(Python Tools VS)
  • 29.
    Introducción PTVS (Pythontools for VS) • PTVS (2.2.5) • Plugin de código abierto que convierte Visual Studio en un IDE para Python. • Soporta Cython, IronPython, edición, navegación, IntelliSense detallado, depuración interactiva, profiling. • Soporte para frameworks (Django, Flask y Bottle) • Gestión de entornos virtuales. • Code snippets. • Test Unitarios. • Gran batería de ejemplos. https://microsoft.github.io/PTVS/ https://github.com/Microsoft/PTVS/releases
  • 30.
    Introducción PTVS (Pythontools for VS) • Entornos virtuales en Python • Espacio virtual para nuestras librerías. • Independiente de otros entornos virtuales y de los paquetes globales del sistema. • Permite mantener diferentes versiones del mismo paquete.
  • 31.
    Integración test unitarios PythonTools interpreta test unitarios creados con BaseTestCase, siendo posible su inspección y ejecución desde la ventana de Test Explorer de Visual Studio.
  • 32.
    Intellisense • Visual Studionos facilita la escritura de código con intellisense. Tanto para los módulos de Python como para librerías de terceros.
  • 33.
  • 34.
    Anaconda • Plataforma opensource powered by Python. • Soporte para librerías Python y R • + 720 paquetes para procesamiento de datos, análisis predictivo y computación científica. • Gestor de paquetes conda. Pandas, numpy, sklearn
  • 35.
    • Iris • PrecioCoches • Cuantización Imágenes DEMO Azure ML
  • 36.
  • 37.
    • Azure Machinelearning nos permite publicar web services para poder consumir el modelo predictivo que hemos estado desarrollando. Exponiendo y consumiendo Web Services Experimento Training Web Service TiposDesplegar WebService Predictive Web Service
  • 38.
    Consumir web services Predictive WebService Training WebService Batch(csv) Request/Response Score result ILearner Prediction Batch (csv) (Azure Storage) Predictions Patch (Retrain model) Ilearner blob file Train model updated! (200) ¿Como re-entrenamos el módelo?
  • 39.
    DEMO : Aplicación Asp.NetCore y ML Studio Web Services
  • 40.