Segunda Clase: Modelos
Aprendizaje Automático sobre
Grandes Volúmenes de Datos
Clase 2
Pablo Ariel Duboue, PhD
Universidad Nacional de Córdoba,
Facultad de Matemática, Astronomía y Física
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Representando Instancias
Tipos de features
booleanas (true, false)
numéricas (4, 1, -5)
de punto otante o continuas (0.5, 1, 9.2)
enumeraciones o discretas (rojo,azul,verde,amarillo)
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Ejemplo: perros
Si queremos representar un perro para una clasicación,
depende del tipo de experimento
Para un experimento médico nos jaremos en características
físicas
Tamaño (punto otante)
Peso (punto otante)
Edad en meses (numérico)
Raza (enumeración)
Para un experimento de psicología canina nos jaremos en
características de comportamiento
Agresivo (booleano)
Edad en meses (numérico)
Raza (enumeración)
Cuidado con los datos superuos
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Representaciones diversas
Vamos a ver ahora ejemplos de como representar los siguientes
tipos de datos:
Texto
Imágenes
Árboles
Trayectorias
Tiempo
Audio
Algunas implementaciones están disponibles en http://scikit-
learn.org/stable/modules/feature_extraction.html
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Representando una palabra
Representando una sola palabra
Enumeración
Sujos, prejos
Características particulares (todas mayúsculas, minúsculas)
Idioma
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Representando un texto
Bag of words
Una feature por palabra, indicando si la palabra aparece en el
texto o no (binaria) o cuantas veces aparece (numérico)
Puede extenderse a pares de palabras (bigram model) o más
Sólo se pueden usar palabras vistas durante el entrenamiento
word2vec: representaciones distribuidas
Cada palabra se la representa como un vector de números de
punto otante de tamaño jo
Existe una relación geométrica entre las palabras y los
contextos en los que aparecen (perro y gato están cercanas y
así)
http://code.google.com/p/word2vec/
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Representando imágenes
Campo de investigación muy activa
Método más sencillo: usar el valor de los píxeles directamente
No generaliza muy bien
Pero puede mejorar utilizando transformaciones algorítmicas
del conjunto de entrenamiento
Siguiente paso: tomar el promedio sobre pequeños cuadrados
de la imágen
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Representando imágenes
Métodos más complejos (SIFT/SURF)
http://en.wikipedia.org/wiki/SURF
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Representando árboles
Árboles pueden representarse como la secuencia de
operaciones en un autómata a pila que lo reconozca
Es la estructura de datos utilizada en un analizador sintáctico
La secuencia en sí es un tipo de datos complejo, para
transformarlo en features hay que trabajar más
Nodos en un árbol pueden representarse con el camino desde
la raíz
De vuelta, esta es una secuencia que es en sí un dato complejo
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Representando trayectorias
Las trayectorias en general se representan
Buscando vectores representativos
Fijando el número de vectores que se utlizará para representar
cada trayectoria
En el caso más sencillo se utiliza un solo vector: del comienzo
al n de la trayectoria
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Representando series en tiempo
Series en el tiempo requieren algoritmos especícos
Pero pueden ser utilizadas con algoritmos genéricos tomando
una ventana que se mueve en el tiempo y calculando
información para cada ventana
La información por cada ventana puede repetirse sobre un
periodo de tiempo y entrenar sobre eso
En general, los resultados son pobres
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Representando audio
Un caso particular de series en el tiempo es el audio
La transformación de Fourier produce buenas features
Procesamiento de voz utiliza aún más features como análisis
de cepstrum y otras
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Para feature engineering
En la clase de feature engineering vamos a ver otras técnicas:
Binning: transformar una feature continua o numérica en una
discreta (altura: 1.40m en altura: baja)
Imputación: decidir qué valor se le asigna a features
inexistentes
Null ags: tener features que indican que una feature no existe
Técnicas para lidiar con features dependientes estadísticamente
hablando
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
¾Qué es un modelo?
Un ente que aprende que no asume nada acerca de la
identidad del concepto objetivo no tiene ninguna base
racional para clasicar cosas que nunca vio.
Mitchel (1997)
Los modelos capturan la información en los datos de entrada
(o en los datos en general, en aprendizaje no supervisado)
Representan la forma de ver el mundo que permite extrapolar
cuando se observan nuevos datos (nunca vistos)
Los modelos pueden ser matemáticamente bien formados
(estadísticos) o simplemente algoritmicos (cascadas de
if-then-else)
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
El modelo como código objeto
La clase pasada hablábamos de una metáfora de programación
para el Aprendizaje Automático
En dicha metáfora el modelo sería el código objeto obtenido a
partir de los datos de entrenamiento
Diferenciamos el modelo del algoritmo usado para obtener el
modelo
De la misma manera que diferenciamos el código objeto del
compilador que lo obtuvo
Muchos modelos tienen varios algoritmos que pueden ser
usados para construirlos
Entrenamiento de redes neuronales vía backpropagation vs.
algoritmos genéticos
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Propiedades de los modelos
Sesgo inductivo
El dilema del sesgo vs. varianza (biasvariance dilemma)
Para modelos estadísticos
Modelos generativos
Modelos discriminantes
Teorema no-free lunch (NFL)
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Sesgo inductivo
Distintos modelos asumen distintas cosas sobre la población de
elementos a predecir
Es importante entender este sesgo inductivo para comprender
el comportamiento del modelo sobre una población dada
http://en.wikipedia.org/wiki/Inductive_bias
Ejemplos de sesgo inductivo:
Maximización de independencia condicional (Naïve Bayes)
Minimización del error en cros-validación
Maximización del borde (SVMs)
Minimización del largo de la descripción
Minimización del número de features
Minimización de la distancia a casos conocidos
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
El conjunto de entrenamiento como modelo
Sistemas de Aprendizaje por Memorización (memory-based
learning)
Dada una función de distancia
Asignar una clase dada la clase de elementos cercanos
Algoritmo k-NN: k-nearest neighborgs
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
El dilema del sesgo vs. varianza
Un sistema que puede describir los datos de entrenamiento a la
perfección (bajo sesgo estadístico) pero después ser malos a la
hora de generalizar (presentar una varianza alta)
http://en.wikipedia.org/wiki/Bias %E2 %80%93variance_dilemma
No hay una solución general (dado el NFL)
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Ejemplo bias-variance dilemma
Datos originales
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
(CC-BY-SA Anders Sandberg)
Segunda Clase: Modelos
Features
Modelos
Evaluación
Ejemplo bias-variance dilemma
Aproximación RBF con alto sesgo estadístico
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
(CC-BY-SA Anders Sandberg)
Segunda Clase: Modelos
Features
Modelos
Evaluación
Ejemplo bias-variance dilemma
Relativamente buena aproximación RBF (pero con mayor
varianza)
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
(CC-BY-SA Anders Sandberg)
Segunda Clase: Modelos
Features
Modelos
Evaluación
Ejemplo bias-variance dilemma
Aproximación RBF con bajo sesgo estadístico y alta varianza
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
(CC-BY-SA Anders Sandberg)
Segunda Clase: Modelos
Features
Modelos
Evaluación
Modelos Generativos vs. Discriminantes
Para modelos estadísticos
Calcular la probablidad de la clase objetivo dada las features de
entrada
Podemos realizar este cálculo si tenemos un modelado
probabilístico de la probabilidad conjunta de entradas y la clase
objetivo
Sin embargo, no es un requerimiento el modelado de la
probabilidad conjunta
Simulación vs. emulación
© 2014 Pablo Duboue, bajo licencia CC-BY-SA
BDML-clase2-13/08
Segunda Clase: Modelos
Features
Modelos
Evaluación
Modelos Generativos
Calcular P(y|x1, . . . , xn) via P(x1, . . . , xn, y )
El cálculo de la probabilidad conjunta habilita
Comentarios de: Aprendizaje Automático sobre Grandes Volúmenes de Datos - clase 2 (0)
No hay comentarios