machine learning for dummies - azuges november 2016

Post on 08-Feb-2017

219 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Machine Learning for Dummies

¿Quiénes somos?

Manuel Rodrigo Cabello Malagón

Software Engineer at Plain Concepts@mrcabellommrcabellom@gmail.com

Carlos Landeras Martínez

Software Engineer at Plain Concepts@carlos_landecarlos.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

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

• ¿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 LearningClasificación Binaria Clasificación Múltiple

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

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.

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

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

TrainingWeb Service

Tipos Desplegar WebService

Predictive Web Service

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?

DEMO : Aplicación Asp.Net Core y ML

Studio Web Services

¿PREGUNTAS?

top related