PDF de programación - Aprendizaje Automático sobre Grandes Volúmenes de Datos - clase 2

Aprendizaje Automático sobre Grandes Volúmenes de Datos - clase 2gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 23 de Noviembre del 2017)
219 visualizaciones desde el 23 de Noviembre del 2017
907,8 KB
46 paginas
Creado hace 5a (13/08/2014)
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
  • Links de descarga
http://lwp-l.com/pdf7659

Comentarios de: Aprendizaje Automático sobre Grandes Volúmenes de Datos - clase 2 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad