• No se han encontrado resultados

MÉTODOS AVANZADOS EN APRENDIZAJE ARTIFICIAL:

N/A
N/A
Protected

Academic year: 2022

Share "MÉTODOS AVANZADOS EN APRENDIZAJE ARTIFICIAL:"

Copied!
73
0
0

Texto completo

(1)

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

(2)

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.

(3)

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

(4)

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

(5)

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.

(6)

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

(7)

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”)

(8)

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

(9)

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

(10)

Desarrollo de Algoritmos

Base de datos

Entrenamiento

Respuesta

Explotación del producto final

Nuevos datos

Aprendizaje

¿Qué es aprendizaje automático?

(11)

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

(12)

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.

(13)

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

(14)

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”

(15)

Terminología: Atributos y patrones

Otras propiedades relacionadas con los atributos:

Separabilidad lineal

Separabilidad no lineal

Atributos altamente

correlacionados Multi-modal

(16)

Á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

(17)

Á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

(18)

Á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

(19)

Áreas relacionadas y aplicaciones del reconocimiento de patrones

# variables

# ejemplos

10 102 103 104 105

Bioinformatics

Ecology

OCR HWR Market Analysis

Text

Categorization

Machine Vision

System diagnosis

10 102 103 104 105

(20)

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)

el

“mundo real”

Sistemas de medición

Pre- procesamiento

Reducción de la

dimensionalidad Predicción Selección del modelo

Sensores Cámaras Bases de datos

Eliminación del ruido

Extracción de características Normalización

Selección/proyección de características

Clasificación Regresión Clustering Descripción

Validación cruzada Bootstrap

Resultados del análisis

(21)

Componentes de un sistema de reconocimiento de patrones

el

“mundo real”

Sistemas de medición

Pre- procesamiento

Reducción de la

dimensionalidad Predicción Selección del modelo

Sensores Cámaras Bases de datos

Eliminación del ruido

Extracción de características Normalización

Valores perdidos (missing values) Selección/proyección de características

Clasificación Regresión Clustering Descripción

Validación cruzada Bootstrap

Resultados del análisis

Entorno

(22)

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

(23)
(24)

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.

(25)

Aprendizaje Supervisado: Clasificadores

-0.5

0

0.5

0 -0.5 0.5

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5

X2 X1

X3

x

1

x

2

x

3

x

1

x

2

Frontera de decisión lineal

(26)

Aprendizaje Supervisado: Clasificadores

x

1

x

2

-0.5

0

0.5

-0.5 0

0.5 -0.5 0 0.5

Hs.128749 Hs.234680

Hs.7780

x

1

x

2

x

3

Frontera de decisión no lineal

(27)

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

(28)

•¿Cuántos grupos/clusters?

•¿Cómo sabemos que un determinado agrupamiento/clustering es bueno?

Aprendizaje no Supervisado: Clustering

(29)

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

(30)

DENDROGRAMA EN BIOLOGIA

Aprendizaje no Supervisado: Clustering

(31)

DENDROGRAMA EN BIOLOGIA- Bi-clustering

Aprendizaje no Supervisado: Clustering

(32)

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

(33)

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 (2)

(34)

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]

(35)

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

(36)

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 ?

(37)

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,

• …

- Finalmente encontramos un buen atributo: la intensidad media de las escamas Estos atributos no contienen información discriminatoria

(38)

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%

(39)

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

(40)

Ciclo de diseño de un sistema de

reconocimiento de patrones (9)

(41)

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:

(42)

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

(43)

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

(44)

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.

(45)

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.

(46)

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.

(47)

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

(48)

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

(49)

Pasos para el desarrollo de un modelo de predicción: introducción

Colon cancer, Alon et al 1999

Representación de la Base de datos

Base de datos: X

m filas = patrones n columnas = atributos

X={xij} n

m xi

y={yj}

(50)

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.

(51)

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.

(52)

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.

(53)

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)

(54)

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

(55)

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

Conjunto de entrenamiento: conjunto de datos con el que

Se construyen distintos modelos para resolver el problema

Se seleccionan uno o varios modelos finales

• Objetivo: construcción de un modelo definitivo que responda al problema de predicción planteado con un grado de fiabilidad

determinado

(56)

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

(57)

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:

Creación Conjuntos de Entrenamiento, Validación y Test

(58)

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

(59)

Discriminante Lineal Árboles de decisión

Mezclas de Gausianas Kernel method (SVM)

setosa

virginica versicolor

Representación:

Iris Data Set (Fisher, 1936)

Pasos para el desarrollo de un modelo de

predicción: selección de modelos

(60)

Pasos para el desarrollo de un modelo de predicción: selección de modelos

Métodos Estadísticos

ANÁLISIS ROC: Receiver Operating Characteristic curve

FN TP

Sens TP

FP TN

Spec TN

N P

TP acc TN

TN TP

TP

Recall

FP TP

TP

Precision

¿Cómo de bueno es un clasificador?

Positivo Negativo

(61)

x

1

x

2

Pasos para el desarrollo de un modelo de predicción: selección de modelos

x

1

x

2

f(x) > 0

f(x) < 0

f(x) > 0

f(x) < 0

Variación del umbral  Elección de la frontera de decisión

(62)

x

1

x

2

x

1

x

2

f(x) > -1

f(x) < -1

f(x) > -1

f(x) < -1

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

(63)

x

1

x

2

x

1

x

2

f(x) > 1

f(x) < 1

f(x) > 1

f(x) < 1

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

(64)

curva ROC Ideal (AUC=1)

100%

100%

0  AUC  1

0

Cada punto de la curva ROC

corresponde al resultado para un valor de umbral en f(x)=δ.

TPR, tasa de acierto (“hit rate”),

sensibilidad

FPR, 1-specificity

Pasos para el desarrollo de un modelo de predicción: selección de modelos

Curva ROC

(65)

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.

(66)

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 (AUC- ROC)

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

(67)

Pasos para el desarrollo de un modelo de predicción: selección de modelos

Comparamos distintos clasificadores

(68)

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.

(69)

Pasos para el desarrollo de un modelo de predicción: selección de modelos

•¿Cómo de bien el clasificador distingue los casos positivos?

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

dataset prediction

P rate TP

hit %

_  %

Hit rate = sensitivity

(70)

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.

(71)

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.

(72)

Pasos para el desarrollo de un modelo de

predicción: selección de modelos

(73)

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.

Referencias

Documento similar

La teoría Vygotskyana, ante los datos que aporta la descripción de la con- ducta de Rosalía, construye otro escenario y desde el pueden formularse sus presupuestos. Veamos cómo

[r]

El modelo de planificación de desarrollo de nuevos productos planteado por Hidalgo (2002), mediante la configuración de siete etapas específicas integra de forma ordenada

[r]

[r]

En la presente tesis se ha estudiado distintos aspectos de la producción y uso del biodiésel, desarrollándose varios modelos de predicción, como el Modelo cinético de las

De una paae, el modelo de los determinantes del abandono es complementario a los modelos de toma de decisión (Mabley et al. Si el modelo de Mobley y los modelos

mientras que al utilizar un modelo individual entrenamos un único modelo sobre un único conjunto de datos, en un modelo de ensemble stacking hay varias capas de modelos y los modelos