Tópicos de Ingeniería Mecatrónica: 2020-2
Introducción a
Machine Learning
Prof. Oscar E. Ramos, Ph.D.
(8 de septiembre del 2020)
Temas
1. Introducción
2. Tipos de Machine Learning
3. Conceptos Básicos
2
Introducción
• Machine Learning tiene bastantes aplicaciones
3
Introducción
• Machine Learning (ML)
Aprendizaje de máquina, aprendizaje automatizado, aprendizaje automático
• ¿Cuándo es importante “aprender”?
- La experiencia humana no existe (ejempo: navegar en Marte)
- Los humanos son incapaces de explicar su conocimiento (ejemplo:
reconocimiento de voz, reconocimiento de objetos)
- Los modelos se basan en gran cantidad de datos
• “Aprender” no siempre es útil (ejemplo: cosas repetitivas)
4
Introducción
• Ejemplo de cuándo usar machine learning:
- ¿“Qué” define a un “2” o a un “3”?
- Clasificación de dígitos: tarea “clásica” de machine learning
5
¿Qué es Machine Learning?
• Arthur L. Samuel (1959)
- “Programming computers to learn from experience
should eventually eliminate the need for much of this
detailed programming effort” (1)
- ML es el campo de estudio que brinda a las
computadoras la habilidad de aprender sin ser
explícitamente programadas
• Herbert A. Simon:
- El aprendizaje es cualquier proceso mediante el cual
un sistema mejora su rendimiento con la experiencia
- ML está relacionada con programas que
automáticamente mejoran su rendimiento con la
experiencia
(1) Arthur L Samuel. “Some studies in machine learning using the game of checkers”. In: IBM Journal of research and
development 3.3 (1959), pp. 210–229
6
¿Qué es Machine Learning?
• Definición de Tom Mitchell (1998):
- ML es el estudio de algoritmos que
• mejoran su rendimiento (performance) P
• en una tarea T
• a través de la experiencia E
- Una tarea de ML bien definida está dada por (P, T, E)
• Ejemplos:
1. T: Jugar ajedrez
P: Porcentaje de juegos ganados
E: Juegos contra sí mismo
2. T: Manejar en una pista usando cámaras
P: Distancia recorrida antes de que un humano determine un error
E: secuencia de imágenes y comandos de giro grabados de un humano
7
¿Qué es Machine Learning?
• Programación tradicional • Machine Learning
Datos Datos
PC Salida PC Programa
Programa
Salida
• Analogía de Machine Learning:
Es como jardinería, donde
- Semillas = algoritmos
- Nutrientes = datos
- Jardinero = humano
- Plantas = programas
• Importante: capacidad de generalización
- Realizar una tarea en una situación no encontrada anteriormente
8
Relación con la “Inteligencia Artificial”
• Machine learning (ML) es un “área” de inteligencia artificial (IA)
- El área más popular actualmente
• De modo general:
- La IA se enfoca en replicar la inteligencia humana (¿razonamiento, lógica?)
- ML se enfoca principalmente en la computadora
• Áreas (temas) de inteligencia artificial:
- Planeamiento
- Sistemas multi-agente y basados en agentes
- Algoritmos de búsqueda (A*)
- Representación del conocimiento
- Razonamiento y lógica
- Machine Learning
- Procesamiento de lenguaje natural
9
Relación con la “Inteligencia Artificial”
[Stefano Carrazza, CERN] 10
Temas
1. Introducción
2. Tipos de Aprendizaje Automático
3. Conceptos Básicos
11
Tipos de Aprendizaje
12
Tipos de Aprendizaje
• Aprendizaje supervisado (inductivo)
- Los datos de entrenamiento incluyen las salidas (“respuestas”) correctas
- Objetivo: encontrar la predicción dada la entrada
- Tipos: regresión, clasificación
• Aprendizaje no supervisado
- Los datos de entrenamiento no incluyen salidas (“respuestas”) correctas
- Objetivo: descubrir patrones similares, estructuras, sub-espacios
- Tipos: “clustering”, reducción de dimensionalidad
• Reinforcement learning (Aprendizaje por refuerzo)
- Recompensa dadas una serie de acciones
- Objetivo: tratar de aprender usando feedback retrasado (recompensa)
13
Tipos de Aprendizaje
Aprendizaje Supervisado
• Regresión (predicción)
- Dados (x1, y1), (x2, y2), …, (xn, yn)
- Objetivo: “Aprender” una función h(x) que prediga y dado x
- Salida: y es un número real
- Ejemplo:
• Precio de un carro usado
14
Tipos de Aprendizaje
Aprendizaje Supervisado
• Clasificación
- Dados (x1, y1), (x2, y2), …, (xn, yn)
- Objetivo: “Aprender” una función h(x) que prediga y dado x
- Salida: y es categórico (ejemplo: 0 o 1)
- Ejemplo:
Determinar si un tumor es benigno (0) o maligno (1) con base en su tamaño y en la
edad del paciente
Edad
Tamaño
15
Tipos de Aprendizaje
Aprendizaje Supervisado
• Clasificación
- Métodos usados
• Regresión logística
• Redes neuronales
• Support Vector Machines (SVM)
• Naive Bayes
• Redes Bayesianas
• Árboles de decisión
• K-nearest neighbor Clasificación de tres clases
- Aplicaciones
• Reconocimiento de rostros
• Reconocimiento de objetos
• Reconocimiento de habla
• Diagnóstico médico
• Anuncios por internet
16
Tipos de Aprendizaje
Aprendizaje No Supervisado
• “Clustering” (agrupamiento)
- Dados x1, x2, …, xn (sin etiquetas o salidas deseadas)
- Objetivo: encontrar la estructura escondida (grupos) dentro
de todos los x
- Ejemplo
• Segmentación de mercado
• Análisis de redes sociales
- Métodos: k-means, clustering aglomerativo, mean-shift, espectral
17
Tipos de Aprendizaje
Aprendizaje No Supervisado
• Reducción de Dimensionalidad
- Dados: x1, x2, … xn, cada uno con m atributos (𝑥𝑖 ∈ ℝ𝑚 )
- Objetivo:
• Reducir el tamaño de cada x a solo d atributos (d < m)
• Se debe preservar los atributos más importantes
- Métodos:
• Principal Component Analysis (PCA)
• Linear Discriminant Analysis (LDA)
18
Tipos de Aprendizaje
Reinforcement Learning
• Dados:
- Secuencia de estados: s1, s2, s3, s4, …
- Secuencias de acciones: a1, a2, a3, a4, …
- Secuencia de recompensas: r1, r2, r3, r4, … (y recompensa final)
• Objetivo:
- Encontrar la “política” (policy) óptima que lleva a un estado deseado
• Ejemplos: juegos, robot en un laberinto, hacer volar un helicóptero
[Link] 19
Tipos de Aprendizaje
20
Temas
1. Introducción
2. Tipos de Aprendizaje Automático
3. Conceptos Básicos
21
Esquema General de Aplicación
• Entrenamiento (training):
Datos
Modelo
Función de costo Entrena-
Validación Mejor modelo
miento
Optimizador
• Prueba (testing):
- El mejor modelo se utiliza para los datos de prueba (testing)
22
Datos
• Los datos tienen diversos formatos
- Texto, números, gráficos, tablas, imágenes, videos, etc.
• División de datos:
Obtención Uso
del modelo práctico
“Universo”
(se desconoce)
Conjunto de Conjunto de
entrenamiento Prueba
23
Datos
• División de los datos
- Conjunto de entrenamiento (training set)
• Usado para aprender los parámetros del modelo (y determinar el mejor modelo)
- Conjunto de prueba (test set)
• Usado para realizar la prueba de desempeño final
• NO se debe usar este conjunto para “afinar” el modelo entrenado
• Se usa solo al final del proceso
- Conjunto de validación cruzada (cross-validation set)
• Permite “afinar” el modelo (saber qué funciona mejor)
• Es como un conjunto de prueba “falso”
• Datos se dividen en:
Entrenamiento Validación Prueba
60% 20% 20%
24
Modelo
• Un modelo h(x) representa la relación existente entre los datos
- Trata de predecir la salida y dada una entrada x
• Ejemplo:
Problema de clasificación: a qué categoría pertenece cada imagen
h( )= manzana
h( )= tomate
h( )= vaca
• Al modelo se le llama “función de hipótesis” (h)
- Toda función de hipótesis (h) tiene parámetros (que se “aprenden”)
- El aprendizaje de los parámetros se realiza solamente con el conjunto de
entrenamiento (training set)
25
Modelo
• Espacio de hipótesis
- Es un “tipo de modelo”: agrupa a funciones de hipótesis (h) semejantes
- Cada función de hipótesis (h) pertenece a un espacio de hipótesis
• Cada h en un espacio de hipótesis tiene parámetros diferentes
• Regla “No free lunch” (no hay comida gratis):
- Al usar una función de hipótesis (un modelo) siempre se hace suposiciones:
no hay una función que sea útil para todos los casos
26
Función de Costo
• Una función de costo (J) mide cuán buena es una función de hipótesis
• Ejemplo:
Suma de diferencias cuadradas entre lo predicho y lo real
J 𝑥 = ℎ 𝑥 −𝑦 2
• ¿Cuál es la mejor función de hipótesis?
- Aquella cuyos parámetros minimizan la función de costo
- Cuanto menor sea J mejor es la función de hipótesis
• La minimización de la función de costo permite obtener la “mejor”
función de hipótesis
- Es más común minimizar usando métodos numéricos (ejemplo: descenso de
gradiente)
- Se busca que J sea continua y convexa (para que tenga un mínimo global)
27
Generalización
• Idea: qué tan bien se comporta un modelo (h) ante datos de prueba
que no ha visto durante el entrenamiento
Conjunto de entrenamiento Conjunto de
(se conoce las respuestas) prueba
[L. Lazebnik] 28
Overfitting vs Underfitting
• Underfitting (subajuste)
- El modelo es muy “simplista”: muy pocos parámetros
- No generaliza adecuadamente
• Overfitting (sobreajuste)
- El modelo se adapta “demasiado” a los datos de entrenamiento (y al ruido)
- Demasiados parámetros
- No generaliza adecuadamente
29
Algunas Bases de Datos
• Generales
- UCI Machine learningRepository: [Link]
([Link]
- Delve: [Link]
• Buscadores
- CMU Libraries: [Link]
- AWS: [Link]
- Google: [Link]
- Wikipedia: [Link]
- Kaggle: [Link]
• Imágenes/videos:
- Visualdata: [Link]
- Imagenet: [Link]
- COCO: [Link]
- Open Images: [Link]
- Youtube-8M: [Link]
30