Upload
carlos-landeras-martinez
View
219
Download
1
Embed Size (px)
Citation preview
Machine Learning for Dummies
¿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]
Í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?