• No se han encontrado resultados

Machine Learning El fin de la programación?

N/A
N/A
Protected

Academic year: 2021

Share "Machine Learning El fin de la programación?"

Copied!
35
0
0

Texto completo

(1)

Machine Learning

¿El fin de la programación?

Pablo Brusco

[email protected]

(2)

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?

(3)

Hay problemas con reglas tan complejas que no podemos atacarlos con programación clásica…

¿Qué pasó?

¿En qué materia aprendo lo

necesario para reconocer sillas?

(4)

Sistemas expertos

Puercoespín

(5)

Aprendizaje Automático (Machine Learning)

Aprender a partir de ejemplos y experiencia …

… estas reglas tan complejas…

… ¿ pero cómo?

(6)

Nociones básicas de

Aprendizaje Automático

Parte 1

(7)

Queríamos un programa que ...

"Silla"

No "Silla"

(8)

Queríamos un programa que ...

"Silla"

PESO 5.3 KG

COLOR Negro

#PATAS 5

PESO 12.4 KG

COLOR Blanco

#PATAS 4

DESCRIPCIÓN

DESCRIPCIÓN

No "Silla"

Clasificador

Predicción

Toma datos como entrada, devuelve etiquetas como salida

Predicción

(9)

Queríamos un programa que ...

"Silla"

PESO 5.3 KG

COLOR Negro

#PATAS 5

PESO 12.4 KG

COLOR Blanco

#PATAS 4

DESCRIPCIÓN

DESCRIPCIÓN

No "Silla"

Clasificador

Predicción

Toma datos como entrada, devuelve etiquetas como salida

Predicción

Entonces, ¿hay que programar el clasificador?

(10)

Aprendizaje supervisado

Nombre de la técnica que se utiliza para construir los clasificadores de manera automática. Tres pasos fundamentales.

Juntar datos Entrenar un

clasificador Hacer

predicciones

1 2 3

Primer paso Segundo paso Tercer paso

(11)

Atributos (features)

Aprendizaje supervisado

Recolección de datos

1 2 3

PESO COLOR #PATAS ¿Es Silla?

3.4 Marrón 3

10.2 Varios 2 No

4.5 Verde 4 No

5.2 ??? 4

3.2 Marrón 3 No

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

Etiqueta

Instancias (ejemplos)

(12)

Aprendizaje supervisado

Entrenar un clasificador

1 2 3

Un clasificador puede ser pensado como una caja de reglas…

PESO COLOR #PATAS Siila?

3.4 Marrón 3

10.2 Varios 2 No

4.5 Verde 4 No

5.2 ??? 4

3.2 Marrón 3 No

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

Vacía al principio Lleno de reglas

Entrenado

(13)

Lleno de reglas

Entrenado

(14)

Aprendizaje supervisado

Hacer predicciones

1 2 3

Entrenado

PESO 6.2 KG

COLOR Negro

#PATAS 4

DESCRIPCIÓN

97%

(15)

Aprendizaje supervisado

Hacer predicciones

1 2 3

Entrenado

PESO 6.2 KG

COLOR Negro

#PATAS 4

DESCRIPCIÓN

97%

Deep Blue le ganó a Kasparov (1996) …

… pero, ¿podría hacer otra cosa?

¿Cómo modificamos lo anterior si se modifica el

problema?

(16)

RECOLECCIÓN DE DATOS

¿Hay suficientes datos?

¿Los datos están balanceados?

¿Sobre cuántos entreno mis modelos?

¿Sobre cuántos valido mis modelos?

¿Qué pinta tienen los datos?

...

Aprendizaje supervisado Puntos a tener en cuenta

CLASIFICACIÓN

¿Elegí el algoritmo adecuado?

¿Con qué parámetros tiene sentido tunearlo?

¿Cómo puedo testearlo?

¿Puedo reutilizar un clasificador ya entrenado?

….

PREDICCIÓN

¿Cómo mido mis resultados?

¿Son resultados que generalizan al problema en el mundo exterior?

¿Qué métricas conviene utilizar?

¿Puedo medir significancia estadística?

¿Es comparable mi resultado con otros resultados similares?

….

(17)

¿Qué es lo que realmente hacen los clasificadores?

Parte 2

(18)

¿Qué pinta tienen los features?

Formas de extraer features

(Peso, #Patas, Material) PESO 9

#PATAS 4

MATERIAL 0 Mesa

Maceta

PESO 2

#PATAS 0

MATERIAL 2

PESO 4.2

#PATAS 3

MATERIAL 1 Silla

PESO 10

#PATAS 3

MATERIAL 2 Mesa

(19)

¿Qué pinta tienen los features?

Formas de extraer features

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

(20)

Algoritmo I

¿Qué pinta tiene un clasificador?

Algoritmo II

(21)

¿Qué pinta tiene un clasificador?

● Se decide la forma (algoritmo).

● Se buscan parámetros óptimos.

● Se programa la infraestructura.

Algoritmo I ¿Cómo lo programo?

No se programan,

(22)

La era de Deep Learning (Aprendizaje Profundo)

Parte 3

(23)

12 42 15 23

14 42 42 14

24 23 23 24

14 41 42 42

Silla

Perro

Ahora un poco más difícil...

13 32 13 23

234 42 244 14

24 243 2 24

14 42 4 42

FOTO

FOTO

(24)

Deep learning

(25)

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 hacer ciencia?

➢ ¿Sirve para problemas muy específicos?

Si quiero entender cómo un cerebro procesa

imágenes… ¿puedo partirlo en 2 y fijarme?

(26)

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?

(27)

Entonces ...

¿Se acabó el trabajo para nosotros?

Parte 4

(28)

¡NO!

Aún somos muy necesarios

(29)

¿ 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.

(30)

Parte 5

Qué hacemos en nuestro

laboratorio.

(31)

TEXTO

PSIQUIATRIA COMPUTACIONAL

TENDENCIAS CULTURALES

EXPRESIONES COGNITIVAS

MODELADO DE TÓPICOS

HABLA

PROSODIA

MIMETIZACIÓN

CONFIANZA

PRONUNCIACIÓN

CEREBRO

PSICOLOGÍA EXPERIMENTAL

MODELOS COGNITIVOS

EYE-TRACKING

ELECTROENCEFALOGRAMA

(32)

- 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.

CONCLUSIONES

(33)

Y.. ¿cómo arranco si quiero resolver estos problemas?

● ¿Qué lenguajes me recomendás?

● ¿Qué libros me recomendás?

● ¿Puedo aprender de Youtube?

● ¿Puedo aprender de Coursera?

LENGUAGES

Python (+ sklearn).

R (+ caret).

LIBROS

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

James, Witten, Hastie & Tibshirani, "An Introduction to Statistical Learning with Applications in R", 6th ed, Springer, 2015.

Bishop, "Pattern Recognition and Machine Learning", Springer, 2006.

COURSERA

Andrew Ng: Machine Learning.

Dan Jurafsky & Chris Manning: Natural Language Processing.

(34)
(35)

[email protected] http://habla.dc.uba.ar http://liaa.dc.uba.ar

¡GRACIAS!

Pablo Brusco

Referencias

Documento similar

Para ello, se hace uso del lenguaje de programación AIML, así como de una base de datos, que son capaces de reconocer patrones de entrada, para mostrar una

De este modo se constituye un espacio ontológico y epistemológico a la vez, en el que cada elemento (cada principio) ocupa un lugar determinado en la totalidad, y desde ahí está

Herramientas para estimar el error de generalización de un modelo -qué tan bien va a funcionar sobre datos “no vistos”. 1 Validation

Resuelve el siguientes problemas utilizando números positivos y números negativos. Puedes guiarte con

Así, en el caso más común, un puerto GPIO ocupa al menos tres direcciones en el mapa: una para el registro de control que configura la dirección de los pines, otra para el registro

Aprender los principales conceptos alrededor de la IA, así como la evolución de las arquitecturas de algoritmos de Deep Learning y el entendimiento de los

Sobre estos patrones, los melocotoneros pueden ser cultiva- dos en suelos clorosantes (pH superior a 7,5), así como en re- gadíos que tengan suelos buenos y profundos. Con este tipo

Los datos que sirven para el entrenamiento de los modelos de Deep Learning en este caso están formados por una componente que son los datos de entrada, es decir el texto con