2. Luis Beltrán • Estudiante en Tomás Bata University in Zlín
• Docente en Tecnológico Nacional de México en
Celaya
• Microsoft MVP en IA y Tecnologías de Desarrollador
• Xamarin, Azure, Inteligencia Artificial
luis@luisbeltran.mx
luis.beltran@itcelaya.edu.mx
5. Machine Learning
Machine Learning
Hacer que las computadoras
hagan predicciones sin ser
programadas explícitamente
• Las computadoras encuentran
patrones en los datos y aprenden de
la experiencia para actuar sobre
nuevos datos
• Se utiliza para resolver problemas que
son difíciles o imposibles de resolver
con la programación basada en
reglas.
• Se ocupa del desarrollo de algoritmos
y técnicas que permiten que las
computadoras aprendan.
6. Machine Learning
ML estudia el proceso de construcción de abstracciones (conceptos,
características, funciones, relaciones y formas de actuar) de forma
automática a partir de los datos.
16. 𝑓(𝑥)
¿Cómo sería el Modelo?
Phone
IMU Data 30 años
Predicción de la Edad de una persona
17. Aprendizaje (formal)
Tarea
Aplicar algún método de machine learning a los datos obtenidos de un
dominio determinado (Datos de entrenamiento)
El dominio tiene algunas características que estamos tratando de aprender
(Modelo)
Objetivo
Minimizar el error en la predicción
Tipos de Aprendizaje
Aprendizaje supervisado
Aprendizaje no supervisado
18. Aprendizaje Supervisado
• Por cada ejemplo en los datos siempre hay una salida (clase)
definida
• Modela las relaciones entre un conjunto de características
descriptivas y un objetivo (Ajusta los datos a una función)
• 2 grupos de problemas:
• Clasificación
• Regresión
19. • Clasificación
• Predice a qué clase pertenece una muestra
determinada de datos (valor discreto).
• Regresión
• Predice valores continuos
100.0
0.0
0.0
0.0
96.0
4.0
4.0
0.0
96.0
setosa
versicolor
virginica
setosa versicolor virginica
Actual
Predicted
0
25
50
75
100
Percent
20. Aprendizaje No Supervisado
• No hay un conjunto predefinido y conocido de salidas (clases)
• Busca patrones y relaciones ocultas en los datos
• Un ejemplo típico: Clustering
0.0
0.5
1.0
1.5
2.0
2.5
2 4 6
Petal.Length
Petal.Width
irisCluster$cluster
1
2
3
23. Datos:
El largo del pico del pingüino.
La profundidad del pico del pingüino.
El largo de la aleta del pingüino.
El peso del pingüino.
_x**=[x 1, x 2, x 3, x 4].
Se desea predecir (y) la especie de pingüino:
Adelia (clase 0)
Papúa (clase 1)
Barbijo (clase 2)
Para x=[37.3, 16.8, 19.2, 30.0], y=[1, 0, 0]
24.
25. Prepara tus Datos Construye y Entrena Ejecuta
Consumo del modelo
Usuario final
ML model ML model
Creación del modelo
Datasets
Flujo de Acción
https://archive.ics.uci.edu/ml/datasets.php
26. Cálculo de la pérdida
• Supongamos que uno de los ejemplos transmitidos a través del proceso de
entrenamiento contiene las características de un pingüino de Adelia (clase 0).
• La salida correcta de la red sería [1, 0, 0].
• Supongamos que para un dato la red genera la salida [0.4, 0.3, 0.3].
• Si las comparamos, podemos calcular una varianza absoluta para cada elemento (la
distancia entre cada valor previsto y el valor que debería ser) como [0.6, 0.3, 0.3].
• Dado que en la práctica se procesan varias observaciones, generalmente se agrega la
varianza, por ejemplo, elevando cada valor al cuadrado y luego calculando la media
para terminar con un solo valor de pérdida promedio, como 0.18.
28. Herramientas para ML / DL
• Lenguajes de programación
• Python
• R
• C++
• ...
• Librerías / Frameworks
• scikit-learn
• PyTorch
• TensorFlow
• Keras
• …
classic machine learning
deep learning frameworks
29. scikit-learn
• Exporación de datos
• Preprocesamiento de datos
• Limpieza de valores
• Normalización
• Entrenamiento
• Prueba
• Aplicación
• Machine Learning ”clásico"
• https://scikit-learn.org/stable/
36
pip install scikit-learn
30. Keras y Tensorflow
• Keras es una librería de alto nivel que facilita la creación de redes
neuronales (capas)
• En background, el motor que ejecutará la red neuronal y la entrenará
es la implementación de Google llamada Tensorflow.
31. Colaboratory
● Es un documento ejecutable en Gdrive (Python Jupyter Notebook).
● Nos permite programar ejecutar y compartir nuestro código con otras personas.
● Es un documento compuesto por celdas que pueden ser texto enriquecido,
imágenes o código python.
● Permite ejecutar código python en un entorno con CPU’s o GPU’s de forma
gratuita.
● Facilita la visualización de los resultados de forma interactiva y provee de una
galería de snippets de código para nuestras necesidades.
● Nos permite compartir como cualquier documento google drive o hacia github
https://colab.research.google.com/
33. Ejercicio #1 – Entrenamiento de una red
neuronal profunda
https://colab.research.google.com/drive/1lRbgGCmgmDKiCXEuUy_gyQgoAR8otTXb?usp=sharing
34. Redes Neuronales Convolucionales (CNN)
• Si bien puede usar modelos de DL para cualquier tipo de ML, resultan
especialmente útiles para trabajar con datos que constan de grandes
matrices de valores numéricos, como imágenes.
• Los modelos de ML que funcionan con imágenes son la base de una área
de IA conocida como Computer Vision. Además, las técnicas de DL han
impulsado avances asombrosos en esta área durante los últimos años.
• El motivo del éxito del DL en esta área es un tipo de modelo llamado red
neuronal convolucional (CNN)
35. Convolutional Neural Networks
• Las Convolutional Neural Networks son redes multilayered que toman
su inspiración del cortex visual de los animales.
• Esta arquitectura es útil en varias aplicaciones,
principalmente procesamiento de imágenes.
• La primera CNN fue creada por Yann LeCun y estaba enfocada en el
reconocimiento de letras manuscritas.
40. • La arquitectura constaba de varias capas que implementaban la extracción de
características y luego la clasificación.
• La imagen se divide en campos receptivos que alimentan una capa convolutional que
extrae features de la imagen de entrada (Por ejemplo, detectar lineas verticales,
vértices, etc).
• El siguiente paso es pooling que reduce la dimensionalidad de las features
extraídas manteniendo la información más importante.
• Luego se hace una nueva convolución y otro pooling que alimenta una red
feedforward multicapa.
• La salida final de la red es un grupo de nodos que clasifican el resultado, por ejemplo
un nodo para cada número del 0 al 9 (es decir, 10 nodos, se “activan” de a uno).
41. Ejercicio #2 – Entrenamiento de una red
neuronal convolucional
https://drive.google.com/drive/folders/1O0KNYzlTWtEwlv4P1ihj6Rkm79pWmvmf?usp=sharing
https://colab.research.google.com/drive/1rDLjk7_cpmn4PSFG4hgG_dW9cCQ0Gbuu?usp=sharing
45. Aplicaciones • Biología de la Computación
(Aprendizaje de estructuras)
• Animación y control
• Seguimiento y reconocimiento de
actividad
46. Aplicaciones
• Aplicación en el procesamiento del
habla y del lenguaje natural
• Gramáticas libres de contexto
probabilístico
• Modelos graficos
• Análisis de gráficos de redes
sociales, análisis de causalidad.
47. Deep Q and A: IBM Watson
• Watson emergió ganador cuando se enfrentó a los jugadores mejor
calificados de todos los tiempos en la historia de Jeopardy.
Source: IBM Research
48. Conclusiones
• En este taller aprendió los principios fundamentales de Deep Learning
y cómo crear modelos de red neuronal profunda con Tensorflow.
• También exploró el uso de redes neuronales convolucionales para
crear modelos de clasificación de imágenes.
• Las técnicas de machine learning y deep learning están a la
vanguardia de la inteligencia artificial, y se usan para implementar
soluciones empresariales.
53. Para aprender más
Introducción a TensorFlow
https://www.tensorflow.org/learn
Deep Learning (Kaggle)
https://www.kaggle.com/learn/intro-to-deep-learning
Machine Learning for Beginners
https://aka.ms/ml-beginners