Está en la página 1de 109

Aprendizaje de Máquinas

PhD. Ana Isabel Oviedo


<ana.oviedo@upb.edu.co>

UNIVERSIDAD PONTIFICIA BOLIVARIANA


FACULTAD DE INGENIERÍA EN TIC
2021
Agenda
1. Introducción al Aprendizaje de Máquinas
2. Aprendizaje Supervisado
3. Aprendizaje No Supervisado
4. Aprendizaje Semi-supervisado
5. Aprendizaje Profundo
6. Aprendizaje por Refuerzo
Agenda
1. Introducción al Aprendizaje de Máquinas
2. Aprendizaje Supervisado
3. Aprendizaje No Supervisado
4. Aprendizaje Semi-supervisado
5. Aprendizaje Profundo
6. Aprendizaje por Refuerzo
¿Cómo aprendemos los humanos?

https://conceptodefinicion.de/aprendizaje/
¿Cómo aprendemos los humanos?

(1896 – 1980) Suiza


Psicólogo, biólogoy epistemólogo

…la persona aprende cuando


hace algo, manipula cosas, se
imagina, cuando razona…
https://www.educaycrea.com/2017/01/como-aprende-el-ser-humanoteorias-de-aprendizaje
Aprendizaje de Máquinas
 Rama de la IA que estudia los métodos para
dotar a las máquinas la capacidad de aprender a
partir de datos y/o de la experiencia.
Tipos de Aprendizaje de Máquina
Preparación de Datos en Pyhton

1. Cargar los datos

2. Seleccionar variables (se elimina nombres, teléfonos, cedula)

3. Descripción estadística (gráficas de histogramas y barras)

4. Limpiar atípicos (se asigna nulo a los valores atípicos)

5. Limpiar nulos (se imputa por la media o la moda)

6. Transformar las variables categóricas a números (dummies)


Agenda
1. Introducción al Aprendizaje de Máquinas
2. Aprendizaje Supervisado
3. Aprendizaje No Supervisado
4. Aprendizaje Semi-supervisado
5. Aprendizaje Profundo
6. Aprendizaje por Refuerzo
Aprendizaje Supervisado

Análisis Predictivo

• Predicción Discreta o
Clasificación

• Predicción Continua o
• Predecir riesgos Regresión
• Predecir activación de
nuevos clientes
• Predecir clima
• Predecir inventario

Imagen: http://www.iiia.csic.es/udt/
Aprendizaje Supervisado
Predicción Discreta o Clasificación
Estudio de categorías pre-definidas para
catalogar nuevos elementos.

Ejemplo: Predecir el comportamiento de pago de clientes en una


entidad financiera: BUENOS CLIENTES y MALOS CLIENTES.

ID ATRIBUTO 1 ATRIBUTO 2 … ATRIBUTO N CLASE


1 10 alto 56 Cliente Oro Predicción de una clase
2 45 bajo 54 Cliente Plata
ID ATRIBUTO 1 ATRIBUTO 2 … ATRIBUTO N CLASE
3 23 medio 34 Cliente Bronce 11 21 medio 43 ?
4 54 alto 24 Cliente Bronce 12 54 medio 23 ?
5 21 medio 43 Cliente Oro 13 74 alto 65 ?
6 54 medio 23 Cliente Oro 14 46 alto 47 ?
7 74 alto 65 Cliente Bronce 15 43 bajo 83 ?
8 46 alto 47 Cliente Plata 16 34 bajo 59 ?
9 43 bajo 83 Cliente Plata
10 34 bajo 59 Cliente Bronce Datos futuros
Histórico o Conjunto de
Entrenamiento
Aprendizaje Supervisado
Predicción Continua o Regresión
Estudio de datos con el objetivo de
predecir un evento numérico futuro.

Ejemplos: Estimar la expectativa de vida de un cliente.


- Predecir ventas futuras (series de tiempo)
ID ATRIBUTO 1 ATRIBUTO 2 … ATRIBUTO N PREDICCIÓN Predicción de un número
1 10 alto 56 34
2 45 bajo 54 42
continuo
ID ATRIBUTO 1 ATRIBUTO 2 … ATRIBUTO N PREDICCIÓN
3 23 medio 34 15
11 21 medio 43 ?
4 54 alto 24 64 12 54 medio 23 ?
5 21 medio 43 36 13 74 alto 65 ?
6 54 medio 23 74 14 46 alto 47 ?
7 74 alto 65 34 15 43 bajo 83 ?
8 46 alto 47 2 16 34 bajo 59 ?
9 43 bajo 83 6
10 34 bajo 59 4 Datos futuros
Histórico o Conjunto de
Entrenamiento
Aprendizaje Supervisado

Conjunto de predicción (futuro)


Ciclo de Vida : Aprendizaje Supervisado
Métodos Supervisados

Redes Neuronales

Árboles de Decisión

Métodos Probabilísticos

Máq. de Soporte Vectorial

Métodos de Regresión

Métodos basados en Ejemplos


Métodos Supervisados

Redes Neuronales

Árboles de Decisión

Métodos Probabilísticos

Máq. de Soporte Vectorial

Métodos de Regresión

Métodos basados en Ejemplos


Métodos Supervisados

Redes Neuronales

Árboles de Decisión

Métodos Probabilísticos

Máq. de Soporte Vectorial

Métodos de Regresión

Métodos basados en Ejemplos


Métodos Supervisados

Redes Neuronales

Árboles de Decisión

Métodos Probabilísticos
P (c j ) P ( d | c j )
Máq. de Soporte Vectorial
P (c j | d ) 
P(d )
Métodos de Regresión

Métodos basados en Ejemplos


Métodos Supervisados

Redes Neuronales

Árboles de Decisión

Métodos Probabilísticos

Máq. de Soporte Vectorial

Métodos de Regresión

Métodos basados en Ejemplos


Métodos Supervisados

Redes Neuronales

Árboles de Decisión

Métodos Probabilísticos

Máq. de Soporte Vectorial

Métodos de Regresión

Métodos basados en Ejemplos


Métodos Supervisados

Redes Neuronales

Árboles de Decisión

Métodos Probabilísticos

Máq. de Soporte Vectorial

Métodos de Regresión

Métodos basados en Ejemplos


Arboles de Decisión

Organización jerárquica del espacio de representación, donde


cada nodo interior contiene una pregunta sobre un atributo
concreto y cada nodo hoja se refiere a una decisión (clase).
Arboles de Decisión

¿Cuál atributo usamos


como raíz del árbol?

• Age
• CarType
Arboles de Decisión

El paso más crítico en este enfoque es la selección de la


raíz. Se debe evaluar la probabilidad de que cada atributo
sea la raíz, buscando mejorar el rendimiento global del árbol.

Mayor ganancia:

Reducción de la incertidumbre
de la variable objetivo, al
introducir otra variable aleatoria

Menor valor en el Indice de Gini (impureza):


Probabilidad de
etiquetar
incorrectamente
Arboles de Decisión

La poda busca un balance entre el aumento del error


de clasificación y la reducción del tamaño del árbol.

Los procesos de poda se basan en el error de clasificación del AD


construido sobre un conjunto de prueba.

El procedimiento general simplifica el árbol descartando uno o más


subárboles y remplazándolos por hojas, la clase asignada a la
nueva hoja es la de mayor frecuencia.
Arboles de Decisión

ALGORITMOS
Regresión Clasificación
Variable objetivo es continua Variable objetivo es categórica
Valores en las hojas representan El valor en las hojas representan
la media de las observaciones. la moda de las observaciones.

ÁRBOLES DE CLASIFICACIÓN
C4, C4.5, C5.0, C5.7

ÁRBOLES DE REGRESIÓN/CLASIFICACIÓN
CART
Arboles de Decisión

#Creación del modelo con el conjunto de entrenamiento


from sklearn import tree
model = tree.DecisionTreeClassifier(min_samples_leaf=2, max_depth=10)
model.fit(X_train, Y_train)

#Graficar el árbol
from sklearn.externals.six import StringIO
from IPython.display import Image
from sklearn.tree import export_graphviz
import pydotplus
dot_data = StringIO()
var_predictoras = X.columns.values
nom_clases= ['Low','High']# Nombres de los target in orden numérico ascendente
export_graphviz(model, feature_names=var_predictoras, class_names= nom_clases,
out_file=dot_data,filled=True, rounded=True,special_characters=True)
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png())
KNN (K-Nearest Neighbor)

Almacena el conjunto de entrenamiento y al realizar la


clasificación se busca en los ejemplos almacenados casos
similares y se asigna la clase más probable en éstos. .
KNN (K-Nearest Neighbor)

from sklearn import neighbors


model = neighbors.KNeighborsClassifier(n_neighbors=1, metric='euclidean')
model.fit(X_train, Y_train)
Agenda
1. Introducción al Aprendizaje de Máquinas
2. Aprendizaje Supervisado
3. Aprendizaje No Supervisado
4. Aprendizaje Semi-supervisado
5. Aprendizaje Profundo
6. Aprendizaje por Refuerzo
Aprendizaje NO Supervisado

Análisis Descriptivo

• Agrupamiento / Clustering

• Asociación
• Perfil de los clientes
• Selección de factores • Selección de Factores
• Detección de anomalías
• Canasta de mercado

Imagen: http://www.iiia.csic.es/udt/
Aprendizaje NO Supervisado

• Agrupamiento / Clustering
Organizar una población de datos heterogénea
en un número de clúster homogéneos.

Ejemplos: Diseñar estrategias de mercadeo según el tipo de cliente.


Detección de anomalías identificando datos que se alejen de los
centroides de agrupación.

Descripción en grupos
Clustering

Una medida de distancia


determina la similaridad
entre los datos.

Los objetos en un grupo deben ser similares o relacionados


entre ellos.
Ciclo de Vida : Clustering

Cohesión/ Inertia
Métodos de Clustering

Métodos Jerárquicos

Métodos Particionales

Redes Neuronales

Métodos Probabilísticos

Métodos evolutivos

Métodos difusos
Métodos de Clustering

Métodos Jerárquicos
Métodos Jerárquicos

Métodos Particionales

Redes Neuronales

Métodos Probabilísticos

Métodos evolutivos

Métodos difusos
Métodos de Clustering

Métodos Jerárquicos

Métodos Particionales

Redes Neuronales

Métodos Probabilísticos

Métodos evolutivos

Métodos difusos
Métodos de Clustering

Métodos Jerárquicos

Métodos Particionales

Redes Neuronales

Métodos Probabilísticos

Métodos evolutivos

Métodos difusos
Métodos de Clustering

Métodos Jerárquicos

Métodos Particionales

Redes Neuronales

Métodos Probabilísticos

Métodos evolutivos

Métodos difusos
Métodos de Clustering

Métodos Jerárquicos

Métodos Particionales

Redes Neuronales

Métodos Probabilísticos

Métodos evolutivos

Métodos difusos
Métodos de Clustering

Métodos Jerárquicos

Métodos Particionales

Redes Neuronales

Métodos Probabilísticos

Métodos evolutivos

Métodos difusos
K-means

K-Means es el método más comúnmente utilizado, la idea del


método es definir k centroides, uno por clúster, y los datos
son asociados al centroide más cercano.
K-Means - Ejemplo

Se tienen 4 tipos de medicinas, cada una con 2 atributos (pH y


weight). Se requiere agrupar las medicinas en 2 clusters.

Medicina Weight pH D

C
A 1 1

B 2 1

C 4 3 A B

D 5 4

Tomado de Ke Chen <http://www.cs.manchester.ac.uk/ugt/COMP24111/materials/slides/K-means.ppt>


Example
K-Means - Ejemplo
• Seleccionar centroides aleatorios c1  A, c2  B

C1 C2
A B
Example
K-Means - Ejemplo
• Seleccionar centroides aleatorios c1  A, c2  B

Calcular las distancias de cada


dato a cada centroide
D Euclidean distance

C
d( D , c1 )  ( 5  1)2  ( 4  1)2  5
d( D , c2 )  ( 5  2)2  ( 4  1)2  4.24
C1 C2
A B C D
A B
C1
C2
Example
K-Means - Ejemplo
• Seleccionar centroides aleatorios c1  A, c2  B

Calcular las distancias de cada


dato a cada centroide
D Euclidean distance

C
d( D , c1 )  ( 5  1)2  ( 4  1)2  5
d( D , c2 )  ( 5  2)2  ( 4  1)2  4.24
C1 C2
A B C D
A B C1
C2

Asignar cada dato al clúster


más cercano.
Example
K-Means - Ejemplo
• Calcular los nuevos centroides con los miembros de cada
grupo.

c1  (1, 1)
D
 2  4  5 1 3  4 
C c2   , 
C2  3 3 
 (11 / 3, 8 / 3)
C1
A B  ( 3.67 , 2.67)
Example
K-Means - Ejemplo
• Calcular la distancia de cada dato a cada centroide

A B C D

C
C2

C1
Asignar cada dato al clúster
A B más cercano.
Example
K-Means - Ejemplo
• Calcular los nuevos centroides con los miembros de cada
grupo.

D
C2  1 2 11 1
c1   ,   (1 , 1)
C  2 2  2
45 34 1 1
c2   ,   (4 , 3 )
C1  2 2  2 2
A B
Example
K-Means - Ejemplo
• Calcular la distancia de cada dato a cada centroide

A B C D

D
C2

C1
Asignar cada dato al clúster
A B
más cercano.

Stop

No se modifican los grupos


Relevant Issues
K-Means - Limitaciones

• Sensible a los centroides iniciales, ya que converge a óptimos


locales.

• Requiere especificar el número de clusters.

• Se afecta por datos “ruidosos”.

• No es aplicable a datos categóricos.


Relevant Issues
K-Means
Agenda
1. Introducción al Aprendizaje de Máquinas
2. Aprendizaje Supervisado
3. Aprendizaje No Supervisado
4. Aprendizaje Semi-supervisado
5. Aprendizaje Profundo
6. Aprendizaje por Refuerzo
Aprendizaje Semi-supervisado

Problemas de aprendizaje con pocos datos etiquetados y muchos datos no


etiquetados como parte del conjunto de entrenamiento
https://www.analyticsvidhya.com/blog/2017/09/pseudo-labelling-semi-supervised-learning-technique/
Aprendizaje Semi-supervisado
Ciclo de Vida : Aprendizaje
Semi- Supervisado
Label Propagation

Datos no etiquetados
Datos etiquetados

1. En cada iteración se encuentra el dato no etiquetado más cercano


a una instancia etiquetada y se le asigna la etiqueta
2. Se repite hasta que todas las instancias son etiquetadas
Label Propagation
Agenda
1. Introducción al Aprendizaje de Máquinas
2. Aprendizaje Supervisado
3. Aprendizaje No Supervisado
4. Aprendizaje Semi-supervisado
5. Aprendizaje Profundo
6. Aprendizaje por Refuerzo
Redes Neuronales
• Modelos computacionales inspirados en
sistemas biológicos, adaptados y
simulados en computadoras
convencionales.
Historia Redes Neuronales Artificiales

2006

Deep
Learning
Cerebro Humano

 Red biológica
compleja
formada por
millones de
células
Neurona Biológica
• La neurona biológica, como caso particular, posee la propiedad
conductiva de señales eléctricas o químicas, que permiten
formar una red, en la que la interconexión es muy alta.
Modelo Artificial
Funciones de activación
Red Neuronal
Activación con varias neuronas, una sola capa
Activación con varias capas
Conexiones entre las neuronas
 Modelos feed-forward: se propagan en una sola dirección

 Modelos Recurrentes: conexiones en todas las direcciones


Aprendizaje
Aprender los pesos de las entradas de cada neurona para
aproximar la salida de la forma más exacta.
 Aprendizaje Supervisado:

 Aprendizaje No Supervisado:

 Aprendizaje Reforzado:
TIPOS DE REDES NEURONALES
Profundas

Conv
Creencias
Recursivas
Redes Neuronales Supervisadas

Perceptron simple

Perceptron multicapa

Adaline

Madaline

Backpropagation

Deep Learning
1. Perceptron simple
• Red neuronal tipo feed-forward supervisada,
sin capa oculta.

Neuronas

Entradas
1. Perceptron simple
• Función de activación:
• Hardlim: función escalón {0,1}
• Hardlims: función escalón simétrica
{1, -1}

• Regla de aprendizaje del perceptrón:


• wi+1 = wi + (yi – yi’) x i
• bi+1 = bi + (yi – yi’)
1. Perceptron simple - Ejemplo
Función AND: Función OR

Sólo para problemas linealmente separables


1. Perceptron simple - AND
Función de activación escalón:
x1 x2 Y
1 1 1
1 0 0
0 1 0 Regla de aprendizaje

0 0 0
1. Perceptron simple - AND
Función de activación escalón:
x1 x2 Y
1 1 1
1 0 0
0 1 0 Regla de aprendizaje

0 0 0
1. Perceptron simple - AND
Función de activación escalón:
x1 x2 Y
1 1 1
1 0 0
0 1 0 Regla de aprendizaje

0 0 0
1. Perceptron simple - OR
Función de activación escalón:
x1 x2 Y
1 1 1
1 0 1
0 1 1 Regla de aprendizaje

0 0 0
2. Perceptrón multicapa
• Es una red con alimentación hacia delante, compuesta
de varias capas de neuronas entre la entrada y la salida
de la misma, esta red permite establecer regiones de
decisión mucho más complejas que las de dos
semiplanos

Entradas

Neuronas
2. Perceptrón multicapa - Ejemplo

Función XOR:
Regiones identificadas por las capas
3. Adaline
(Adaptative Linear Element)

• Función de activación: Lineal


• Regla de aprendizaje: Regla de Windrow-Hoff
o least mean square (LMS), la cual minimiza el
error medio cuadrático
• wi+1 = wi + 2α (yi – yi’) xi
• bi+1 = bi + 2α(yi – yi’)
• 0<α<2

Sólo para problemas linealmente separables


4. Madaline
• Adaline multicapa:

Entradas

Neuronas
5. Redes Backpropagation
• Red del tipo de perceptron multicapa con un aprendizaje
supervisado, que emplea un ciclo propagación – adaptación de
dos fases:

– Una vez que se ha aplicado un patrón a la entrada de la red


como estímulo, este se propaga desde la primera capa a
través de las capas superiores de la red, hasta generar una
salida. La señal de salida de cada neurona se compara con
la salida deseada y se calcula una señal de error para
cada una de las salidas.

– Las salidas de error se propagan hacia atrás, partiendo de la


capa de salida, hacia todas las neuronas de la capa oculta que
contribuyen directamente a la salida.
5. Redes Backpropagation
5. Redes Backpropagation
• Función de activación:
– Logsig: Logsigmoidea
– Tansig: Tangente hiperbólica
– Purelin: lineal

– Regla de aprendizaje:
• wi+1 = wi + 2α (yi – yni’) xi
• bi+1 = bi + 2α(yi – yni’)
Donde (yi – yni’) es el error de cada neurona
5. Redes Backpropagation
SUGERENCIAS
• Funciones de transferencia en la primera capa:
logsig, cuando el rango de la función es siempre
positivo y tansig cuando se le permite a la
función oscilar entre valores positivos y
negativos limitados en el intervalo –1, 1.

• La salida de la segunda capa está determinada


generalmente por la función de transferencia
purelin, la cual reproduce exactamente el valor
resultante después de la sumatoria.
5. Redes Backpropagation
VARIACIONES EN EL MÉTODO DE
APRENDIZAJE
Backpropagation con momentum
Backpropagation con tasa de aprendizaje variable
Ejercicio
Sobre una cinta transportadora circulan naranjas y melones.
Se busca obtener un clasificador de frutas que facilite su
almacenamiento. Para cada fruta se conoce su diámetro en
centímetros y su intensidad de color naranja, medida entre 0 y
255.
Naranjas = { (10,200), (8,150), (7,170), (15,250)}
Melones = {(20,30), (26,30), (24,32), (19,31)}
Entrenar un perceptrón que permita resolver el problema.
A. Ingrese los patrones en forma alternada (tomar uno de cada
conjunto).
B. Ingrese primero los patrones de naranjas y despues los de
melones.
¿El resultado es igual?
Ciclo de Vida : Aprendizaje Supervisado

* Redes Neuronales
Ejercicio
Ejercicio Datos en el Plano
Diseñe una red neuronal para “aprender” el siguiente
patrón de comportamiento. Asuma que existen 4
regiones en el espacio.
6. Redes Profundas
Profundo
Descripción

• Redes convolucionales
• Redes recursivas
• Redes de creencia

• Más de una capa oculta


• Funciones de activación no lineales (sigmoid, reLu)
6. Redes Profundas
Neural Network

Deep means many hidden layers


https://www.codigofuente.org/redes-neuronales-profundas-tipos-caracteristicas/
Ejercicio
Reconocimiento de Caracteres
• Una red debe ser diseñada y entrenada para reconocer las 26 letras
del alfabeto. Cada letra es representada en una matriz de 7*5 con
valores boleanos. Por ejemplo la letra A es representada por la matriz
de la siguiente figura.
Ejercicio
Reconocimiento de Caracteres
Agenda
1. Introducción al Aprendizaje de Máquinas
2. Aprendizaje Supervisado
3. Aprendizaje No Supervisado
4. Aprendizaje Semi-supervisado
5. Aprendizaje Profundo
6. Aprendizaje por Refuerzo
Aprendizaje por Refuerzo

Por Refuerzo
Premio/Castigo

Pacman realiza una acción en un medio ambiente (el laberinto).

Por cada acción, pacman recibe una recompensa (positiva: puntos por
comer; negativa: morir si se cruza con un fantasma)
Aprendizaje por Refuerzo

Aprender a seleccionar la
mejor acción a ejecutar
mediante un proceso
interactivo de prueba y error
Características
• No hay ejemplos de entrenamiento, no se suministran
ejemplos etiquetados (se aprende por repetición).

• Se aprende mediante prueba y error.

• El sistema realiza una determinada tarea


repetidamente, para adquirir experiencia y mejorar su
comportamiento.

• Se requiere un número de repeticiones muy elevado.


Q-learning

https://www.youtube.com/watch?v=j1IVecHPL-Q
Q-learning

• Estados: posibles situaciones para el sistema (ej. posibles


situaciones del robot móvil en el laberinto o posibles
situaciones de piezas en el tablero de ajedrez).

• Acciones: posibles acciones que el sistema puede realizar


en un momento determinado (ej. posibles movimientos
para el robot: izquierda, derecha, adelante; o movimientos
válidos de las fichas en el ajedrez).

 El objetivo es aprender cuál es la mejor acción a ejecutar


cuando el sistema se encuentra en un cierto estado.
Q-learning

• Inicialmente, se ejecutan acciones de forma aleatoria


desde cualquier estado.

• Cuando una de esas acciones produce el resultado


deseado, es recompensada.

• Las recompensas suelen tomar sólo dos valores: 1 o 0


(ej. 1: partida ganada; 0: partida perdida).

• Problema: recompensa retrasada. El resultado no se


conoce inmediatamente después de una acción, sino
después de una larga secuencia de acciones.
Q-learning
Deep Q-learning

También podría gustarte