Introducción - Universidad Autónoma de Madrid

Anuncio
MÉTODOS AVANZADOS EN APRENDIZAJE ARTIFICIAL:
TEORÍA Y APLICACIONES A PROBLEMAS DE PREDICCIÓN
Manuel Sánchez-Montañés
Luis Lago
Ana González
Escuela Politécnica Superior
Universidad Autónoma de Madrid
Aprendizaje

APRENDIZAJE AUTOMATICO:

¿ Qué significa aprender?



No hay una única definición.
Es un proceso de inducción del conocimiento.
¿Por qué automático?

Problemas demasiados complicados para resolverlos a mano:
Grandes bases de datos
Alta dimensionalidad

Objetivo: Crear programas capaces de generalizar comportamientos
a partir de una información, por lo general no estructurada,
suministrada en forma de ejemplos.
Aprendizaje
Razonamiento Lógico: Deducción versus Inducción.
• Deducción: aplicar un conocimiento general que ya teníamos a casos específicos:
“Todos los hombres son mortales. Sócrates es hombre.
Luego Sócrates es mortal.”
• Inducción:
•
•
•
A partir de una observación o varias observaciones, se puede reconocer un patrón.
Una vez definido el patrón, se convierte en una hipótesis provisional.
Una vez la hipótesis es definida y demostrada se convierte en una teoría.
• Observación: Thor, Lasy y Luna son perros
• Patrón: tienen cuatro patas
• Hipótesis: Los perros tienen cuatro patas, induzco que perro --‐> cuatro patas.
Ahora me dicen que Niebla es un perro, y con la regla que he aprendido infiero que
Niebla tiene cuatro patas.
Aprendizaje

• Aprender está relacionado con generalizar, con saber reaccionar a
casos nuevos: predecir/inferir.

Para introducir lo que vamos a utilizar a lo largo del curso
necesitaremos definir tres conceptos:



Agente
Entorno
Función de coste
Aprendizaje
Agente y entorno:
Consideremos un sistema o agente A que interacciona con un entorno E.
El agente es una entidad capaz de percibir el entorno y de actuar sobre él.
Ejemplos:
- un robot que mueve objetos en una fábrica
- un programa de ordenador que clasifica el correo electrónico
como “spam” o “no spam”
- un alumno que interacciona con su profesor
Los agentes tienen un punto de vista incompleto, pero esto no limita que se halle una
solución (aproximada)  Búsqueda de una solución completa y consistente.
Aprendizaje
Función de coste, f(A, E):
-
Es una función que depende del error entre la salida real del sistema que se pretende
modelar (entorno) y la salida del núcleo estimador.
Mide el grado de confianza en la interacción del agente con su entorno  ¿Cómo de
bueno es el resultado obtenido?
Medición: Resultado numérico
Ejemplos:
- energía total que necesita el robot para transportar los objetos
- número de fallos que comete el ordenador clasificando los correos
- puntuación media que obtiene el alumno en sus exámenes
Aprendizaje
¿Qué significa entonces aprender ?
Decimos que el agente A aprende si es capaz de rectificar su
comportamiento de tal forma que la función de coste f(A, E) mejora con el
paso del tiempo hasta conseguir (si es posible) llegar al óptimo.
Ejemplos:
 el robot consume menos energía cada día moviendo el mismo número
de objetos
 el programa clasifica cada vez mejor el correo electrónico
 el alumno saca cada vez mejores notas (“saber” versus “aprender”)
Aprendizaje
Aprendizaje: siempre hay una función de coste que se debe optimizar. El
aprendizaje consiste en la búsqueda de la hipótesis óptima que
maximiza (o minimiza) esta función.
Ejemplos:

Robot adaptativo que busca minimizar la energía invertida en el
transporte de objetos

Física, Química, ...: Búsqueda de teorías científicas que:
minimicen la complejidad de la teoría (número de parámetros) y
maximicen el número de observaciones explicadas

Estudiante: minimizar esfuerzo necesario para aprobar exámenes
maximizar puntuación obtenida en exámenes
maximizar cantidad de conocimiento obtenido
maximizar otras cantidades no relacionadas con estas
Aprendizaje
Clasificación principal de los tipos de aprendizaje
Nos basamos en cómo obtiene el agente la información adicional para aprender.
Aprendizaje no supervisado: el agente no necesita información adicional
Ejemplo: nuestro robot que minimiza la energía consumida
Aprendizaje supervisado: hay un “supervisor” que le da información al agente
sobre lo que debe hacer.
Ejemplo: nuestro programa que clasifica el mail como “spam” o “no spam”
Los ejemplos etiquetados (spam/no spam) son datos del pasado.
Aprendizaje por refuerzo: hay un supervisor que da información al agente sobre si
lo está haciendo bien o mal, pero no exactamente lo que debe hacer.
Ejemplo: profesor de matemáticas que no da clases y sólo examina
Aprendizaje
¿Qué es aprendizaje automático?
Desarrollo de
Algoritmos
Explotación del
producto final
Base de datos
Entrenamiento
Respuesta
Nuevos datos
Terminología

Términos similares:





Aprendizaje Automático o “Machine Learning”,
Reconocimiento de patrones o “Pattern Recognition”
Minería de datos o “Data Mining”
Data Mining: extracción de conocimiento oculto en grandes volúmenes de datos;
”minería” en los datos con el objetivo de identificar patrones y establecer relaciones
Terminología: Atributos y patrones
Atributo (o Variable o Característica o Descriptor)
Es cualquier aspecto distintivo, cualidad o característica
Los atributos pueden ser:
• nominales (por ej., color: blanco, rojo, amarillo, verde, azul, …),
• numéricos (por ej., altura –medida en metros-).
Patrones (o Casos o Instancias)
Colección (posiblemente ordenada y estructurada) de descriptores
(características) que representan un objeto.
Importante: patrones que describen objetos de una misma clase,
presentan características similares.
Terminología: Atributos y patrones

Cada patrón está representado por un conjunto de atributos 
un vector columna de d dimensiones llamado vector de atributos

El espacio de atributos es el espacio de d dimensiones definido por
este vector

Los patrones se representan como puntos del espacio de atributos
Vector de
atributos
Espacio de
atributos
Terminología: Atributos y patrones
¿ Qué es un “buen” vector de atributos ?
La calidad de un vector de atributos está relacionada con su capacidad de
discriminar ejemplos de clases diferentes:
• Los atributos de ejemplos de la misma clase deberían tener valores
similares
•Los atributos de ejemplos de diferentes clases deberían tener valores
diferentes
Atributos “buenos”:
Significativamente
diferenciados
Atributos “malos”
Terminología: Atributos y patrones
Otras propiedades relacionadas con los atributos:
Separabilidad lineal
Separabilidad
no lineal
Atributos altamente
correlacionados
Multi-modal
Áreas relacionadas y aplicaciones del
reconocimiento de patrones
Áreas relacionadas
- Procesamiento adaptativo de señal
- “Machine Learning”
- Redes neuronales artificiales
- Robótica y Visión
- Ciencias Cognitivas
- Estadística Matemática
- Optimización No Lineal
- Análisis exploratorio de datos (“Data Mining”)
- Sistemas genéticos, sistemas difusos (Computación Evolutiva)
- Teoría de la Detección, Teoría de la Estimación
- Lenguajes formales
- Modelado estructural
-Neurociencia Computacional
-Bioinformática: Genómica y Proteómica
-Biomedicina
Áreas relacionadas y aplicaciones del
reconocimiento de patrones
Aplicaciones
- Pre-Procesamiento de Imágenes / Segmentación
- Visión automática
- Reconocimiento del habla
- Reconocimiento automático de objetivos militares
- Reconocimiento óptico de caracteres
- Análisis de Seismos
- Diagnóstico de pacientes / máquinas
- Identificación de huellas digitales
- Inspección Industrial
- Predicción en entornos Financieros
- Detección automática de fraudes en tarjetas de crédito
- Diagnóstico médico
- Análisis de señales ECG y EEG
Áreas relacionadas y aplicaciones del
reconocimiento de patrones
-
Visión automática
- Inspección visual
- Detección de enemigos
-
Reconocimiento de caracteres (OCR)
- Ordenamiento automático de cartas
- Procesamiento automático de cheques
bancarios
-
Diagnóstico asistido por ordenador
- Análisis de imágenes médicas (RMN)
- Análisis de señales (EEG, ECG)
- Diseñadas para ayudar (no sustituir) a los
médicos
Reconocimiento del habla
- Interacción ordenador-humano, acceso
universal:
El micrófono graba una señal acústica del
habla, la señal es clasificada en fonemas y/o
palabras
Áreas relacionadas y aplicaciones del
reconocimiento de patrones
# ejemplos
105
Ecology
Market
Analysis
104
Text
Categorization
10
System diagnosis
103
102
Machine
Vision
10
OCR
HWR
Bioinformatics
102
103
104
105
# variables
Componentes de un sistema de
reconocimiento de patrones
Un sistema de clasificación de patrones contiene:
- Sensor  Adquisición de la base de datos
- Mecanismo de preprocesamiento
- Mecanismo de reducción de la dimensionalidad
- Algoritmo de aprendizaje
- Mecanismos de validación con un conjunto de ejemplos ya clasificados
(conjunto de test)
Sistemas de
medición
Preprocesamiento
Reducción de la
dimensionalidad
Predicción
Selección del
modelo
el
“mundo real”
Resultados
del análisis
Sensores
Cámaras
Bases de datos
Selección/proyección
de características
Eliminación del ruido
Extracción de características
Normalización
Validación cruzada
Bootstrap
Clasificación
Regresión
Clustering
Descripción
Componentes de un sistema de
reconocimiento de patrones
Sistemas de
medición
PreReducción de la
procesamiento dimensionalidad
Predicción
Selección del
modelo
el
“mundo real”
Resultados
del análisis
Entorno
Sensores
Cámaras
Bases de datos
Selección/proyección
de características
Eliminación del ruido
Extracción de características
Normalización
Valores perdidos (missing values)
Validación cruzada
Bootstrap
Clasificación
Regresión
Clustering
Descripción
Tipos de problemas de predicción
Clasificación
- El problema consiste en asignar una clase a un objeto
- La salida del sistema es una “etiqueta”
Ejemplo: clasificar un producto como “bueno” o “malo” en un test de control de calidad
Regresión
- Generalización del problema de clasificación
- La salida del sistema es un número/vector real
Ejemplo: predecir la temperatura que habrá la semana que viene
Clustering (agrupamiento)
- El problema de organizar objetos en grupos que tengan sentido
- El sistema halla una agrupación de objetos que puede ser jerárquica
Ejemplo: organizar plantas en una taxonomía de especies
Descripción
- El problema de representar un objeto en términos de una serie de primitivas
- El sistema produce una descripción estructural o lingüística
Ejemplo: etiquetar una señal ECG en términos de complejos P, QRS y T
Aprendizaje Supervisado: Clasificadores
La tarea de un clasificador es separar el
espacio de atributos en regiones de
decisión, cada una con una “etiqueta”
(clase asignada)
- Los límites entre diferentes regiones se
llaman fronteras de decisión
- La clasificación del vector de atributos x
consiste en determinar a qué región de
decisión pertenece, y asignarle la clase
correspondiente
Clasificador con
fronteras lineales
Clasificador con
fronteras no lineales
Aprendizaje supervisado: le damos ejemplos al sistema acerca de qué
debe hacer exactamente en esos casos. Queremos que el sistema aprenda
de ellos a generalizar situaciones nuevas.
Aprendizaje Supervisado: Clasificadores
Frontera de decisión lineal
x2
0.5
0.4
0.3
0.2
0.1
X3
x3
0
-0.1
-0.2
-0.3
-0.4
x1
-0.5
-0.5
0
xX22
0.5
0.5
0
xX11
-0.5
Aprendizaje Supervisado: Clasificadores
Frontera de decisión no lineal
x2
0.5
Hs.7780
x3 0
-0.5
0.5
0.5
0
0
x1
x
Hs.234680
2
-0.5
-0.5
Hs.128749
x1
Aprendizaje Supervisado: Clasificadores
El clasificador se puede ver como un conjunto de funciones discriminantes
El clasificador etiqueta el vector x como clase ωi si gi(x) > gj(x) para todo j ≠ i
Aprendizaje no Supervisado: Clustering
•¿Cuántos grupos/clusters?
•¿Cómo sabemos que un determinado agrupamiento/clustering es
bueno?
Aprendizaje no Supervisado: Clustering
Queremos un sistema que reconozca automáticamente las letras L, P, O, E, Q
- Determinar un número suficiente de atributos
- Diseñar un clasificador basado en árboles de decisión
Aprendizaje no Supervisado: Clustering
DENDROGRAMA
EN BIOLOGIA
Aprendizaje no Supervisado: Clustering
DENDROGRAMA EN BIOLOGIA- Bi-clustering
Ciclo de diseño de un sistema de
reconocimiento de patrones (1)
Obtención de datos
• Probablemente es el componente que requiere más tiempo de un proyecto de RP
• ¿Cuántos ejemplos son suficientes ?
Preprocesamiento de los datos
• Señal/Ruido
• “Missing Values”
• “Outliers”
• Normalización de los datos
Elección de los atributos
• Es crítico para el éxito en un problema Reconocimiento de Patrones
• Requiere un conocimiento básico del problema a priori
Elección del modelo
• Diferentes tipos de modelos
• Diferentes parámetros con los que jugar
Ciclo de diseño de un sistema de
reconocimiento de patrones (2)
Entrenamiento
• Dado un conjunto de atributos y un modelo “en blanco”, adaptar el modelo para
explicar los datos
•
Aprendizajes supervisado, no supervisado, por refuerzo
Evaluación
• ¿ Cómo es de bueno el modelo entrenado ?
• Sobreajuste (“overfitting”) versus generalización
Ciclo de diseño de un sistema de
reconocimiento de patrones (3)
Consideremos el siguiente problema:
• Una empresa pesquera quiere automatizar el proceso de separación de los peces, de
acuerdo con la especie (salmón o lubina)
• El sistema de automatización consiste en:
- Una cinta de transporte para el pescado recogido en el mar
- Dos cintas de transporte para los peces separados (salmón y lubina)
- Un brazo mecánico que coge los peces de la cinta de entrada y los lleva a una de las
dos cintas de salida
- Un sistema de visión con una cámara CCD
- Un ordenador que analiza las imágenes, toma una decisión y controla el brazo
mecánico hacia una u otra cinta
De [Duda, Hart y Stork, 2001]
Ciclo de diseño de un sistema de
reconocimiento de patrones (4)
Sensor
- El sistema de visión captura una imagen de cada pez que entra en el
área de separación
Preprocesamiento
- Algoritmos de procesamiento de imágenes
- Ajustes de niveles medios de intensidad
- Segmentación para separar el pez del fondo (cinta, suelo, …)
Extracción de características
- Sabemos que en promedio la lubina es más grande que el salmón
- Estimamos la longitud del pez a partir de la imagen segmentada
Ciclo de diseño de un sistema de
reconocimiento de patrones (5)
Clasificación
- Reunimos un conjunto de ejemplos de ambas especies
- Calculamos la distribución de longitudes para ambas clases
- Determinamos una frontera de decisión (umbral) que minimice el error de
clasificación
- Estimamos la probabilidad de error obteniendo un resultado desalentador
del 40% ¿ Qué hacemos ahora ?
Ciclo de diseño de un sistema de
reconocimiento de patrones (6)
Mejorando el rendimiento de nuestro sistema de Reconocimiento de Patrones
- Nos piden que alcancemos una tasa de reconocimiento del 95%
- Intentar añadir otros atributos:
• Ancho
• área,
• posición de los ojos respecto a la boca,
• …
Estos atributos no contienen
información discriminatoria
- Finalmente encontramos un buen atributo: la intensidad media de las escamas
Ciclo de diseño de un sistema de
reconocimiento de patrones (7)
- Combinamos longitud e intensidad media de las escamas para mejorar
la separabilidad de las clases
- Calculamos una función discriminante lineal para separar las dos
clases, obteniendo una tasa de clasificación correcta del 95.7%
Ciclo de diseño de un sistema de
reconocimiento de patrones (8)
Riesgo versus Tasa de clasificación
- Nuestro clasificador lineal fue diseñado para minimizar el error global de
clasificación
- ¿Es ésta la mejor función objetivo para nuestra industria pesquera?
• El riesgo de clasificar un salmón como lubina es: un consumidor final se
encuentra un sabroso salmón habiendo comprado lubina
• El riesgo de clasificar una lubina como salmón es: un consumidor final
enfadado ya que le han vendido lubina al precio de salmón
- Intuitivamente, podríamos ajustar la frontera de decisión para minimizar el
riesgo  Satisfacer al cliente
Ciclo de diseño de un sistema de
reconocimiento de patrones (9)
Ciclo de diseño de un sistema de
reconocimiento de patrones (10)
El problema de la generalización
- La tasa de reconocimiento de nuestro clasificador lineal (95.7%) se ajustaba a las
especificaciones, pero pensamos que podemos mejorar esta tasa
- Así que diseñamos una red neuronal artificial con 5 capas ocultas, una combinación
de funciones de activación logísticas e hiperbólicas, la entrenamos usando el algoritmo
de Levenberg-Marquadt y obtenemos una tasa impresionante del 99.9975% con la
siguiente frontera de decisión:
Ciclo de diseño de un sistema de
reconocimiento de patrones (11)
- Contentos
con nuestro clasificador, lo integramos en el sistema de la
fábrica
- Después de un par de días, el director de la fábrica nos llama
quejándose de que el sistema clasifica mal el 25% de los peces
- ¿ Qué ha pasado ?
-SOBREAJUSTE (OVERFITTING)
-Se ha memorizado el problema
Pasos para el desarrollo de un modelo de
predicción: introducción
Objetivo: poder predecir de manera eficaz una propiedad de un
conjunto de casos que no se nos han dado anteriormente.
Ejemplos:
•
¿hay problemas cardíacos o no en paciente nuevo?
•
¿un cliente de un banco se cambiará o no a otra compañía?
•
¿subirá o bajará el índice Dow Jones mañana?
Dicha predicción se realiza a partir de información adicional
(variables independientes o atributos).
Ejemplos: historial clínico + pruebas clínicas sencillas
historial de movimientos bancarios + datos personales
historial del Dow Jones + otros índices relevantes
Pasos para el desarrollo de un modelo de
predicción: introducción
Requisito indispensable para la construcción de un modelo:
necesitamos partir de una base de datos de casos anteriores 
conocimiento
Si no disponemos de la base de datos, hay que crearla.
La mayor parte de las veces esta base de datos proviene de
investigadores de áreas distintas a la informática.
Pasos para el desarrollo de un modelo de
predicción: introducción
¿ Qué propiedades debe tener la base de datos de casos anteriores ?

Los casos deben ser medidos en las mismas condiciones que los
que queremos predecir.
Por ejemplo, las pruebas médicas deben de hacerse y evaluarse
usando los mismos criterios  problema práctico cuando se
mezclan informaciones de diferentes fuentes.

Los casos no deben tener ningún sesgo relevante frente a los
casos a predecir.
Por ejemplo, si queremos predecir problemas de corazón en
pacientes de ambos sexos, no nos vale una base de datos en la
que sólo hay mujeres, ya que el sexo puede ser un factor
importante en el diagnóstico.
Pasos para el desarrollo de un modelo de
predicción: introducción
¿ Qué propiedades debe tener la base de datos de casos anteriores ?

Codificación de las variables:
Cada una de las variables de cada caso (variable a predecir,
variables independientes) debe tomar un único valor, que debe
ser numérico o simbólico.
Por ejemplo: la variable “sexo” puede ser “H” o “M”, pero no “de
género masculino”, “de género femenino”.
En general, los métodos estándar de aprendizaje prefieren
variables numéricas: por ejemplo “0” para hombre,
“1” para mujer.
Pasos para el desarrollo de un modelo de
predicción: introducción
¿ Qué propiedades debe tener la base de datos de “casos anteriores”
?
- Minimización de la redundancia en las variables: se evitará
codificar con diferentes valores el mismo significado.
Por ejemplo: no se admite codificar a veces como “0”, otras
como “1” el sexo “hombre”, y a veces como “2”, otras como “3”
el sexo “mujer”.
- Definición inconfusa de los valores: se evitará codificar con
el mismo valor cosas diferentes: cuidado al mezclar datos
provenientes de distintas fuentes !!!
Pasos para el desarrollo de un modelo de
predicción: introducción
¿ Qué es entonces la base de datos de casos anteriores ?
- Tabla en la que hay tantas filas como casos.
- Hay tantas columnas como variables en el problema:
variables predictoras + variables a predecir (etiquetas o target)
- En cada celda de la tabla, hay un sólo valor, que se escoge
como numérico
- En problemas de clasificación y regresión, los valores de la
columna variable a predecir están rellenados apropiadamente
- Valores del resto de las columnas pueden no estar rellenos:
“missing values” (“valores ausentes”).
Pasos para el desarrollo de un modelo de
predicción: introducción
Representación de la Base de datos
Base de datos: X
m filas = patrones
n columnas = atributos
n
X={xij}
m
xi
Colon cancer, Alon et al 1999
y={yj}
Pasos para el desarrollo de un modelo de
predicción: Análisis y definición del problema
¿ qué queremos predecir exactamente ?
•
Debemos definir de una manera objetiva, medible y
completamente clara la variable a predecir.
•
Hace falta un conocimiento profundo del problema: esta variable
se deberá determinar con ayuda de expertos.
Pasos para el desarrollo de un modelo de predicción:
Análisis y definición del problema
¿ A partir de qué datos vamos a predecir la variable
objetivo ?

Si partimos del problema de cero (no tenemos la base de datos
creada):
- conocimiento experto: ¿qué variables son relevantes ?
- obtención de los datos

Si ya tenemos la base de datos:
- conocimiento experto + análisis de datos
- selección de variables y unificación de los datos en una sola
base de datos
En cualquiera de los dos casos, se puede realizar una segunda
selección de variables en el proceso de modelado.
Pasos para el desarrollo de un modelo de predicción:
Creación y depuración de la base de datos
Creación de “tabla” con el mismo número de columnas = número de atributos
Codificación numérica de las variables
Minimización de la redundancia en las variables
Definición inconfusa de los valores
Depuración de los datos
Auditoria de los datos
Análisis estadístico de la base de datos (Normalización).
Limpieza de “outliers” (datos anómalos).
Missing values (“valores ausentes”).
Segmentación de valores.
Pasos para el desarrollo de un modelo de predicción:
Creación y depuración de la base de datos
Preprocesamiento de datos
-
Diferentes tipos de datos: numéricos (discretos/continuos), simbólicos,
categóricos, series temporales, vectoriales, …
- ¿Cómo se codifican? diferentes criterios
-
Creación de grupos: segmentación
-
Compresión de series temporales: media, tendencia, varianza.
- Obtención de variables sintéticas: ratios. Se necesita conocimiento experto.
- Obtención de nuevas características: PCA, LDA, ICA
- Missing values (datos ausentes)
Pasos para el desarrollo de un modelo de predicción:
Creación y depuración de la base de datos
“Missing values”












Tipos de “missing values”:
- campo no rellenado por olvido. Ejemplo: sexo de una persona
- campo no rellenado por imposibilidad. Ejemplo: edad del marido/mujer
(en caso de ser solter@).
- valor "especial".
- verificar en qué datos hay “missing values” y discutir por qué ->
detección de posibles errores en la introducción de los datos.
¿ Qué hacemos con ellos ?
- borrar patrón: ¿ qué hacemos entonces con los nuevos datos a predecir
que contengan “missing values”?
- borrar columna: pierdo datos. A lo mejor el hecho de ser “missing value”
es informativo.
- sustituir “missing values” por un valor numérico especial: cuidado!
rompo topología.
- sustituir “missing value” por valor promedio.
- tratar de predecir “missing values”.
Pasos para el desarrollo de un modelo de predicción:
Creación Conjuntos de Entrenamiento, Validación y Test

Dividir el conjunto de datos iniciales en subconjuntos de forma
aleatoria, manteniendo la representación de partida
• Objetivo: construcción de un modelo definitivo que responda al
problema de predicción planteado con un grado de fiabilidad
determinado
Conjunto de entrenamiento: conjunto de datos con el que
Se construyen distintos modelos
para resolver el problema
Se seleccionan uno o
varios modelos finales
Pasos para el desarrollo de un modelo de predicción:
Creación Conjuntos de Entrenamiento, Validación y Test
Conjunto de validación: conjunto de datos con el que
Se validan los modelos
finales del punto anterior
Se determina el modelo
definitivo según:
1.- Modelo con mejor ajuste a los datos
2.- Modelo más “cercano” al problema de
predicción
Conjunto de prueba: conjunto de datos con el que
Se realizan pruebas de funcionamiento del modelo
Pasos para el desarrollo de un modelo de predicción:
Creación Conjuntos de Entrenamiento, Validación y Test
Conjunto de datos de partida
1.- El conjunto de entrenamiento y validación deben salir
del mismo conjunto de datos inicial (misma población)
• 60% + 40%  entrenamiento + validación
• Muestras reducidas:
• Validación cruzada (“Cross-validation”)
• K-fold (K=10)
• leave-one-out = n-fold
• Bootstrap = muestreo con reemplazamiento
2.- El conjunto de prueba puede o no salir del conjunto de
datos inicial  Valoraciones independientes
Pasos para el desarrollo de un modelo de
predicción: selección de modelos
Modelos lineales:
 Análisis Discriminantes Lineales
Modelos basados en núcleos:
 Máquinas de vectores de soporte (“Suppot Vector Machine”, SVM)
Redes neuronales:
 Perceptrón Multicapa, PCM (“Multilayer Perceptron”, MLP)
Modelos probabilísticos:
 Redes Bayesianas
Árboles de decisión:
 ID3, C4.5
Métodos de “clustering”:
 “K-means”, Métodos Espectrales
Pasos para el desarrollo de un modelo de
predicción: selección de modelos
Discriminante Lineal
Árboles de decisión
Representación:
Iris Data Set
(Fisher, 1936)
setosa
versicolor
virginica
Mezclas de Gausianas
Kernel method (SVM)
Pasos para el desarrollo de un modelo de
predicción: selección de modelos
¿Cómo de bueno es un clasificador?

Métodos Estadísticos

ANÁLISIS ROC: Receiver Operating Characteristic curve
Sens 
Negativo
Positivo
TP
TP  FN
Spec 
acc 
Recall 
Precision 
TN
TN  FP
TN  TP
PN
TP
TP  TN
TP
TP  FP
Pasos para el desarrollo de un modelo de
predicción: selección de modelos
Variación del umbral  Elección de la frontera de decisión
f(x) < 0
x2
f(x) < 0
x2
f(x) > 0
f(x) > 0
x1
x1
Pasos para el desarrollo de un modelo de
predicción: selección de modelos
Variación del umbral  Elección de la frontera de decisión
f(x) < -1
x2
f(x) < -1
x2
f(x) > -1
f(x) > -1
x1
x1
Pasos para el desarrollo de un modelo de
predicción: selección de modelos
Variación del umbral  Elección de la frontera de decisión
f(x) < 1
x2
f(x) < 1
x2
f(x) > 1
f(x) > 1
x1
x1
Pasos para el desarrollo de un modelo de
predicción: selección de modelos
Curva ROC
curva ROC Ideal (AUC=1)
100%
TPR,
tasa de
acierto (“hit
rate”),
sensibilidad
Cada punto
de la curva
ROC
corresponde
al resultado
para un valor
de umbral en
f(x)=δ.
0  AUC  1
0
FPR, 1-specificity
100%
Pasos para el desarrollo de un modelo de
predicción: selección de modelos

Puntos de la curva ROC son distintos niveles de decisión o
valores de corte que permiten una clasificación dicotómica de los
valores de la prueba según sean superiores o inferiores al valor
elegido.

La diferencia esencial con el caso más simple es que ahora no
tenemos un único par de valores de sensibilidad y especificidad que
definan la exactitud de la prueba, sino un conjunto de pares
correspondientes a cada uno de los distintos niveles de decisión.
Pasos para el desarrollo de un modelo de
predicción: selección de modelos

Muestra un balance entre sensibilidad y especificidad  El clasificador
(medido sobre el conjunto de test) es más exacto cuanto más cerca
esté del borde superior izquierdo.

El clasificador (medido sobre el conjunto de test) es tanto más inexacto
cuánto más cerca esté la curva a la diagonal de los 45 grados.

La pendiente de la línea tangente en un punto de corte da la tasa de
verosimilitud (LR) para ese valor del test.

El área bajo la curva es una medida de la calidad del clasificador (AUCROC)
 0.90-1.00 = excelente
 0.80-0.90 = buena
 0.70-0.80 = justa
 0.60-0.70 = pobre
 0.50-0.60 = mala
Pasos para el desarrollo de un modelo de
predicción: selección de modelos
Comparamos distintos clasificadores
Pasos para el desarrollo de un modelo
de predicción: selección de modelos
Curva de campaña

Estamos interesados en detectar los ejemplos más claros de una
clase:
 queremos detectar las personas que dado unos síntomas X
claramente no tienen la enfermedad Y. De esta forma nos
evitamos hacer pruebas médicas innecesarias.

Empresas que quieren retener a los clientes de su cartera actual
(por ej. aseguradora o compañía telefónica. …).


Lanzamos una campaña de marketing en la que se ofertan regalos
a los clientes a cambio de que se queden en la compañia.
No queremos malgastar el dinero asignado a esta campaña de
promoción ofertándoles regalos a clientes que de todas formas se
iban a quedar:

así que detectamos los clientes que tienen más probabilidad de
abandonar la compañía.
Pasos para el desarrollo de un modelo de
predicción: selección de modelos
•¿Cómo de bien el clasificador distingue los casos positivos?
hit _ rate 
%TPprediction
Hit rate = sensitivity
% Pdataset
•Datos son ordenados de acuerdo al resultado del clasificador: probabilidad
de la clase positiva de mayor a menor
•División del conjunto de datos en fracciones (10 es un número aceptado,
10%, 20%, ..., 100%)  hit10%, hit20%, hit30%, ...., hit100%
•La mayor concentración de predicciones positivas estarán en los primeros
quantiles.
Pasos para el desarrollo de un modelo de
predicción: selección de modelos

ANÁLISIS TAMAÑO CAMPAÑA vs ACIERTO
- Procedemos a estudiar el comportamiento de nuestro modelo en
el conjunto de entrenamiento/validación/test.
- Dado un umbral , la regla x <  selecciona N patrones, que
representan un porcentaje del t % (“tamaño de la campaña”).
- De ese número de patrones seleccionado, un porcentaje h1 %
pertenece a la clase que queremos detectar (“tasa de acierto de la
campaña”).
- La curva tamaño campaña vs acierto es el conjunto de todos los
pares
(t, h1 ) que podemos obtener.
Pasos para el desarrollo de un modelo de
predicción: selección de modelos

CÓMPUTO DE LA GRÁFICA TAMAÑO CAMPAÑA vs ACIERTO
1.
Calcular las estimaciones/predicciones de los ejemplos en el conjunto a
estudiar, y ordenarlas de mayor a menor en referencia a las predicciones
positivas.
2.
Inicializar n=1, N1=0 (positiva), N0=0 (negativa)
3.
Si la clase del ejemplo es 1, sumar 1 a N1. Si no, sumarlo a N0.
4.
La campaña con  = zn tiene un tamaño del 100*n / Ndata %, y una
tasa de acierto del 100*N1 / n %.
5.
Si siguen quedando ejemplos de entrenamiento, sumar 1 a n y
volver al punto 3.
Pasos para el desarrollo de un modelo de
predicción: selección de modelos
Pasos para el desarrollo de un modelo de
predicción: selección de modelos

COMBINACIÓN DEL ANÁLISIS CON LA MATRIZ DE COSTO
- Para terminar de ajustar nuestro modelo (umbral de decisión),
deberíamos tener en cuenta el coste total de predicción: nuestro
objetivo es maximizar los beneficios.

En el caso de la predicción de la enfermedad, queremos maximizar la tasa
de acierto en los pacientes que no han desarrollado la enfermedad, a la vez
que minimizamos el número de personas en las que nos equivocamos.

En el caso de la compañía, queremos maximizar los beneficios totales de la
compañía (beneficios que reportan los clientes que se quedan menos costo
de la campaña de publicidad).
-Estos costes / beneficios se obtienen a través de análisis de expertos,
y constituyen nuestra matriz de costo:
Cij: beneficio obtenido al clasificar un patrón de tipo j como i.
Descargar