You are on page 1of 35

Machine Learning

¿El fin de la programación?


Pablo Brusco
pbrusco@dc.uba.ar
Algunos problemas…
● ¿N es múltiplo de 2017?
● ¿N es primo?
● Encontrar el máximo en una lista.
● Ubicar 8 reinas en un tablero y que no se ataquen.
● Ubicar antenas de radio para lograr que no haya interferencias.
● Dados 10.000.000 de tweets, ¿cuántos nombran a Messi?
● Dada la descripción de un objeto de mi living, ¿es una silla?
Hay problemas con reglas tan
¿Qué pasó? complejas que no podemos
atacarlos con programación
¿En qué materia aprendo lo clásica…
necesario para reconocer sillas?
Sistemas expertos

Puercoespín
Aprendizaje Automático (Machine Learning)

Aprender a partir de ejemplos y experiencia …

… estas reglas tan complejas…

… ¿pero cómo?
Parte 1 Nociones básicas de
Aprendizaje Automático
Queríamos un programa que ...

"Silla"

No "Silla"
Queríamos un programa que ...

DESCRIPCIÓN
PESO 5.3 KG
Predicción
COLOR Negro "Silla"

#PATAS 5
Clasificador
DESCRIPCIÓN Toma datos como entrada,
devuelve etiquetas como salida
PESO 12.4 KG

COLOR Blanco No "Silla"


Predicción
#PATAS 4
Queríamos un programa que ...

DESCRIPCIÓN
PESO 5.3 KG
Predicción
COLOR Negro "Silla"
Entonces,
#PATAS
¿hay que programar el clasificador?
5
Clasificador
DESCRIPCIÓN Toma datos como entrada,
devuelve etiquetas como salida
PESO 12.4 KG

COLOR Blanco No "Silla"


Predicción
#PATAS 4
Aprendizaje supervisado 1 2 3

Nombre de la técnica que se utiliza para construir los clasificadores de manera


automática. Tres pasos fundamentales.

Primer paso Segundo paso Tercer paso


Entrenar un Hacer
Juntar datos
clasificador predicciones
Aprendizaje supervisado 1 2 3
Recolección de datos Atributos
Etiqueta
(features)

PESO COLOR #PATAS ¿Es Silla?

3.4 Marrón 3 Sí

10.2 Varios 2 No

4.5 Verde 4 No
Instancias
5.2 ??? 4 Sí
(ejemplos)
3.2 Marrón 3 No

... ... ... ...


Aprendizaje supervisado 1 2 3
Entrenar un clasificador

Un clasificador puede ser pensado como una caja de reglas…


PESO COLOR #PATAS Siila?

Vacía al principio 3.4 Marrón 3 Sí


Lleno de reglas
10.2 Varios 2 No

Ent
4.5 Verde 4 No rena
do
5.2 ??? 4 Sí

3.2 Marrón 3 No

... ... ... ...


Lleno de reglas
Ent
ren
ado
Aprendizaje supervisado 1 2 3
Hacer predicciones

DESCRIPCIÓN
PESO 6.2 KG Ent
ren
ado
97%
COLOR Negro

#PATAS 4
Aprendizaje supervisado 1 2 3
Deep
Hacer Blue le
predicciones ganó a Kasparov (1996) …
… pero, ¿podría hacer otra cosa?
DESCRIPCIÓN
PESO 6.2 KG Ent
ren
ado
97%
COLOR Negro

¿Cómo
#PATAS 4 modificamos lo anterior si se modifica el

problema?
Aprendizaje supervisado
Puntos a tener en cuenta

RECOLECCIÓN DE DATOS CLASIFICACIÓN PREDICCIÓN

¿Hay suficientes datos? ¿Elegí el algoritmo adecuado? ¿Cómo mido mis resultados?

¿Los datos están balanceados? ¿Con qué parámetros tiene sentido ¿Son resultados que generalizan al
tunearlo? problema en el mundo exterior?
¿Sobre cuántos entreno mis modelos?
¿Cómo puedo testearlo? ¿Qué métricas conviene utilizar?
¿Sobre cuántos valido mis modelos?
¿Puedo reutilizar un clasificador ya ¿Puedo medir significancia estadística?
¿Qué pinta tienen los datos? entrenado?
¿Es comparable mi resultado con otros
resultados similares?

... …. ….
Parte 2 ¿Qué es lo que realmente
hacen los clasificadores?
¿Qué pinta tienen los features?
Formas de extraer features

PESO 4.2
PESO 9
#PATAS 3
(Peso, #Patas, Material)
#PATAS 4
MATERIAL 1
MATERIAL 0
Silla
Mesa

PESO 2
PESO 10

#PATAS 0
#PATAS 3

MATERIAL 2
MATERIAL 2
Maceta
Mesa
¿Qué pinta tienen los features?
Formas de extraer features

(Peso, Color, #Ruedas) (Peso, #Patas, Material) (Material, #Ojos, #Ruedas)


¿Qué pinta tiene un clasificador?
Algoritmo I Algoritmo II
¿Qué pinta tiene un clasificador?
Algoritmo I ¿Cómo lo programo?

No se programan,

● Se decide la forma (algoritmo).


● Se buscan parámetros óptimos.
● Se programa la infraestructura.
Parte 3 La era de Deep Learning
(Aprendizaje Profundo)
Ahora un poco más difícil...

12 42 15 23

14 42 42 14

24 23 23 24
Silla

FOTO 14 41 42 42

13 32 13 23

234 42 244 14

Perro
24 243 2 24
FOTO
14 42 4 42
Deep learning
No viene gratis…
● Necesitamos muchos datos etiquetados.
● Necesitamos mucho poder de cómputo.
Si quiero entender cómo un cerebro procesa
● El modelo resultante suele ser muy complejo y opaco.
imágenes… ¿puedo partirlo en 2 y fijarme?

➢ ¿Quiénes salen ganando con estas restricciones?


➢ ¿Sirve para hacer ciencia?
➢ ¿Sirve para problemas muy específicos?
No viene gratis…
● Necesitamos muchos datos etiquetados.
● Necesitamos mucho poder de cómputo.
● El modelo resultante suele ser muy complejo y opaco.

➢ ¿Quiénes salen ganando con estas restricciones?


➢ ¿Sirve para problemas muy específicos?
➢ ¿O sea, no puedo hacer nada si no soy Google?
➢ ¿Puedo aprovechar redes pre-entrenadas?
Parte 4 Entonces ...

¿Se acabó el trabajo para


nosotros?
¡NO!

Aún somos muy necesarios


¿Dónde?

➢ Somos necesarios para construir infraestructura alrededor de


estos sistemas.
➢ Se necesitan técnicas de computación "clásica" para problemas
muy específicos o complejos.
➢ Somos necesarios para estudiar la mejor forma de utilizar ML.
➢ Se necesita técnicas de computación para entender los
problemas y encontrar la mejor solución, ya sea con o sin
aprendizaje automático.
➢ Diseñamos y escribimos esos algoritmos para aprender.
Parte 5
Qué hacemos en nuestro
laboratorio.
TEXTO HABLA CEREBRO
PSIQUIATRIA COMPUTACIONAL PROSODIA PSICOLOGÍA EXPERIMENTAL

TENDENCIAS CULTURALES MIMETIZACIÓN MODELOS COGNITIVOS

EXPRESIONES COGNITIVAS CONFIANZA EYE-TRACKING

MODELADO DE TÓPICOS PRONUNCIACIÓN ELECTROENCEFALOGRAMA


CONCLUSIONES

- Machine Learning complementa al estilo de programación


clásico para poder atacar "nuevos" problemas.
- No es magia negra, es un conjunto de técnicas y conocimiento
para lo cual hace falta práctica y problemas interesantes.
- Hay mucho trabajo por hacer y cada vez se necesita más gente
que sepa de estos temas.
LENGUAGES
Y.. ¿cómo arranco si ➢ Python (+ sklearn).
quiero resolver estos ➢ R (+ caret).

problemas? LIBROS

➢ Mitchell, "Machine Learning", McGraw-Hill, 1997.


● ¿Qué lenguajes me recomendás? ➢ James, Witten, Hastie & Tibshirani, "An
● ¿Qué libros me recomendás? Introduction to Statistical Learning with
● ¿Puedo aprender de Youtube? Applications in R", 6th ed, Springer, 2015.
➢ Bishop, "Pattern Recognition and Machine
● ¿Puedo aprender de Coursera? Learning", Springer, 2006.

COURSERA

➢ Andrew Ng: Machine Learning.


➢ Dan Jurafsky & Chris Manning: Natural Language
Processing.
¡GRACIAS!
Pablo Brusco
pbrusco@dc.uba.ar
http://habla.dc.uba.ar
http://liaa.dc.uba.ar

You might also like