Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Automático
3
¿Alguna pregunta?
Pueden encontrarme en:
luisadrianml
(829)712-6429
@ lmartinez2@outlook.com
4
1.
¿Qué es Aprendizaje
Automático?
Programación Tradicional
6
Programación Tradicional
Si tiene cuernos
es una vaca
7
Programación Tradicional
Necesidad de cambiar de
enfoque ahora
8
¿Qué es IA?
IA General conocida como IA fuerte
Un poco en el área de ciencia ficción
IA Específica (Narrow) conocida como IA débil
Casi toda el IA implementado
Perro con un solo truco
… Machine Learning
9
Inteligencia Artificial
10
11
“ Campo de estudio que les
da a la computadora la
habilidad de aprender sin
ser explícitamente
programadas.
12 - Arthur Samuel*
“
Es un programa de computador que
aprende de la Experiencia E, respecto a
alguna tarea T y con medida de
rendimiento P, si el desempeño sobre la
tarea T, medido por P, mejora con la
experiencia E.
13 - Tom Mitchell
Breve Pregunta
Tu programa válida transacciones fraudulentas o
no. El cliente deja saber que es fraudulenta cuando
llama a reportar que fue así (de esta manera,
nuestro programa aprende).
¿Cuál es la tarea T?
¿Cuál es la experiencia E?
¿Cuál es la medida P?
14
Machine Learning puede:
Estimar relaciones significativas entre variables
Predicciones en base a entrenamientos
Explicar qué factores afectan a un determinado
proceso
Estructurar datos con características relevantes
Toma de decisiones óptimas automáticamente
Generar nuevos datos en base a otros
15
¿Qué es un modelo?
Una representación simplificada de un proceso o
sistema
Una representación matemática de un proceso del mundo real
16
17
2.
Usos de Aprendizaje
Automático
Algunos casos:
▪ Customer Churn
▪ Facilitador de Prestamos
▪ Asistentes Personales Virtuales
▪ Predicción de Tráfico
▪ Reconocimiento facial
▪ Detección de SPAM y Malware
▪ Chatbots
▪ Recomendador de Productos
▪ Entre otros…
19
3.
Tipos de Aprendizaje
Automático
Tipos de Aprendizaje
Sin Re-
Supervisado
supervisión forzamiento
Clasificación
Regresión
22
Sin
Supervisión
Reducción
Clustering
23
Reinforcement Learning
24
Reinforcement Learning
25
Reinforcement Learning
26
4.
Librerías
Datos como numpy o pandas
Características continuas
No valores perdidos en data
4a. Scikit-learn
Librería para Machine Learning
Scikit Learn import sklearn
Características:
- Diseñada sobre NumPy y SciPy
- Datos de entrada como NumPy o Pandas
- Variables continuas
- No valores perdidos en la data
29
Funciones de algebra linear
Fancy Indexing
Mayor Rápidez
4b. NumPy
Construida alrededor de un arreglo C
NumPy import numpy as np
Características:
- Funciones de algebra linear
- Fancy Indexing
- Mayor Rapidez
- Arreglos multidimensionales y matrices
31
4c. Pandas & Matplotlib
Manipulación de datos, análisis y
visualizaciones
Pandas & Matplotlib
Manipulación de datos, análisis y visualizaciones
import pandas as pd
33
Otras librerías
Keras from tensorflow import keras
36
Proceso KDD
Breve KDD
Flujo: CRISP-DM
38
1. Obtención de Datos
39
2. Pre-procesamiento de Datos
▪ Limpieza de datos (valores perdidos, etc)
▪ Duplicados, inconsistentes, sorpresas…
▪ Análisis Exploratorios
▪ Compresión de datos, pueden salir P&R
▪ Creación de atributos (características)
▪ Selección de atributos y generación de nuevos
▪ Reducción de atributos (compresión de dimensiones)
40
▪ 4. Entrenar
▫ Empieza el modelado
▪ 5. Probar
▫ Optimización del entrenamiento
▫ Validación de resultados, métricas de evaluación
▪ 6. Deploy
▫ Lanzar el modelo a producción (escalabilidad,
mantenimiento, entornos de trabajos, integración
continua)
41
Deploy
42
Forbes
43
“ No tenemos
mejores algoritmos.
Solo tenemos más
datos.
“We don’t have better algorithms. We just have
more data.”
- Peter Norving
44
Google’s Research Director
“ Más datos superan
algoritmos
inteligentes, pero
mejores datos
superan más datos.
“More data beats clever algorithms, but better data beats
more data.”
- Peter Norving
45
Google’s Research Director
Black Box versus White Box
46
Medidas de Evaluación
▪ Precisión (Accuracy)
▪ Matrix de Confusión
▪ Area debajo de la Curva
▪ Valor F1
▪ Error Medio Absoluto
▪ Error Cuadrático Medio
47
Precisión (Accuracy)
▪ Es lo que usualmente llamamos la Precisión
(Accuracy) del Modelo
48
Matriz de Confusión
▪ Describe el rendimiento de nuestro modelo
▪ Funciona si existe número igual de ejemplos
para cada clase.
49
¿Qué pregunta (s) estoy tratando de responder? ¿Creo que los
datos recopilados pueden responder esa pregunta?
¿Cuál es la mejor manera de formular mis preguntas como un
problema de aprendizaje automático?
¿He recopilado suficientes datos para representar el problema
que quiero resolver?
¿Qué características de los datos extraje, y estas permitirán la
correcta predicciones?
¿Cómo mediré el éxito en mi solicitud?
50
6.
Representación de
Data
IRIS Data
Clasificación de Flores (IRIS)
52
Datos de la base de Flores Iris
▪ Consiste en 150 ejemplos (flores individuales)
que tienen 4 características: largo del sépalo,
ancho del sépalo, largo de pétalos y ancho de
pétalos (todo en cm).
53
Representación
Ejemplos, casos, observaciones…
55
Base de Entrenamiento y Prueba
56
7.
Scikit-learn
Flujo de trabajo en Supervisado
Entrenamiento
Generalización
59
Estimadores en Scikit-learn
▪ Algoritmos son implementados como clases
estimadoras
▪ Cada Algoritmo está bien documentado, usos y
ejemplos
60
Estimadores en Scikit-learn
61
Estimadores en Scikit-learn
62
Flujo de trabajo en Supervisado
estimador = ModeloXYZ()
estimador.fit(X_train, y_train)
Entrenamiento
estimador.predict(X_test)
Generalización
estimador.score(X_test, y_test)
63
8. Clasificación
64
Clasificación
Intuición: Asignar cosas a un caja o categoría
Objetivo: categórico
Entradas: numéricas, categóricas,
65
Clasificación
▪ Decision Tree (Árbol de decisiones)
▪ RandomForest
▪ Support Vector Machine
▪ K-Nearest Neighbour
▪ Naive Bayes
67
Clasificación
Dada una colección de filas (training set)
Encuentra un modelo que mapee las filas a una
clase.
Por ejemplo:
Predecir si un tumor es dañino o benigno.
Predecir si lloverá hoy o no. Predecir si un
empleado renunciará o no. Predecir si es gato o
no.
68
69
Árbol de Decisiones
▪ Idea es separar de manera secuencial una base
de entrenamiento al preguntar un serie de
preguntas
70
Partes de un árbol
71
72
División de Nodos
Idea es buscar que
los nodos sean lo
más puros
posibles
GINI
ENTROPY
73
Árbol de Decisiones
▪ Ventajas:
1. Sencillo de entender y visualizar
2. Pequeña preparación de datos
3. Maneja datos numéricos y categóricos
▪ Desventajas:
1. Crear arboles complejos que no generaliza
bien
2. Inestables (Un cambio en los datos puede
generar nuevo árbol)
74
Notebook
Visitar Google Colab
75
K-Nearest Neighbor
▪ Un objeto se clasifica por el voto mayoritario de
sus vecinos, asignándose el objeto a la clase
más común en sus k vecinos más cercanos (k
es un numero entero positivo, típicamente
pequeño)
76
K-Nearest Neighbor
77
Desventajas
▪ Sensible a atributos irrelevantes
▪ Sensible a ruido
▪ Lento si hay mucha data de entrenamiento
▪ Necesita determina valor de K
78
¿Qué elegir como K?
▪ Largo K = Modelo menos complejo
▪ Pequeño K = Modelo más complejo
79
Notebook
Visitar Google Colab
80
Ensamble
81
Ensamble
82
RandomForest
▪ Método de ensamblado que crea múltiples
arboles y clasifica objetos basado en el voto de
todos los arboles.
▪ Pros:
▫ Maneja mucho datos con mucha dimensiones
▫ Puede manejar datos perdidos
▫ Reducción de Overfitting
▪ Cons:
▫ Puede ser caja negra, poco control en modelo
83
Random Forest
84
Random Forest
85
Mini-Proyecto
Implementar un RandomForest
Entrega: 11:59 PM del 5 Julio 2020
86
Rúbrica
1. ¿Qué problemas trataste de resolver? ¿Qué estas
tratando de predecir? Describe el problema y objetivo.
2. ¿Como evaluaras tus resultados? Especifica que medida
de evaluación y explica brevemente porqué.
3. ¿Qué base de datos usaste? ¿Tuviste que hacer algún
procesamiento? Describe brevemente el proceso y
enlace de la base de datos.
4. ¿Qué herramientas y librerías usaste?
5. Lista referencias de diferentes resultados de esa base de
datos. ¿Cómo se comporta tu resultados contra lo de
otra persona?
87
Rúbrica
1. Uso de Random Forest en Clasificación
2. Uso de 1 métrica de evaluación (adicional a la de
Precisión/Accuracy)
3. Preguntas anteriores respondidas
1. Colocar en Cuaderno en Sección “Preguntas del
Problema”
4. Código con detalle
1. Importante: Detallado y con pasos descritos con
formato
2. Colocar en Cuaderno en Sección “Código”
88
Notebook
Visitar Google Colab
89