Luis Beltrán
Microsoft MVP en AI y Developer Technologies
Investigador en Tomás Bata University in Zlín
Docente en Tecnológico Nacional de México en Celaya
@darkicebeam
luis@luisbeltran.mx
luisbeltran.mx
Machine Learning
Con datos conocidos, desarrollar
un modelo para predecir datos
desconocidos
Datos conocidos: Observaciones
previas, datos históricos…
Datos desconocidos: Datos
ocultos, no existentes, futuros…
Modelo: Datos conocidos +
Algoritmos de ML
Algoritmos de machine learning
• Regresión:
Ridge regression, Support Vector Machines, Random Forest,
Multilayer Neural Networks, Deep Neural Networks, ...
• Clasificación:
Naive Base, Support Vector Machines,
Random Forest, Multilayer Neural Networks,
Deep Neural Networks, ...
• Clustering:
k-Means, Hierarchical Clustering, ...
15
Ejemplo #2 de Algoritmo de Machine
Learning: Regresión Lineal
• La Regresión Lineal es una técnica
paramétrica utilizada para predecir
variables continuas dado un conjunto
de variables independientes.
• Si el conjunto de datos sigue una
tendencia, la regresión arroja
resultados cercanos a la realidad, de
lo contrario, tiene dificultades para
proporcionar una precisión
convincente.
Tareas de Machine Learning
• Aprendizaje supervisado
• Regresión: predecir valores numéricos
• Clasificación: predecir valores categóricos, es decir, etiquetas
• Aprendizaje no supervisado
• clustering: Agrupar datos según "distancia"
• association: Encontrar coincidencias frecuentes
• link prediction: Descubrir relaciones en datos
• data reduction: seleccionar menos características
• Aprendizaje por refuerzo
17
Clustering
Predicción de delitos mediante
agrupamiento de k-means
http://www.grdjournals.com/uploads/article/
GRDJE/V02/I05/0176/GRDJEV02I050176.
pdf
21
• Machine Learning está haciendo grandes avances
• Conjuntos de datos grandes y buenos
• Potencia de cómputo
• Avances en algoritmos
• Muchas aplicaciones interesantes
• comerciales
• científicas
• Vínculos con la inteligencia artificial
• Sin embargo, IA machine learning
22
Frameworks
• Lenguajes de programación
• Python
• R
• C++
• ...
• Muchas librerías
• scikit-learn
• PyTorch
• TensorFlow
• Keras
• …
24
Machine learning clásico
deep learning frameworks
¡Ecosistema en rápida evolución!
scikit-learn
• Buen framework con varias capacidades
• Exploración de datos (+ pandas + holoviews)
• Preprocesamiento de datos (+ pandas)
• Limpieza de datos, manejo de datos faltantes
• Normalización
• Entrenamiento
• Prueba
• Aplicación
• Machine learning ”clásico"
• https://scikit-learn.org/stable/
25
Pipeline de datos
• Ingesta de datos
• CSV/JSON/XML/H5 files, RDBMS, NoSQL, HTTP,...
• Limpieza de datos
• valores atípicos/no válidos? filtrar
• ¿Valores faltantes? ajustar
• Transformación de datos
• scaling/normalization
26
Debe hacerse sistemáticamente
Aprendizaje supervisado: metodología
• Seleccione un modelo, por ejemplo, random forest,
red neuronal (profunda), ...
• Entrene el modelo, es decir, determine parámetros
• Datos: entrada + salida
• Datos de entrenamiento Determinar los parámetros del
modelo
• Datos de validación Criterio para evitar el sobreajuste
• Pruebe el modelo
• Datos: entrada + salida
• Datos de prueba Puntuación final del modelo
• Producción
• Datos: entrada predecir salida
27
Preparar los datos Evaluar
Entrenar Implementar
Entrenamiento del Modelo
Consumo del Modelo
Inferir
Obtener
los datos
Preparar los datos
Exploración de datos Visualización
Limpieza de datos
Preparación de Datos
Normalización
Transformación
Validación
Caracterización
Entrenar el modelo
Calificación Anterior
(A-F)
Horas
de Estudio
¿Aprobó?
B 5 Y
D 2 N
A 20 Y
Características Etiqueta
/ Target
F(CalificacionAnterior,
HorasEstudio)
=
Aprobacion
Modelo
Entrenamiento del modelo
Afinación de Hiper-parámetros
Selección del algoritmo
Prueba del modelo
Ejemplo #1: Reconocimiento de dígitos
escritos a mano
• Datos de entrada
• Imagen en escala de grises
• Datos de salida
• Dígitos 0, 1, ..., 9
• Ejemplos de entrenamiento
• Ejemplos de prueba
32
Ejemplo #2: Clasificación de sentimientos
• Datos de entrada
• Reseña de la película
• Datos de salida
• Datos de entrenamiento
• Datos de prueba
36
/
<start> this film was just brilliant casting
location
scenery story direction everyone's really suited
the part
they played and you could just imagine being there
Robert
redford's is an amazing actor and now the same
being director
norman's father came from the same scottish island
as myself
so i loved the fact there was a real connection
with this
film the witty remarks throughout the film were
great it was
just brilliant so much that i bought the film as
soon as it
Probabilidad e IA
Ningún modelo es perfecto. La probabilidad indica cuán correcta cree el
modelo que es una respuesta.
Todos los modelos representan un
"universo cerrado"
Siempre hay cierto nivel de
incertidumbre
Mejora de la precisión
Cuestiones
• Muchos proyectos de machine learning/IA
fallan (Gartner asegura que el 85 %)
• Ética, por ejemplo, Amazon tiene/ha
tenido empleados por debajo de la
media despedidos por una IA
automáticamente
38
Razones para el fracaso
• Hacer la pregunta equivocada
• Tratar de resolver el problema equivocado
• No tener suficientes datos
• No tener los datos correctos
• Tener demasiados datos
• Contratar a las personas equivocadas
• Usar las herramientas incorrectas
• No tener el modelo correcto
• No tener el criterio adecuado
39
Un ejemplo
• InspiroBot (http://inspirobot.me/)
• "I am an artificial intelligence dedicated to generating unlimited amounts of unique inspirational quotes for endless
enrichment of pointless human existence".
40
Ciencia de Datos
• La ciencia de datos puede ser demasiado compleja
• El costo de acceder / usar algoritmos de ML eficientes es alto
• Se requiere un conocimiento integral en diferentes herramientas / plataformas
para desarrollar un proyecto de ML completo
• Es difícil poner la solución desarrollada en una etapa de producción escalable
• Se necesita un método más simple / escalable:
Azure Machine Learning Service
Machine Learning on Azure
Modelos específicos del dominio preentrenados
Para reducir el tiempo de comercialización
Azure
Databricks
Machine
Learning VMs
Frameworks populares
Para crear soluciones de machine learning y deep learning TensorFlow
PyTorch ONNX
Azure Machine
Learning
Language
Speech
…
Search
Vision
Servicios Productivos
Para los equipos de desarrollo y ciencia de datos
Hardware potente
Para acelerar deep learning
Scikit-Learn
PyCharm Jupyter
Herramientas familiares de ciencia de datos
Para simplificar el desarrollo de modelos Visual Studio Code Command line
CPU GPU FPGA
De la nube inteligente al perímetro inteligente
• Documentación de Azure Machine Learning
https://docs.microsoft.com/en-us/azure/machine-learning/
• Entrena y despliega un modelo de clasificación de imágenes con un
Notebook de Jupyter de ejemplo
https://docs.microsoft.com/en-us/azure/machine-learning/tutorial-train-
deploy-notebook
• Construye un pipeline de Azure Machine Learning para clasificación de
imágenes
https://docs.microsoft.com/en-us/azure/machine-learning/tutorial-
pipeline-python-sdk
Más información
Notas do Editor
La capacidad de una computadora para realizar tareas comúnmente asociadas con seres inteligentes (razonar, descubrir significado, generalizar, aprender de experiencias pasadas).
Normalmente comienza como un sistema basado en reglas o lógica.
Las técnicas tradicionales de IA pueden ser difíciles de escalar.
You can compare artificial intelligence to how we as humans work:
We take in some form of sensory input. This could be something we see, hear, or otherwise.
We have a model in the form of our brain. It runs this input through its set of learnings from past experiences, and emits…
A behavior or response. This could be to ignore it, to laugh at a joke, to smile at a cute dog, or to take our hands off a hot stove.
If we think about how we as humans process information, it’s not that different from AI. We take input from the world – sights, sounds, information. We process that through our “model” – our brain – which has been trained by both nature and nurture. We then respond to that input in what would be termed behavior.
Machine learning is a subfield of Artificial Intelligence.
Technically, machine learning is a method of data analysis that automates analytical model building.
But we can think of it as a technique to train artificially intelligent systems without needing to be specifically programmed.
We feed our computer data. Our computer uses the model we’ve built, and then provides us answers.
We provide data through the use of a program, an image, user input, or other means
The scary robot uses its model to analyze the data and…
Responds with an answer
Let’s explore how we might begin to build out a model to answer questions.
We start with a specific question – is a cell diseased?
We have a collection of cells
We mark these cells as diseased (red) or healthy) green
We then use different algorithms which can learn and understand patterns to help identify if a cell is diseased or healthy to train up our model
Now we get a new set of cells the model hasn’t seen before
The model then identifies which cells are healthy or diseased
If we look at the reality of the cells
And then the output we are going to notice things aren’t always perfect
We always need to adjust and understand that artificial intelligence will not give us perfection, but will provide the correct result a useful percentage of the time
The five classic questions you can answer with traditional ML
Classification: Assign a category to each item or data point. This might be to identify our healthy or diseased cells, the breed of a dog, or the type of food.
Regression: Predict a real value for new data given trends in tagged example, typically a number. We can use regression to predict sea level rise, the chances of a forest fire, or how many people will be born in a given year.
Anomaly: Identify when something unexpected happens. – Is this weird? This can help detect potential security risks or malware, or potentially cancerous cells
Reinforcement Learning: Take some appropriate action or next step. This is quite commonly what people think about when they envision AI – a computer beating a human at chess, being able to navigate a maze, or solve a puzzle.
Clustering/Recommenders: Get to the structure or layout of data. This is the rather famous “Customers who purchased this product also purchased this other product” style of recommender. Unlike classification, this is used when the groups aren’t known in advance.
So what’s the practical difference?
These terms are often used interchangeably, but it's important to be clear on what these terms mean.
AI is the overall field of creating intelligent systems. ML is a sub-field of AI where you can use data to train a model.
For our workshop, we will be focusing on AI, and one specific aspect – image classificiation.
Es hacer que las computadoras hagan predicciones sin estar programadas explícitamente para dar una respuesta específica.
Las computadoras encuentran patrones en los datos y aprenden de la experiencia para actuar sobre los nuevos datos.
Se utiliza para resolver problemas que son difíciles o imposibles de resolver con la programación basada en reglas.
Implica la construcción de modelos mediante el "entrenamiento" en conjuntos de datos y la derivación de predicciones ("inferencias") mediante la ejecución de estos modelos en nuevos puntos de datos.
El DL con frecuencia requiere hardware especializado y puede consumir grandes cantidades de energía si no se usa de manera eficiente.
Las GPU brindan una aceleración significativa y ganancias de rendimiento, pero consumen mucha energía.
El objetivo con Regresión Lineal Simple es minimizar la distancia vertical entre todos los datos y nuestra línea.
Una forma en que el modelo de regresión encuentre la mejor línea de ajustes es utilizando el criterio de mínimos cuadrados para reducir el error.
El error es una parte inevitable del proceso de predicción, no importa cuán poderoso sea el algoritmo que elijamos, siempre habrá un error. Sabemos que no podemos eliminar por completo el error, pero aún podemos intentar reducirlo al nivel más bajo.
La técnica de mínimos cuadrado intenta reducir la suma de la diferencia de los errores al cuadrado, buscando el mejor valor posible de los coeficientes de regresión.
Los mínimos cuadrados no es la única técnica para usar en Regresión Lineal pero se selecciona debido:
Utiliza un error cuadrado que tiene buenas propiedades matemáticas, por lo que es más fácil diferencias y calcular el descenso del gradiente.
Es fácil de analizar y computacionalmente más rápido, es decir, puede aplicarse rápidamente a conjuntos de datos que tienen miles de características.
Fuente de datos
Base de datos
Archivos
Pipeline
Transmisión
Lote
Entorno de trabajo
On-premises
Nube
Análisis exploratorio de datos
Visualización
Limpiar
Validación
Exploración de datos
Distribución de los datos
¿Cuáles son los rangos (edad?)
Limpieza de datos
Quitar valores nulos
Visualización
Intente identificar patrones en sus datos
El entrenamiento de un modelo consiste en proporcionar ejemplos de datos a un algoritmo que aprende las asignaciones de las entradas a las salidas. Es como una función que mantiene un estado interno. Luego, puede reutilizar este modelo para hacer predicciones sobre nuevos datos.
Imagenes de 28x28 px de dígitos escritos a mano.
Cada imagen se puede modelar como un arreglo de números con valores entre cero y uno que describen qué tan oscuro cada pixel es (intensidad del pixel)
Cada punto de datos en MNIST tiene 2 partes: el dígito escrito a mano y la etiqueta correspondiente (un número entre 0 y 9) que representa el dígito dibujado en la imagen.
Después de producer un modelo de ML, la etiqueta se compara con el dígito que se predice por el modelo de ML a fin de conocer si la evaluación es exitosa o no.
Consta de 70,000 imagenes divididas en 3 secciones:
55k para entrenamiento
10k para prueba
5k para validación
All models are a "closed universe". This means it only knows what it's been trained on, and will **always** attempt to match an image to the tags it knows. This is why you might upload an image without a picture of a dog, but still have a result indicating a particular breed.
There is always some level of uncertainty. Just as we humans aren't always certain about different things, the model is the same. The level of uncertainty will depend on what you're trying to create, but 80% and above is a good general rule of thumb for having a useful model.
To improve the accuracy add more images and increase the diversity. This includes different backgrounds, lighting, angles, resolutions, etc.
Lo que queremos es Que Machine Learning sea accesible para todas las empresas, científicos de datos, desarrolladores, informáticos, consumidores y dispositivos en cualquier parte del mundo.
Distinguish between prebuilt and custom ai.
Azure Machine Learning es una plataforma que proporciona una amplia gama de experiencias productivas y permite a los desarrolladores y científicos de datos crear, entrenar e implementar machine learning.
Interfaz de usuario basada en web accesible desde navegadores web
Comparte | colabora con cualquier otro espacio de trabajo de ML
Diseño y desarrollo visual Drag & Drop