40
Machine Learning for Dummies

Machine learning for dummies - Azuges November 2016

Embed Size (px)

Citation preview

Page 1: Machine learning for dummies - Azuges November 2016

Machine Learning for Dummies

Page 2: Machine learning for dummies - Azuges November 2016

¿Quiénes somos?

Manuel Rodrigo Cabello Malagón

Software Engineer at Plain Concepts@[email protected]

Carlos Landeras Martínez

Software Engineer at Plain Concepts@[email protected]

Page 3: Machine learning for dummies - Azuges November 2016

Í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

Page 4: Machine learning for dummies - Azuges November 2016

Introducción a Machine Learning

Page 5: Machine learning for dummies - Azuges November 2016

• 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

Page 6: Machine learning for dummies - Azuges November 2016

6

I.A. ModernaRenacimiento I.A.

El invierno de la I.A.

Test de Turing (nacimiento I.A.)

1943 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

Page 7: Machine learning for dummies - Azuges November 2016

• ¿Qué pensamos nosotros sobre la inteligencia Artificial?

Introducción a Machine Learning

Page 8: Machine learning for dummies - Azuges November 2016

• ¿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

Page 9: Machine learning for dummies - Azuges November 2016

Introducción a Machine Learning

ToolsGroup

Evolución Machine learning

Page 10: Machine learning for dummies - Azuges November 2016

Introducción a Machine Learning¿Cómo aprender machine learning?

Bottom-up Top-down

Page 11: Machine learning for dummies - Azuges November 2016

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

Page 12: Machine learning for dummies - Azuges November 2016

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?

Page 13: Machine learning for dummies - Azuges November 2016

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? 

Page 14: Machine learning for dummies - Azuges November 2016

• 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?

Page 15: Machine learning for dummies - Azuges November 2016

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?

Page 16: Machine learning for dummies - Azuges November 2016

Machine Learning Workflow

Workflow Modelo

Predictivo

Page 17: Machine learning for dummies - Azuges November 2016

Algoritmos Machine LearningClasificación Binaria Clasificación Múltiple

Page 18: Machine learning for dummies - Azuges November 2016

Algoritmos Machine LearningRegresión Detección de Anomalías

Page 19: Machine learning for dummies - Azuges November 2016

Algoritmos Machine LearningPerceptron ¿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.

Page 20: Machine learning for dummies - Azuges November 2016

Azure Machine Learning Studio

Page 21: Machine learning for dummies - Azuges November 2016

¿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.

Page 22: Machine learning for dummies - Azuges November 2016

• 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

Page 23: Machine learning for dummies - Azuges November 2016

Azure ML tiene las siguientes secciones de trabajo:

• Projects• Experiments• Web Services• Notebooks• Datasets• Trained Models• Settings (Name, Token, Users)

Azure ML Studio - Secciones

Page 24: Machine learning for dummies - Azuges November 2016

Dashboard : Experimentos

Elementos del experimento:

• Datasets• Transformación datos,• Algoritmos,• Python scripts, R Scripts• Train Model • Score Model• Etc…

Experimento de ML Studio

Page 25: Machine learning for dummies - Azuges November 2016

Cortana intelligence galleryCortana 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.

Page 26: Machine learning for dummies - Azuges November 2016

DEMO : Creando Workspace y Experimentos

Page 27: Machine learning for dummies - Azuges November 2016

Python Tools Visual Studio

Page 28: Machine learning for dummies - Azuges November 2016

Microsoft y Python

Visual Studio Code

Django y Azure

Machine Learning

Web App

Web Jobs PTVS(Python Tools VS)

Page 29: Machine learning for dummies - Azuges November 2016

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

Page 30: Machine learning for dummies - Azuges November 2016

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.

Page 31: Machine learning for dummies - Azuges November 2016

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.

Page 32: Machine learning for dummies - Azuges November 2016

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.

Page 33: Machine learning for dummies - Azuges November 2016

Anaconda

Page 34: Machine learning for dummies - Azuges November 2016

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

Page 35: Machine learning for dummies - Azuges November 2016

• Iris• Precio Coches• Cuantización Imágenes

DEMO Azure ML

Page 36: Machine learning for dummies - Azuges November 2016

Web Services Azure ML Studio

Page 37: Machine learning for dummies - Azuges November 2016

• Azure Machine learning nos permite publicar web services para poder consumir el modelo predictivo que hemos estado desarrollando.

Exponiendo y consumiendo Web Services

Experimento

TrainingWeb Service

Tipos Desplegar WebService

Predictive Web Service

Page 38: Machine learning for dummies - Azuges November 2016

Consumir web servicesPredictive

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?

Page 39: Machine learning for dummies - Azuges November 2016

DEMO : Aplicación Asp.Net Core y ML

Studio Web Services

Page 40: Machine learning for dummies - Azuges November 2016

¿PREGUNTAS?