Está en la página 1de 132

Aprendizaje

M.Sc Carlo Corrales


Capítulo Qunto
Por qué Machine learning?
 Los humanos aprendemos mejor que las
computadoras

 Machine learning es muy importante para la IA.


 Complejidad del desarrollo de SW:
 Comportamiento de un robot autónomo
 Sistemas expertos
 Filtros spam
 Solución: Software híbrido con componentes
programados y aprendidos
Qué es aprendizaje?
 Vocabulario de aprendizaje de un lenguaje extranjero?
 Memorizar un poema?
 Adquisición de habilidades matemáticas?
 Aprender a esquiar?
Ejemplos de usos de machine
learning
 Google: pagerank y sugerencias
 Facebook: reconocimiento de caras para etiquetarlas
 Filtros spam
 Database mining:
 Grandes DB de crecimiento de automatización web. P.e datos de clicks en la web,
registros médicos, biología, ingeniería.

 Aplicaciones que no pueden ser programadas a mano:


 P.e. Helicóptero autónomo, reconocimiento de escritura a mano, procesamiento de
lenguaje natural, visión por computadora.

 Programas auto configurados:


 P.e. Amazon, recomendaciones de productos Netflix

 Entendiendo el aprendizaje humano (cerebro, IA real)


Ejemplo: dispositivo
clasificador de manzanas
 Características: Tamaño y color
 Tarea de clasificación: Dividir las manzanas en clase A
yB

Datos de Entrenamiento para un agente clasificador de


manzanas
Equipo para clasificar las
manzanas
La curva divide las clases

 En la práctica: 30 características o más.


 n características: En el espacio de carácterísticas n-
dimensional, un hiperplano (n-1) dimensional debe de
ser encontrado para que divida las dos clases lo mejor
posible
Términos
 Clasificador: mapea un vector de características hacia
un valor de clase. Cantidad fija de alternativas. Ej.
Clasificar manzanas

 Aproximación: mapea un vector de características


hacia un número real. Ej. Precios pronosticados de
valores dados de características.
El agente de aprendizaje
El agente de aprendizaje en
general
Definición del término:
“Machine learning”
 Machine learning es el estudio de algoritmos
computacionales que mejoran automáticamente a
través de la experiencia.
Ejemplo del juego de damas
 Arthur Samuel (1959).
 Aunque Arthur no era buen jugador, luego de
enseñarle a aprender de las posiciones que conducían
a ganar una partida, y las que conducían a perder otra,
y la repetición de miles de veces de juegos (paciencia
que no tenía Arthur pero si su programa informático),
éste pudo jugar mejor que su autor.
Otra Definición
 Por Tom Mitchell (1998): Un programa informático se dice
que aprende con la experiencia E con respecto a la tarea T
y alguna medida de performance P, si su performance en T,
medido por P, mejora con la experiencia E.
 Ej. Supón que tu programa de filtros spam aprende
mirando qué emails has marcado y no has marcado como
spam, y basado en ello, mejora el filtrado futuro. ¿Cuál es
la tarea T?
A) Clasificar email como spam y no spam
B) Ver tus marcas de tus emails si son spam o no
C) El número de emails correctamente clasificado como spam y
como no spam
D) Ninguna de las anteriores. No es un problema de machine
learning.
Algoritmos de Aprendizaje
 Aprendizaje supervisado: le enseñamos a la
computadora cómo hacer algo.

 Aprendizaje no supervisado: dejamos que la


computadora aprenda sola a hacer algo.

 Otros:
 Aprendizaje con refuerzo
 Sistemas recomendadores
 Además se mencionará consejos prácticos para aplicar
algoritmos de aprendizaje.
Aprendizaje
Supervisado
Predicción de precios de
casas
Predicción de precios de
casas
Predicción de precios de
casas
Aprendizaje supervisado
 Las “Respuestas correctas” son dadas.
 Problema de regresión: predice valores continuos.
Otro ejemplo: Cáncer de
pecho (malignos o benignos)

Otro ejemplo: Cáncer de
pecho (malignos o benignos)

Aprendizaje supervisado
 Problema de clasificación: predice valores discretos.
 Valores: 0,1,2,3 (0-benigno, 1-tipo, 2-tipo, 3- maligno)
Otro ejemplo: Cáncer de
pecho (malignos o benignos)

Ejemplo considerando 2 características
(edad y tamaño del tumor)
Ejemplo considerando 2 características
(edad y tamaño del tumor)
Ejemplo considerando 2 características
(edad y tamaño del tumor)
 Grosor del grupo
 Uniformidad en el tamaño de las células
 Uniformidad en la forma de las células
 Etc
 Ej. Estás llevando una compañía y quieres desarrollar algoritmos
de aprendizaje para apuntar cada uno de los 2 problemas
siguientes:
 Problema 1: Tienes un gran inventario de items idénticos. Quieres
predecir cuántos de los items se venderán en los siguientes 3
meses.
 Problema 2: Quieres que tu SW examine cuentas personales de
clientes, y por cada cuenta decidir si ha sido hackeada o
comprometida

A) Tratar ambas como problemas de clasificación


B) Tratar al problema 1 como problema de clasificación y al
problema 2 como regresión
C) Tratar al problema 1 como problema de regresión y al problema 2
como de clasificación
D) Tratar a ambos problemas como problemas de regresión.
Aprendizaje no
supervisado
Aprendizaje supervisado
Aprendizaje no supervisado
Aprendizaje no supervisado
Google news
Clasificación de genes según
su ADN
Otras aplicaciones
Problema del chat en la fiesta
Algoritmo del problema del
chat en la fiesta
 Instrucción en Octave (Matlab):
 De los siguientes ejemplos, ¿cuál apuntarías para usar un
algoritmo de aprendizaje no supervisado? (chequea todas
las alternativas las que aplican)
A) Dados emails etiquetados con spam/no spam, aprender para
un filtro de spam.
B) Dado un conjunto de artículos de noticias halladas en la web,
agruparlos en conjuntos de artículos de la misma historia.
C) Dada una base de datos de clientes, descubrir
automáticamente segmentos de mercado y agruparlos en
diferentes grupos.
D) Dado una base de datos de pacientes diagnosticados con
diabetes o no, aprender a clasificar nuevos pacientes como
pacientes con diabetes o no.
Regresión lineal con
una variable
Representación del modelo
Representación del modelo
Conjunto de entrenamiento
de precios de casas

 Notación:
 m = Nro. de ejemplos de entrenamiento
 x = variable de entrada / características
 y = variable de salida / variable objetivo
(x, y) Un ejemplo de entrenamiento

(x (i), y (i) ) i-ésimo ejemplo


Función de costo
 Hipótesis:

 Θi : parámetros
 ¿Cómo escoger los Θi parámetros?
 Idea: escoger θ0 y θ1 tal que hθ(x) sea cercano a ‘y’
para nuestros ejemplos de entrenamiento (x,y)
Función de Costo
 Función de costo:
1 m
J( 0 ,1)  
2m i1
(h (x (i) )  y (i) ) 2

 Meta: minimizar J(θ0,θ1)



 Si simplificamos el sistema θ0=0
1 m
J(1 )  
2m i1
(1 x (i)  y (i) ) 2

La meta sería minimizar J(θ1)



hθ(x) J(θ1)

m
J(1)  (1x  y )  (0 0 0 )  0
1 (i) (i) 2 1 2 2 2 J(1)=0

2m i1 2m
hθ(x) J(θ1)

y(i)

hθ(x(i))

m J(0.5)=0.58
J(1)  (1x  y )  ((0.5 1) (12) (1.5  3) )  0.58
1 (i) (i) 2 1 2 2 2

2m i1 2x3
hθ(x) J(θ1)

y(i)

hθ(x(i))

m J(0)=2.3
J(1)  (1x  y )  ((10) (2 0) (30) )  2.3
1 (i) (i) 2 1 2 2 2

2m i1 2x3
hθ(x) J(θ1)

y(i)

hθ(x(i))

minimizar J(θ1)
 Ahora volvemos con el problema inicial, sin simplificar
minimizar asumiendo θ0= 0.

 Hipótesis: hθ(x) = θ0+θ1x


 Parámetros: θ0,θ1
1 m
 Función de Costo:
J( 0 ,1)  
2m i1
(h (x (i) )  y (i) ) 2

 La meta será minimizar J(θ0,θ1)


hθ(x) J(θ0,θ1)

Al tener 2 parámetros,
La función se vuelve una
en 3D vista en el sig. slide.

h (x) 500.06x
J(θ0,θ1)

A partir de aquí se usarán los “Contour plots” o “Contour figures”


hθ(x) J(θ0,θ1)
hθ(x) J(θ0,θ1)

Θ0 = 360
Θ1 = 0
hθ(x) J(θ0,θ1)
hθ(x) J(θ0,θ1)
 Se requeriría un algoritmo eficiente que calcule
automáticamente los valores para θ0 y θ1 que minimice
la función J.

 Este algoritmo se llama Gradient Descent.


Gradient descent
 Usado no solo en regresión lineal sino en todo
machine learning.

 Algoritmo de optimización de primer orden, que sirve


para hallar mínimos locales de una función.
El problema
 Tenemos alguna función J(θ0,θ1)  J(θ0,θ1,…,θn)
 Queremos min J(θ0,θ1)  min J(θ0,θ1,…,θn)

 El Algoritmo:
 Empezar por algún valor para θ0,θ1
 Ir cambiando θ0,θ1 para reducir J(θ0,θ1) hasta llegar a un
mínimo local
Algoritmo Gradient Descent
 Repetir hasta que converja {
(para j=0 y j=1)

α es el ratio de aprendizaje. (cuan grande son los pasos)

 Forma Correcta: Modificación simultanea θ0 y θ1


Intuición del Algoritmo
 Min J(θ1)

Intuición del Algoritmo
 Min J(θ1)

Parámetro α
 Gradient descent puede converger a un mínimo local,
aún cuando el ratio de aprendizaje α es fijo.

A medida que nos acercamos


al mínimo local, este algoritmo
dará pasos más pequeños.
Entonces no hay necesidad de
decrementar el α en el tiempo.
Regresión lineal con una
variable
Derivada parcial
Algoritmo Gradient Descent
Uso para predicciones de
valores
Batch Gradient Descent
 “Batch” significa que en cada paso de gradient
descent, éste usa todos los ejemplos de
entrenamientos.

 Regresión lineal con Gradient Descent: Primer


algoritmo de Machine learning que aprendemos!.

 Hay otro método para calcular el mínimo local sin


hacer todos los pasos que Gradient descent hace:
Ecuaciones Normales.
Siguente paso
 Dos extensiones:
1 Al minimizar J(θ0,θ1), resolver para θ0 y θ1
exactamente, sin necesidad de un algoritmo iterativo
(gradient descent)

2 Aprender de un número grande de características


Notación de Algebra lineal
 Notación y conjunto de cosas que se puede hacer con
matrices y vectores.

 Matriz: Vector:
Regresión lineal con
múltiples variables
Notación a usar
 n = número de características

 X(2) el vector en color guinda. X(2)3= 2


Regresión lineal multivariable
 Hipótesis:
 Antes hθ(x) = θ0 + θ1x
 Ahora hθ (x) = θ0 + θ1 x1+ θ2 x2+ θ3 x3+ θ4 x4
 Ej. hθ (x) = 80 + 0.1 x1+ 0.02 x2+ 3 x3 – 2 x4
 Por conveniencia se define x0 = 1. (x 0 = 1)
 hθ (x) = θ0 x0 + θ1 x1 + … + θn xn
 hθ (x) = θT.x =
 Función de costo:

 Nuevo algoritmo (n>=1):


Escalando
Características
Idea
 Asegurarse que las características estén en escala
similar.

P.e x1 = tamaño (0-20000 pies2)

x2 = nro de habitaciones (1-5)


Idea
x1 = tamaño / 2000 (pies2)

x2 = nro de habitaciones / 5

Para 0 <= xi <= 1


Escala de Características
 -1 <= xi <= 1
 X0 = 1
 0 <= x1<=3, -2 <= x2 <=0.5 Ok

 -100 <= x3 <= 100, -0.0001 <= x4 <= 0.0001 Escalarlos


Normalización con promedio
 Reemplazar xi con xi – ui para hacer que las
características tengan aproximadamente en promedio
cero (aunque no se aplica a x0 = 1)

 Ej. x1 = ( tamaño – 1000 ) / 2000 promedio 1000

 x2 = ( nro habitaciones – 2 ) / 5

x i  i Promedio de xi en conjunto entrenamiento


xi 
Si rango (max – min) (desviación estándar)

-0.5 <= xi <= 0.5


Rango de aprendizaje α
 Cómo asegurarnos que Gradient Descent funcione
correctamente.

 ¿Cómo escoger el rango de aprendizaje α?


Rango de aprendizaje α
 J(θ) debe decrecer luego de cada iteración
 Cada problema tiene diferentes valores para el nro de
iteraciones antes de que la función converja a un valor.
Asegurarse que Gradient
Descent funciona bien
 Usar α más pequeño

 Si α es muy pequeño, GD puede demorarse en


converger.
 Escoger …,0.001, 0.003,... 0.01, 0.03,…,0.1, 0.3,… , 1,...
y plotear
Regresión polinomial
Ejemplo de predicción de
precios de casas
 hθ(x) = θ0 + θ1 frente + θ2 fondo

 Area = frente x fondo

Luego: hθ(x) = θ0 + θ1 Area


Regresión polinomial

Utilizar Escalamiento de características


Regresión polinomial:
escoger una característica

Ecuación Normal
Ecuación normal
 Para algunos ejemplos resuelve de manera directa los
valores para θ.

 Método para resolver para θ analíticamente.


Intuición del algoritmo
 Si 1D (θ € R), para resolver J(θ) = aθ2 + bθ + c se
debe obtener la derivada d
J( )  ...  0
d

 Si θ € Rn+1:

Ejemplo
 m=4

m x (n+1) m-dim
Caso general
 m ejemplos (x(1),y(1)),…, (x(m),y(m)), con n características
Octave
 Lenguaje de programación parecido a Matlab, pero
OpenSource.

 En Octave: pinv (X’*X)*X’*y = min J(θ)

 No es necesario escalamiento de características


(feature scaling)
Comparación Gradient
Descent vs. Ecuación Normal

nxn , O(n3)

n <= 10 000
No inversabilidad
 ¿Qué pasaría si XTX no es posible invertir?
 Hay 2 motivos:
 Características redundantes (linealmente dependientes). Ej. x1
= tamaño en pies2 , x2= tamaño en m2
 Demasiadas características (m <= n). Ej. 10 ejemplos de
entrenamiento y 100 parámetros θ.
Para solucionarlo se puede borrar algunas características o
usar Regularización.
Ejercicios
Problema 1
Problema 2
Problema 3
Problema 4
Problema 5
Problema 6

Problemas 6 al 10
Problema 7
Problema 8
Problema 9
Problema 10
Problema 11
Problema 12
Problema 13
Problema 14
Problema 15
Problemas en Octave
Problema 2
Problema 3
Problema 4
Problema 5

También podría gustarte