Este documento se desarrolló a partir de otras fuentes que se encuentran citadas tanto dentro del contenido como en los espacios reservados para la bibliografía. Si usted es autor de los documentos que se tomaron como bibliografía y considera que las referencias a su trabajo no están adecuadamente descritas, por favor comuníquese con el profesor Jonatan Gómez Perdomo a través del correo electrónico:
[email protected].
CONTENIDO MÓDULO 3: MINERÍA DE DATOS Pág. 1. Introducción a la Minería de Datos 1.1 Proceso de descubrimiento de conocimiento 1.2 Aplicaciones de la minería de datos 1.3 Análisis exploratorio de datos
1
2 CRISP 2.1 Elección de un sistema de Minería de Datos 2.2 Ejemplos de Sistemas de Minería de Datos 2.3 CRISP-DM
42
3 Preparación de datos 3.1 Introducción 3.2 Limpieza de Datos 3.3 Integración de Datos 3.4 Transformación de Datos 3.5 Reducción de datos 3.6 Principal Component Analysis PCA
56
4. Reglas de Asociación 4.1 Introducción 4.2 Conceptos Básicos 4.3 El algoritmo “A priori” 4.4 Generación de canidatos 4.5 Ejemplo de generación de candidatos 4.6 Generando Reglas de Asociación desde conjuntos de ítems frecuentes 4.7 Reglas de asociación Múltiple-Nivel 4.8 Minando Multi-nivel con soporte reducido 4.9 Método FP-GROWTH 4.10 Reglas de asociación multidimensionales
102
5 Análisis Supervisado I 5.1 Conceptos básicos de aprendizaje maquinal 5.2 Árboles de decisión y Reglas de Decisión 5.3 Medidas de desempeño
122
6. Análisis Supervisado II 6.1 Introducción 6.2 Redes multicapa 6.3 Entrenamiento 6.4 Aplicaciones 6.5 Generalización y sobre ajuste
140
6.5.1 Error de entrenamiento y prueba 6.5.2 Complejidad del modelo 6.5.3 Control del sobre-ajuste
7. Análisis Supervisado III 7.1 Modelos Bayesianos 7.1.1 Principios de probabilidad 7.1.2 Riesgo y costo 7.2 Clasificador Bayesiano 7.3 Naive Bayes 7.4 Clasificación sensible al costo 7.5 Imbalance de clases
178
8. Regresión y Series de Tiempo
198
9. Análisis No Supervisado: Agrupamiento de Datos (Data Clustering) 9.1 Conceptos básicos 9.2 Medidas de similaridad 9.3 Agrupamiento particional 9.4 Agrupamiento jerárquico 9.5 Agrupamiento basado en densidad
207
10 Análisis no supervisado: agrupamiento 10.1 Medidas de desempeño para agrupamiento 10.2 Otros métodos (en malla, SOM)
260
Minería de Datos II - 2007
Introducción a la Minería de Datos
1
Agenda Proceso de descubrimiento de conocimiento Aplicaciones de la minería de datos Análisis exploratorio de datos
Agenda Proceso de descubrimiento de conocimiento Aplicaciones de la minería de datos Análisis exploratorio de datos
2
Proceso de descubrimiento de conocimiento
Knowledge Discovery en BD & Minería de Datos
KDD Proceso (Donde las bodegas de datos hacen parte del proceso de minería).
Knowledge Discovery en BD & Minería de Datos • Grandes bases de datos contienen información no plenamente explotada (información valiosa (oro!)). Esta información puede ser encontrada entre los datos haciendo uso de minería en los datos.
3
Knowledge Discovery en BD: Definición KDD: Descubrir informacion útil o conocimiento (patrones, asociaciones) desde grandes repositorios de datos.
KDD
Knowledge Discovery en BD: Proceso
1.
Pre-procesamiento de Datos: Limpieza, integración y transformación. Minería de Datos: Uso de métodos inteligentes para extraer conocimiento (búsqueda de oro) . Evaluación de patrones encontrados y presentación
4
Proceso de KDD Evaluación de Patrones
Minería de Datos Seleccionar Datos Relevantes Bodega de Datos
Selección
Limpieza de Datos Integración de datos Bases de Datos
Preprocesamiento Limpieza Bodega
e Integración de Datos
Ruido
edad de 180 años Valores
Perdidos
No tiene edad
5
Preprocesamiento Seleccionar
datos relevantes
Reducir dimensiones Principal
Component Analisis
Entropía
Reducir valores Discretizar
Dar el mismo peso a todas las dimensiones Normalizar
Preprocesamiento Tipos
de datos
Numéricos Categóricos
(ordinales, nominales)
6
Preprocesamiento Edad
<=30 <=30 31…40 >40 >40 >40 31…40 <=30 <=30 >40 <=30 31…40 31…40 >40
Ingresos
Alto Alto Alto Medio Bajo Bajo Bajo Medio Bajo Medio Medio Medio Alto Medio
Estudiante
Crédito
compra _computador
no no no no si si si no si si si no si no
Bueno Excelente Bueno Bueno Bueno Excelente Excelente Bueno Bueno Bueno Excelente Excelente Bueno Excelente
no no si si si no si no si si si si si no
Agenda Proceso de descubrimiento de conocimiento Aplicaciones de la minería de datos Análisis exploratorio de datos
7
Tareas de la Minería de Datos & Aplicaciones
Descripción de clases Sumarizacion/ caracterización de la colección de datos OLAP (On Line Analitical Process) Tendencias Reportes
8
Tareas de la minería de datos
Encontrar Asociaciones Descubrir asociaciones, relaciones / correlaciones entre un conjunto de “ítems”
Id
Ítems
1
{pan, leche}
2
{pan,pañales,cerveza,huevos}
3
{leche, pañales, cerveza, gaseosa}
4
{pan,leche,pañales,cerveza}
5
{pan,leche,pañales,gaseosa}
Interé Interés en analizar los datos para aprender el comportamiento de las compras de sus clientes •Promociones de mercadeo •Manejo de inventario •Relación con el cliente
9
Encontrar Asociaciones
Asociaciones, relaciones / correlaciones en forma de reglas: X⇒Y reglas (registros en BD que satisfacen X, también satisfacen Y)
Transaction ID Items Bought 2000 A,B,C 1000 A,C 4000 A,D 5000 B,E,F
Min. support 50% Min. confidence 50% Frequent Itemset Support {A} 75% {B} 50% {C} 50% {A,C} 50%
For rule A ⇒ C: support = support({A ∪ C}) = 50% confidence = support({A ∪ C})/support({A}) = 66.6%
Encontrar Asociaciones (Aplicaciones) Supermercados (Canasta de mercado) Contratos de Mantenimiento (Que debe hacer el almacén para potenciar las ventas de contratos de mantenimiento)
98%
de la gente que compra llantas y accesorios de autos también obtiene servicios de mantenimiento
Recomendaciones de paginas Web (URL1 & URL3 -> URL5) 60%
de usuarios de la Web quien visita la Pagina A y B compra el ítem T1
10
Clasificación y Predicción
Clasificación: Construir un modelo por cada clase de dato etiquetado usado en el entrenamiento del modelo. Basado en sus características y usado para clasificar futuros datos Predicción: Predecir valores posibles de datos/atributos basados en similar objetos.
Proceso de Clasificación (Paso 1): Construcción del Modelo (Problema de Segunda Clase) Algoritmos de Clasificación
Datos de Entrenamiento
NOMBRE Rango
Mike Profesor Asistente Mary Profesor Asistente Bill Profesor Jim Profesor Asociado Dave Profesor Asistente Anne Profesor Asociado
Años 3 7 2 7 6 3
Ocupado no si si si no no
Clasificador (Modelo)
IF rango = ‘profesor’ OR años > 6 THEN ocupado = ‘yes’
11
Proceso de Clasificación (Paso 2): Uso del Modelo en la Predicción Clasificador Datos de Prueba Rango Años Tom Profesor Asiste 2 Mellisa Profesor Asoci 7 George Profesor 5 Joseph Profesor Asiste 7
Nombre
Datos no vistos (Jeff, Profesor, 4)
Ocupado no no si si
¿Ocupado?
Clasificación y Predicción (árboles de decisión) age <=30 <=30 30…40 >40 >40 >40 31…40 <=30 <=30 >40 <=30 31…40 31…40 >40
Determinar si clientes compraran determinado producto.
income student credit_rating high no fair high no excellent high no fair medium no fair low yes fair low yes excellent low yes excellent medium no fair low yes fair medium yes fair medium yes excellent medium no excellent high yes fair medium no excellent
buys_computer no no yes yes yes no yes no yes yes yes yes yes no
¿Edad?
<=30
30..40 overcast
¿Estudiante? no
si
no
si
si
>40 ¿Crédito? excelente bueno no
si
12
Evaluación del modelo
Basado en el número de registros que fueron clasificados correcta e incorrectamente. Confusion Matrix Accuracy=
Error
Clase predicción
Clase
Número correctos = Total f
rate =
Clase =1
Clase =2
Clase =1
f11
f10
Clase =2
f01
f00
f 11 +f 00 11 +f 10 +f 01 +f 00
f 10 +f 10 Número incorrectos = Total f 11 +f 10 +f 01 +f 00
Clasificación y Predicción (Aplicaciones) Aprobación de créditos Diagnóstico médico Clasificación de documentos de texto (text mining) Recomendación de paginas Web automáticamente Seguridad
13
Regresión
Predicción de una variable real (no categórica ) Variable real -> regresión Variable categórica -> clasificación
Series de tiempo
Predecir valores futuros de acuerdo al tiempo
14
Agrupación Dividir datos sin etiqueta en grupos (clusters) de tal forma que datos que pertenecen al mismo grupo son similares, y datos que pertenecen a diferentes grupos son diferentes 10 9 .7 5 9 .5 9 .2 5 9 8 .7 5 8 .5 8 .2 5 8 7 .7 5 7 .5
Similaridad Medidas
de similaridad/distancia
Dependen
de los tipos de datos
Numéricos:
Distancia Euclidean Binarios
Jaccard Cosine
15
Agrupación - Aplicaciones Procesamiento de Imágenes (segmentar imágenes a color en regiones) Indexamiento de texto e imágenes WWW
Clasificación de paginas Web (usados por motores de búsqueda -Google) Agrupar web log para descubrir grupos de patrones de acceso similares (web usage profiles)
Agrupación - Aplicaciones
Seguridad: Descubriendo patrones de acceso a redes (Detección de intrusos)
16
Aplicaciones de “Web Mining” Personalización automática: Sitios adaptativos facilitan navegación, búsqueda, etc. E-commerce: Sitios Web pueden ser construidos mas amigables Mercadeo Optimizado (publicidad) para negociar productos, servicios e información Mejores Motores de Búsqueda
•Modelo de Datos Relacional •SQL •Algoritmos de asociacion de reglas •Bodegas de Datos •Técnicas escalables
•Técnicas de Diseño de Algoritmos •Análisis de Algoritmos •Estructuras de datos
•Medidas de Similaridad •Agrupamiento Jerárquico •Sistemas IR •Consultas Imprecisas •Datos Textuales •Motores de Búsqueda Web •Teorema de Bayes •Análisis de Regresión •Algoritmo EM •Agrupamiento K-Means •Análisis de Series de Tiempo
•Redes Neuronales •Algoritmos de Árboles de Decisión
17
Técnicas usadas en Minería de Datos
age?
Estadística Árboles de Decisión Redes Neuronales Algoritmos Genéticos Lógica Difusa
<=30
overcast
>40
30..40
student?
credit rating?
yes
no
yes
excellent
fair
no
yes
no
yes
x0
w0
x1
w1
Θj
∑
f output y
xn
Input vector x
wn
weight vector w
weighted sum
Activation function
Naïve Bayes Teorema
de Bayes
P(Y|X) = P(X|Y)·P(Y) / P(X)
Supuesto “Naïve”: independencia de atributos P(x1,…,xk|Y) = P(x1|Y)·…·P(xk|Y)
18
Redes Bayesianas D=Healthy 0.25
E=yes 0.7
diet
exercise
Hb=yes D=healthy
0.2
D=unhealthy
0.85
Hd=yes E=yes D=healthy
0.25
E=yes D=unhealthy
0.45
E=no D=healthy
0.55
E=no D=unhealthy
0.75
Heart disease
Heart burn
CP=yes
Blood pressure Bp=high HD=yes
0.85
HD=no
0.2
Chest pain
HD=yes Hb=yes
0.8
HD=yes Hb=no
0.6
HD=no Hb=yes
0.4
HD=no Hb=no
0.1
Redes Neuronales
19
Ejemplo: Red neuronal
Ejemplo: Red neuronal
20
Algoritmos genéticos
Niches (Optimización multimodal)
Algoritmo ECSAGO (no supervisado) para agrupamiento
Agenda Proceso de descubrimiento de conocimiento Aplicaciones de la minería de datos Análisis exploratorio de datos
21
Motivaciones para el Análisis Exploratorio de Datos (AED) Ayudar a seleccionar la herramienta adecuada para el preprocesamiento o análisis Hacer uso de las habilidades humanas para el reconocimiento de patrones
Las personas pueden reconocer patrones no capturados por las herramientas de análisis
“Una imagen vale más que mil palabras”
Ejemplo: temperatura de la superficie del mar
La siguiente imagen muestra la temperatura de la superficie del mar para julio de 1982
Decenas de miles de puntos de datos son resumidos en una figura simple.
22
¿Qué es el Análisis Exploratorio de Datos (AED)?
Es una aproximación / filosofía para el análisis de datos que emplea una variedad de técnicas en su mayoría gráficas para:
Maximizar el entendimiento de un conjunto de datos Descubrir estructuras subyacentes Extraer variables importantes Detectar valores atípicos y anomalías Probar suposiciones subyacentes
Historia del AED
El trabajo original en AED es Exploratory Data Analysis, Tukey, (1977).
Trabajos destacados:
Data Analysis and Regression, Mosteller and Tukey (1977), Interactive Data Analysis, Hoaglin (1977), The ABC's of EDA, Velleman and Hoaglin (1981)
La mayoría de las técnicas para AED son gráficas con pocas técnicas cuantitativas.
Las gráficas proveen las facilidades al analista de poder revelar los secretos estructurales de los datos y obtener otros nuevos insospechados dentro del estudio de los datos con la combinación de las habilidades reconocimiento natural de patrones que todos poseemos.
23
Técnicas cuantitativas
son un conjunto de procedimientos estadísticos que proveen salidas numéricas o tabulares. Ejemplos de técnicas cuantitativas incluyen:
Pruebas de Hipótesis Análisis de varianza Puntos estimados e intervalos de confianza Mínima regresión cuadrada
El enfoque del AED
Las preguntas de análisis son relevantes en la aproximación clásica estadística.
Lo que distingue a la aproximación del AED es el énfasis en las técnicas gráficas para ganar entendimiento lo que se opone a la aproximación clásica de las pruebas cuantitativas.
La mayoría de los analistas de datos usarán una mezcla de de técnicas gráficas y clásicas cuantitativas para encaminar sus problemas.
24
Técnicas del AED
Las técnicas gráficas que se emplean en AED son simples, y consisten en técnicas de:
Graficar los datos crudos como: histogramas, diagramas de dispersión, etc.
Graficar estadísticas simples como: gráficas de promedio, gráficas de desviación estándar, gráficas de cajas, etc.
Organización de tales diagramas para maximizar la habilidad de reconocimiento natural de patrones, como puede ser la utilización de múltiples gráficas por página.
Objetivos del AED (I) Objetivo primario: Maximizar el entendimiento del analista de un conjunto de datos, capturando la estructura subyacente del conjunto de datos mientras se proveen todos los ítems que un analista quiere extraer del conjunto de datos como:
Una lista de valores atípicos Una interpretación robusta de conclusiones Estimados para parámetros Incertidumbres para esos estimados Una lista ordenada de los factores importantes
25
Preguntas de Análisis (I) Preguntas que responde la exploración de datos : 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
¿Qué es un valor típico? ¿Cuál es la incertidumbre para un valor típico? ¿Cuál es la distribución que mejor se ajusta a un conjunto de números? ¿Qué es un percentil? ¿Tiene el factor algún efecto? ¿Cuáles son los factores más importantes? ¿Cuál es la mejor función para relacionar una variable de respuesta a un conjunto de factores de variables? ¿Cuáles son los valores óptimos para los factores? ¿Se puede separar la señal del ruido en datos dependientes del tiempo? ¿Podemos extraer alguna estructura desde datos multivariados? ¿En los datos hay datos atípicos?
Preguntas de Análisis (II)
El analista debe identificar las preguntas relevantes para su problema Se necesita identificar cuales preguntas necesitan ser respondidas y cuales preguntas no tienen que ver con el problema. Se debe dar prioridad a las preguntas en orden decreciente de importancia. Las técnicas de AED están vinculadas a cada una de éstas preguntas.
26
Estadísticas Descriptivas
Son números que resumen las propiedades de los datos Las propiedades resumidas incluyen:
Ubicación: promedio, mediana, moda Dispersión: desviación estándar
La mayoría de las estadísticas descriptivas pueden ser calculadas en un solo paso a través de los datos
Frecuencia y moda
La frecuencia de un valor de un atributo es el porcentaje de veces que el valor aparece en un conjunto de datos Por ejemplo, dado un atributo “género” y una población representativa de gente, el género “femenino” aparece alrededor del 50% de las veces. La moda es el valor del atributo más frecuente Las nociones de frecuencia y la moda son usadas tipicamente con datos categoricos.
27
Percentiles (I) La noción de un percentil es más útil para datos continuos Dado un ordinal o un atributo continuo x y un número p entre 0 y 100, el p percentil es un valor xp de x tal que el p% de los valores observados de x son menores a xp Para el 50 percentil es el valor de x50% donde el 50% de todos los valores de x son menores a x50%
Percentiles (II)
28
Medidas de Ubicación: Media y Mediana
La media es la medida más común de la ubicación de un conjunto de datos La media es muy sensible a los datos atípicos La mediana es comúnmente usada
Medidas de dispersión: Rango y Varianza
Rango es la diferencia entre el máximo y el mínimo La varianza o desviación estándar es la medida más común de dispersión de un conjunto de puntos.
Este es sensitivo a los datos atípicos, así como las demás medidas que son frecuentemente usadas.
29
Gráfica de Ejecución de Secuencia
Definición: y(i) Vs. i La gráfica se constituye por:
Eje vertical: variable de respuesta Y(i) Eje horizontal: índice i (i = 1, 2, 3, ... )
Gráfica de Ejecución de Secuencia Preguntas La Gráfica de Ejecución de Secuencia puede ser usada para responder las siguientes preguntas:
¿Hay ¿Hay ¿Hay ¿Hay
cambios cambios cambios cambios
de en en en
localización? la variación? la escala? los valores atípicos?
30
Histogramas
Histograma
Muestra la distribución usual de valores de una variable simple. Divide los valores en clases y muestra una gráfica de una barra del número de objetos en cada clase. La altura de cada barra indica el número de objetos La forma del histograma depende del número de clases
Ejemplo: Anchura del pétalo (10 y 20 clases, respectivamente)
Histogramas de dos dimensiones Muestra la unión de distribución de valores de dos atributos Ejemplo: Anchura del pétalo y largo del pétalo
¿Qué nos está diciendo?
31
Histograma El histograma puede ser usado para responder las siguientes preguntas: • ¿De qué tipo es la distribución de la población de donde vienen los datos? • ¿Dónde están ubicados los datos? • ¿Son los datos simétricos o asimétricos? • ¿Hay valores atípicos?
Gráfica de Dispersión Propósito: verifica la relación entre variables Un gráfico de dispersión revela la relación o asociación entre dos variables. Como las relaciones se manifiestan por si solas por una estructura no aleatoria en la gráfica.
32
Gráfica de Dispersión
Relación lineal entre las variables Y y X Esta gráfica de ejemplo revela la relación lineal entre dos variables indicando que un modelo de regresión lineal puede ser apropiado.
Gráfica de Dispersión • • • • •
Preguntas: ¿Están las variables X y Y relacionadas? ¿Están las variables X y Y relacionadas linealmente? ¿Están las variable X y Y relacionadas de manera no lineal? ¿La variación de Y cambia dependiendo a X? ¿Hay valores atípicos?
33
Combinación de gráficas de dispersión
Las gráficas de dispersión pueden ser combinadas en múltiples gráficas por página para ayudar a entender la estructura en un nivel más alto en conjuntos de datos con más de dos variables
Scatter Plot Array of Iris Attributes
34
Gráfica de Dispersión La gráfica de dispersión descubre las relaciones en los datos. “Relaciones” significa que hay algunas asociaciones estructuradas (lineales, cuadráticas, etc.) entre X y Y. Se tiene en cuenta que:
Causalidad implica asociación Asociación no implica causalidad.
Gráficas de caja Propósito: Verificar la ubicación y la variación de los cambios Las gráficas de bloque son una excelente herramienta para trasmitir información de la ubicación y la variación de los conjuntos de datos, particularmente para detectar e ilustrar la ubicación y los cambios de variación entre diferentes grupos de datos.
35
Gráficas de caja
Inventadas por J. Tukey Son otra forma de mostrar la distribución de los datos La siguiente figura muestra la parte básica de una gráfica de caja outlier 10th percentile
75th percentile 50th percentile 25th percentile
10th percentile
Gráficas de caja Las gráficas de caja se conforman por:
Eje Vertical: valores del factor Eje Horizontal: El factor de interés
Mas específicamente:
Se calcula la mediana y los quartiles (el menor quartil es el percentil 25 y el quartil superior es el percentil 75) Se grafica un símbolo en la mediana (o una línea) y se dibuja la gráfica de caja entre el menor y mayor quartil; ésta caja representa el 50% de los datos. Se dibuja una línea desde el menor quartil al punto mínimo y otra línea desde el quartil mayor al máximo punto.
36
Ejemplo de gráficas de caja
Las gráficas de caja pueden ser usadas para comparar atributos
Otras técnicas de visualización
Gráfica de coordenadas paralelas:
Gráficas de estrella
Cada dato se grafica como una linea, con los puntos ubicados de acuerdo al valor de los atributos Aproximación similar a las coordenadas paralelas, pero con un eje radial desde un punto central La línea que conecta los valores de un objeto es un polígono
Chernoff Faces
Esta aproximación asocia cada atributo con una característica de la cara Los valores de cada atributo determinan la apariencia de las características faciales. Cada objeto se convierte en una cara separada Depende de la habilidad humana para distinguir las caras
37
Gráfica de Coordenadas Paralelas para el Conj. IRIS
Gráfica de estrella
Muestra datos multivariados Usa un formato de gráficas múltiples con muchas estrellas en cada página y cada estrella muestra una observación La gráfica de estrella es usada para examinar los valores relativos para un punto de un dato simple y la ubicación de puntos similares o distintos.
38
Gráfica de estrella Preguntas La gráfica de estrella puede ser usada para responder las siguientes preguntas:
¿Qué variables son dominantes para la observación dada? ¿Cuáles observaciones son más similares, i.e., hay agrupamiento de observaciones? ¿Hay valores atípicos?
Chernoff Faces for Iris Data Setosa
Versicolour
Virginica
39
Visualization of the Iris Std. Deviation Matrix
standard deviation
Visualization of the Iris Correlation Matrix
40
Bibliografía NIST/SEMATECH e-Handbook of Statistical Methods, http://www.itl.nist.gov/div898/hand book/
Introduction to Data Mining by Tan, Steinbach, Kumar
NOTAS
41
Minería de Datos II - 2007
Proceso de Minería de Datos
42
Agenda Elección de un sistema de Minería de Datos Ejemplos de Sistemas de Minería de Datos CRISP-DM
Agenda Elección de un sistema de Minería de Datos Ejemplos de Sistemas de Minería de Datos CRISP-DM
43
¿Cómo elegir un sistema de Minería de Datos?
Los sistemas comerciales de Minería de Datos tienen pocas características comunes:
Diferentes funciones y métodos de minería de datos. Casi siempre manejan diferentes tipos de conjuntos de datos.
Para elegir se necesita tener en cuenta múltiples dimensiones ¿Qué tipos de datos se usarán: relacional, transaccional, texto, series de tiempo, espacial? Configuración del sistema:
¿Se utilizará en uno o varios sistemas operativos? ¿Proveerá interfaces basadas en Web y permitirá datos XML como entrada y / o salida? ¿Arquitectura Cliente / Servidor?
¿Cómo elegir un sistema de Minería de Datos?
Fuentes de Datos ¿Archivos de texto ASCII, múltiples fuentes de datos relacionales? ¿Soporte para conexiones ODBC (OLE DB, JDBC)? Funciones de Minería de Datos y metodologías Función única Vs. Múltiples funciones de minería Métodos único Vs. Varios métodos por función Más funciones y métodos por función proveen al usuario mayor flexibilidad y poder de análisis Acoplamiento con sistemas de bases y bodegas de datos. Cuatro formas de acoplamiento: 1. No acoplado 2. Acoplamiento débil 3. Acoplamiento Semi – fuerte 4. Acoplamiento Fuerte
44
¿Cómo elegir un sistema de Minería de Datos?
Escalabilidad
Por Filas (ó tamaño de la base de datos) Por Columnas (ó dimensión) Maldición de la dimensionalidad: es más difícil hacer un sistema escalable por columnas que por filas
Herramientas de Visualización
“Una imagen vale más que mil palabras” Categorías de visualización:
Visualización de datos Visualización de resultados de minería Visualización del proceso de minería Minería de datos visual
Lenguaje de Consulta de Minería de Datos e interfaz de usuario:
Fácil de usar y alta calidad en la interfaz gráfica de usuario Esencial para guiar al usuario Minería de datos muy interactiva
Agenda Elección de un sistema de Minería de Datos Ejemplos de Sistemas de Minería de Datos CRISP-DM
45
Ejemplos de Sistemas de Minería de Datos
IBM Intelligent Miner
SAS Enterprise Miner
Tiene una amplia gama de algoritmos de minería Algoritmos de Minería escalables Toolkits: algoritmos de redes neuronales, métodos estadísticos, preparación de datos, y herramientas de visualización de datos. Acoplamiento ajustado con sistemas de bases de datos relacionales de IBM. Variedad de herramientas de análisis Herramientas de Bodegas de Datos y algoritmos múltiples de minería de datos.
Microsoft SQLServer 2000
Bases de datos integradas y OLAP con Minería Soporte para OLEDB para DM estándar
Ejemplos de Sistemas de Minería de Datos
SGI MineSet
Clementine (SPSS)
Algoritmos múltiples de minería de datos y estadísticas avanzadas. Herramientas de visualización avanzadas Ambiente integrado de minería de datos para usuarios finales y desarrolladores. Algoritmos múltiples de minería de datos y herramientas de visualización.
DBMiner (DBMiner Technology Inc.)
Múltiples módulos de Minería de Datos: discovery - driven OLAP analysis, asociación, clasificación y agrupamiento. Eficiente en: asociación y funciones para reconocimiento de patrones y herramientas visuales para clasificación. Minería tanto en bases de datos relacionales como en bodegas de datos.
46
Agenda Elección de un sistema de Minería de Datos Ejemplos de Sistemas de Minería de Datos CRISP-DM
CRISP-DM: Proceso de Minería de Datos
Cross-Industry Standard Process for Data Mining (CRISP-DM)
Iniciativa financiada por la Comunidad Europea ha unido para desarrollar una plataforma para Minería de Datos.
Objetivos:
Fomentar la interoperabilidad de las herramientas a través de todo el proceso de minería de datos
Eliminar la experiencia misteriosa y costosa de las tareas simples de minería de datos.
47
¿Por qué el proceso debe ser estándar?
Plataforma para almacenar experiencia:
Permite que los proyectos sean replicados.
Ayuda a la planeación y gerencia del proyecto.
“Factor de Comodidad” para nuevos usuarios:
Demuestra la madurez de la minería de datos.
Reduce la dependencia en “estrellas”
El proceso de minería de datos debe ser confiable y repetible por personas con poco conocimiento de minería de datos.
Estandarización del Proceso
CRoss Industry Standard Process for Data Mining (CRISPDM) Inicia en Sept. de 1996 SPSS/ISL, NCR, Daimler-Benz, OHRA Financiado por la Comisión Europea: Red mundial de aproximadamente 200 miembros CRISPDM:
Proveedores de herramientas de Minería de Datos: SPSS, NCR, IBM, SAS, SGI, Data Distilleries, Syllogic, Magnify, .. Proveedores de Sistemas / consultores: Cap Gemini, ICL Retail, Deloitte & Touche, … Usuarios Finales: BT, ABB, Lloyds Bank, AirTouch, Experian, ...
48
CRISP-DM
No - propietario Independiente de la aplicación o la industria. Neutral con respecto a herramientas Enfocado en problemas de negocios así como en el análisis técnico. Plataforma guía Experiencia Base
Plantillas para Análisis
CRISP-DM: Descripción
49
CRISP-DM: Fases 1.
Comprensión del negocio
2.
Comprensión de los datos
3.
Entendimiento de los objetivos y requerimientos del proyecto. Definición del problema de Minería de Datos Obtención conjunto inicial de datos. Exploración del conjunto de datos. Identificar las características de calidad de los datos Identificar los resultados iniciales obvios.
Preparación de Datos
Selección de datos Limpieza de datos
4.
Modelamiento
5.
Evaluación
6.
Implementación en herramientas de Minería de Datos Determinar si los resultados coinciden con los objetivos del negocio Identificar las temas de negocio que deberían haberse abordado
Despliegue
Instalar los modelos resultantes en la práctica Configuración para minería de datos de forma repetida ó continua
Fases y Actividades Comprensión del Negocio •
9 9 9 •
9
9 9 9 •
9 9 •
9 9
Determinar los Objetivos del Negocio Antecedentes Objetivos del Negocio Criterio de Éxito Evaluar la situación Inventario de requerimientos de Recursos, Hipótesis y Limitaciones Riesgos y Contingencias Terminología Costos y Beneficios Determinar el objetivo de Minería de Datos Objetivos de Minería de Datos Criterio de Éxito de Minería de Datos Desarrollar el Plan de Proyecto Plan de proyecto Evaluación inicial de herramientas y técnicas
Comprensión de Datos
•
9
Obtener los datos iniciales Reporte de la obtención de los datos iniciales
Preparación de Datos • •
•
9 •
9
•
9
•
9
Describir los Datos Reporte con la descripción de los datos Explorar de Datos Reporte de la Exploración de Datos Verificar de la calidad de los Datos Reporte de la calidad de los datos
•
9
•
9 9
•
9
•
9
Conjunto de Datos Descripción de los Datos
Modelamiento
•
9
Seleccionar los 9 9 Datos Justificación de la • inclusión / Exclusión Limpiar Datos Reporte de Limpieza de Datos
9
Construir Datos Atributos Derivados Registros Generados
9
Integrar Datos Datos Combinados Dar formato a los Datos Datos Formateados
Seleccionar Técnica de Modelamiento Técnica de Modelamiento Modelamiento Hipótesis Generar el Diseño de Prueba Diseño de Prueba
Evaluación
• 9 9 9 9
Evaluar Resultados Hipótesis de Minería de Datos Resultados w.r.t. Criterio de éxito del negocio Modelos aprobados
Despliegue
• 9
• 9
z •
9
•
9 9
Construir el Modelo Configuración de los parámetros del Modelo Descripción del Modelo
•
Evaluar el Modelo Evaluación del Modelo Revisión de la configuración de los parámetros del modelo
9
9 •
9
Revisar el Proceso Revisión del Proceso Determinar los siguientes pasos Lista de Posibles Acciones Decisión
9 9
z
9
Desplegar el Plan Plan de Despliegue Monitorear y Mantener Plan de monitoreo y mantenimiento Desarrollar el reporte final Reporte Final Presentación Final Revisión del Proyecto Documentación de las experiencias
50
Fases en el proceso de DM (1 y 2)
Comprensión del negocio:
Enunciar los objetivos del negocio Enunciar los objetivos de Minería de Datos Enunciar el criterio de éxito
Comprensión de datos
Explorar los datos y verificar su calidad Encontrar datos atípicos
Fases en el proceso de DM(3) Preparación de Datos: Usualmente consume alrededor del 90% del tiempo
Obtención Evaluación Consolidación y Limpieza
Tablas enlazadas, nivel de agregación, valores perdidos, etc.
Selección de Datos ¿Se ignoran los datos de carácter no contributivo? ¿Datos atípicos? Usar ejemplos Herramientas de Visualización Transformaciones - crear nuevas variables
51
Fases en el proceso de DM(4)
Construir el Modelo
Selección de las técnicas de modelamiento basándose en el objetivo de minería de datos. El modelamiento es un proceso iterativo (no es igual para el aprendizaje supervisado y no supervisado) Se puede modelar descripción o predicción
Tipos de Modelos
Modelos Predictivos para Regresión y Clasificación
Algoritmos de Regresión (Predicción de resultados numéricos): redes neuronales, Reglas inductivas, CART OLS regression, GLM. Algoritmos de clasificación (Predicen resultados simbólicos): CHAID, C5.0 (discriminant analysis, logistic regression).
Modelos Descriptivos para Agrupamiento y Búsqueda de Asociaciones:
Algoritmos de Agrupamiento: Kmeans, Kohonen. Algoritmos de Asociación:
A priori, GRI.
52
Fases en el proceso de DM(5)
Evaluación del Modelo
¿Qué tan bien funciona con datos de prueba? Los métodos y el criterio depende del tipo de modelo:
Ejemplo: Matriz de confusión en los modelos de clasificación, rata de error promedio en los modelos de regresión.
Interpretación del Modelo:
¿Es importante o no? Puede ser fácil o difícil depende del algoritmo.
Fases en el proceso de DM(6)
Despliegue
Determinar la forma en que los resultados deben ser utilizados ¿Quién necesita usarlos? ¿Qué tan frecuentemente se necesita usarlos?
Despliegue de los resultados de Minería de Datos por:
Puntuación de la base de datos. Utilización de los resultados como reglas del negocio on-line scoring interactivo.
53
CRISP-DM: Detalles
Disponible en línea: www.crisp-dm.org
20 páginas del modelo (descripción)
30 páginas de guía para el usuario (proceso paso a paso)
10 páginas “salida” (esbozo de un informe sobre un proyecto de minería de datos)
Tiene SPSS por todo lado
Pero no es dependiente de las herramientas de SPSS
¿Por qué CRISP-DM?
El proceso de minería de datos debe ser confiable y reproducible por personas con poco conocimiento sobre minería de datos.
CRISP-DM provee una plataforma uniforme para:
Directrices
Documentación de experiencias
CRISP-DM es flexible para tener en cuenta las diferencias:
Problema de Negocios y organizaciones diferentes
Datos Diferentes
54
Bibliografía
Clifton, Chris. “CS590D: Data Mining” http://www.cs.purdue.edu/homes/clifton/cs590d/
“The CRISP-DM Model: The New Blueprint for DataMining”, Colin Shearer, JOURNAL of Data Warehousing, Volume 5, Number 4, p. 13-22, 2000
P. Chapman et al., “CRISP-DM 1.0: Step-by-step data mining guide,” SPSS Inc (2000), http://www.crisp-dm.org/CRISPWP-0800.pdf
NOTAS
55
Minería de Datos II - 2007
Preparación de datos
56
Introducción
Evaluación de Patrones
Datos Preprocesdados
Fuente de Datos
PROBLEMA DE KDD
Introducción
D. Pyle, 1999, pp. 90: “El propósito fundamental de la preparación de los datos es la manipulación y transformación de los datos sin refinar para que la información contenida en el conjunto de datos pueda ser descubierta o estar accesible de forma más fácil.”
57
Introducción Preparación de Datos
60
Esfuerzo %
50 40 30
Determinación de Objetivos
Minería de Datos
20
Evaluación de Modelos
10 0
Determinación de Ojetivos
Minería de Datos
Importancia
Datos malos Æ extracción de patrones/reglas malas (poco útiles).
Datos Incompletos: falta de valores de atributos, … Datos con ruido Datos inconsistentes (incluyendo discrepancias)
58
Importancia
Reducción del tamaño del conjunto de datos Æ posible mejora de la eficiencia del proceso de Minería de Datos.
Selección de datos relevantes: eliminando registros duplicados, eliminando anomalías, … Reducción de Datos: Selección de características, muestreo o selección de instancias, discretización.
Importancia
Datos de calidad Æ posible generación de patrones/reglas de calidad.
Recuperar información incompleta. Eliminar outliers Resolver conflictos, …
Decisiones de calidad deben ser basadas en datos de calidad.
Hecho: La preparación de datos (limpieza, transformación, ….) puede llevar la mayor parte del tiempo de trabajo (hasta un 90%).
59
Componentes de la Preparación de Datos
Engloba
que permiten
Técnicas de análisis de datos Mejorar la calidad de un conjunto de datos
Con el objetivo de
Permitir a las técnicas de minería de datos obtener mayor y mejor información (mejor porcentaje de clasificación, reglas con más completitud, etc.)
Componentes de la Preparación de Datos Limpieza de Datos Integración de Datos Uno, dos, tres, cuatro, cinco
1, 2, 3, 4, 5
Transformación de Datos Reducción de Datos
60
Limpieza de Datos
Resuelve redundancias consecuencia de la integración Chequea y resuelve problemas de ruido, valores perdidos, elimina outliers, … Resuelve inconsistencias/conflictos entre datos
Bibliografía: W. Kim, B. Choi, E-K. Hong, S-K. Kim. A Taxonomy of Dirty Data. Data Mining and Knowledge Discovery7, 8199, 2003.
Limpieza de Datos: Valores Perdidos
Existen muchos datos que no contienen todos los valores para las variables.
Inferirlos Ignorarlos
Ignorarlos: No usar los registros con valores perdidos
Ventaja: Es una solución fácil Desventajas:
Perdida de mucha información disponible en esos registros No es efectiva cuando el porcentaje de valores perdidos por variable es grande.
61
Limpieza de Datos: Valores Perdidos
Inferirlos: Usar algún análisis estadístico
Valor medio del atributo para todos los ejemplos pertenecientes a la misma clase: missing value Valor más probable: se realiza una estimación/imputación del valor
Frecuencia Distancia Otros..
Ejemplo: el valor del patrón mas cercano de la misma clase. Asignar un valor especial exclusivo.
Limpieza de Datos: Outliers
Objetos/datos con características que son considerablemente diferentes de la mayoría del conjunto.
62
Limpieza de Datos: Ruido
Suavizamiento (Smoothing)
Limpieza de Datos: Ruido
Inconsistencia Número de hijos = 3 Edad = 2
63
Integración de Datos
Obtiene los datos de diferentes fuentes de información Resuelve problemas de representación y codificación Integra los datos desde diferentes tablas para crear información homogénea, ...
Bibliografía: E.Schallehn, K. Sattler, G. Saake. Efficient Similarity Based Operations for Data Integration. Data And Knowledge Engineering 48:3, 351-387, 2004.
Integración de Datos
Diferentes escalas
Atributos derivados
Pesos vs Dolares Salario Mensual vs Salario Anual
Solución
Procedimientos semi-automáticos ETL Minería
64
Transformación de Datos
Los datos son transformados o consolidados de forma apropiada para la extracción de información. Diferentes vías:
Sumarización de datos Operaciones de agregación, etc.
Bibliografía: T. Y. Lin. Attribute Transformation for Data Mining I: Theoretical Explorations. International Journal of Intelligent Systems 17, 213222, 2002.
Transformación de Datos: Normalización
Normalización min-max
Normalización z-score
65
Transformación de Datos: Normalización
Normalización por escala decimal
Donde j es el entero más pequeño tal que Max (| v’|) < 1
Reducción de Datos
Agrupamiento – Compactación Discretización Selección de características Selección de Instancias
66
Reducción de Datos
Agrupamiento – Compactación Discretización Selección de características Selección de Instancias
Reducción de Datos: Agrupamiento
Compactación vía análisis de clusters
67
Reducción de Datos
Agrupamiento – Compactación Discretización Selección de características Selección de Instancias
Bibliografía: H. Liu, F. Hussain, C.L. Tan, M. Dash. Discretization: An Enabling Technique. Data mining and Knowledge Discovery 6, 393-423, 2002. F. Berzal, J.C. Cubero, N. MarinD. Sánchez. Buildingmulti-way decision trees with numerical attributes. Information Sciences 165 (2004) 73– 90.
Reducción de Datos: Discretización
Divide el rango de atributos continuos en intervalos Almacena solo las etiquetas de los intervalos Importante para reglas de asociación y clasificación, algunos algoritmos solo aceptan datos discretos.
68
Reducción de Datos: Discretización
Ejemplo:
Edad (0-14 años)
Edad # de Autos
1 0 0
1 4 0
Edad (16-24 años)
… 1 … 5 1
2 0 0
2 3 1
2 4 0
… 2 … 5 1
Edad (25 - 65 años)
2 7 0
2 9 2
3 1 1
4 3 3
5 0 2
… 6 … 5 4
Reducción de Datos: Discretización Distribución de Peso
Frecuencia
20 15 10 5 74
72
70
68
66
64
62
60
58
56
54
52
50
0 Peso Peso (50 – 58 Kg)
Peso (59 – 67 Kg)
Peso ( > 68 Kg)
69
Reducción de Datos: Discretización
Igual amplitud
Frecuencia
Distribución de Temperatura 8 6 4 2 0 [64,,,67) [67,,,70) [70,,,73) [73,,,76) [76,,,79) [79,,,82) [82,,,85] Temperatura Valores de Temperatura: 63, 65, 66, 67, 70,70, 71, 71, 72, 72, 73, 73, 74, 75, 76, 76, 82, 82, 83, 84,85, 85
Reducción de Datos: Discretización Problemas Igual Amplitud Ingresos Mensuales 25 Frecuencia
20 15 10 5 0 [0 - 5'000,000)
[5'000,000 10'000,000)
[10'000,000 15'000,000]
Ingresos
70
Reducción de Datos: Discretización
Igual Frecuencia Distribución de Temperatura 6 Frecuencia
4 2 0
63,,,70
71,,,73
74,,,82
83,,,85
Temperatura en ºC Valores de Temperatura: 63, 65, 66, 67, 70,70, 71, 71, 72, 72, 73, 73, 74, 75, 76, 76, 82, 82, 83, 84,85, 85
Reducción de Datos: Discretización
Ventajas de la igualdad en frecuencia
Evita desequilibrios en el balance o entre valores En la práctica permite obtener puntos de corte mas intuitivos.
Consideraciones adicionales:
Se deben crear cajas para valores especiales Se deben tener puntos de corte interpretables
71
Reducción de Datos: Discretización - BIN
Valores numéricos que pueden ser ordenados de menor a mayor Particionar en grupos con valores cercanos Cada grupo es representado por un simple valor (media, la mediana o la moda) Cuando el numero de bins es pequeño, el limite mas cercano puede ser usado para representar el bin
Reducción de Datos: Discretización - BIN
Ejemplo: f = {3, 2, 1, 5, 4, 3, 1, 7, 5, 3} ordenado f= {1, 1, 2, 3, 3, 3, 4, 5, 5, 7} particionando en 3 BINs: {1, 1, 2, 3, 3, 3, 4, 5, 5, 7} representacion usando la moda: {1, 1, 1, 3, 3, 3, 5, 5, 5, 5}
72
Reducción de Datos: Discretización - BIN
usando media: {1.33, 1.33, 1.33,
3, 3, 3,
5.25, 5.25, 5.25, 5.25}
Remplazando por el limite mas cercano: {1, 1, 2,
3, 3, 3,
4, 4, 4, 7}
Problema de optimización en la selección de k bins, dado el numero de bins k: distribuir los valores en los bins para minimizar la distancia promedio entre un valor y la media o mediana del bin.
Reducción de Datos: Discretización - BIN
Algoritmo Ordenar valores Asignar aproximadamente igual numero de valores (vi) a cada bin (el numero de bins es parámetro) Mover al borde el elemento vi de un bin al siguiente (o previo) si la distancia de error (ER) es reducida. (ER es la suma de todas las distancias de cada vi a la media o moda asignada al bin)
73
Reducción de Datos: Discretización - BIN 1. 2. 3. 4.
Ejemplo: f = {5, 1, 8, 2, 2, 9, 2, 1, 8, 6} Particionar en 3 bins. Los bins deben ser representados por sus modas. f ordenado ={1, 1, 2, 2, 2, 5, 6, 8, 8, 9} Bins iniciales = {1, 1, 2, 2, 2, 5, 6, 8, 8, 9} Modas = {1, 2, 8} Total ER = 0+0+1+0+0+3+2+0+0+1 = 7
Después de mover dos elementos del bin2 al bin1, y un elemento del bin3 al bin2: f ={1, 1, 2, 2, 2 Modas = {2, 5, ER = 4
5, 6,
8, 8, 9}
8}
Cualquier movimiento de elementos incrementa ER
Reducción de Datos: Discretización
Mas allá de los intervalos de igual amplitud o frecuencias: Algoritmos no supervisados: Intervalores de igual amplitud Intervalos de igual frecuencia Clustering ….. Algoritmos supervisados: Basados en Entropía [Fayyad & Irani and others, 1993] Metodos Chi-square [Kerber 92]
74
Reducción de Datos: Discretización Discretización sin el uso de clases DATOS Intervalo de Igual Amplitud
Reducción de Datos: Discretización Discretización sin el uso de clases DATOS Intervalo de Igual Frecuencia
75
Reducción de Datos: Discretización Discretización sin el uso de clases DATOS K - Means
Reducción de Datos: Discretización
Discretización utilizando clases (basado en entropía)
5 Clases para las variables X y Y
3 Clases para las variables X y Y
76
Reducción de Datos
Agrupamiento – Compactación Discretización Selección de características Selección de Instancias
Bibliografía: H. Liu, H. Motoda. Feature Selection for Knowledge Discovery and Data Mining. Kluwer Academic, 1998. H. Liu, H. Motoda (Eds.) Feature Extraction, Construction, and Selection: A Data Mining Perspective, Kluwer Ac., 1998.
Reducción de Datos: Selección de Características
La SC pretende elegir atributos que sean relevantes para una aplicación y lograr el máximo rendimiento con el mínimo esfuerzo. El resultado de la SC sería:
Menos datos → los algoritmos pueden aprender más rápidamente Mayor exactitud → el clasificador generaliza mejor Resultados más simples → más fácil de entender
SC y Transformación (extracción y construcción)
77
Reducción de Datos: Selección de Características Variable 6
Variable 1 1
2
a
5
b
3
4
5
6
50
4,4 100,12
0
0,001
6
51
5,4 100,12
1
1,001
c
7
52
6,4 100,12
0
2,001
d
8
53
7,4 100,12
1
3,001
e
9
54
8,4 100,12
0
4,001
Reducción de Datos: Selección de Características
La SC se puede considerar como en problema de búsqueda {} {1}
{1,2}
{2}
{3}
{4}
{1,3}
{2,3}
{1,4}
{2,4}
{1,2,3}
{1,2,4}
{1,3,4}
{2,3,4}
{3,4}
{1,2,3,4}
78
Reducción de Datos: Selección de Características
Distintas Clasificaciones.
Reducción de Datos: Selección de Características Algoritmos de Ranking
Devuelven una lista de atributos ordenados según algún criterio de evaluación.
ENTRADA: X Atributos, C criterio de Evaluación LISTA = {} PARA CADA ATRIBUTO xi, i Є {1, …, N}
Vi= Calcular(xi, C) Insertar xi en la LISTA según Vi SALIDA: Lista (ordenada por releavancia de atributos)
79
Reducción de Datos: Selección de Características Algoritmos Subconjunto de Atributos
Devuelven un subconjunto de atributos optimizado según algún criterio de evaluación. ENTRADA: X Atributos, U criterio de Evaluación SUBCONJUNTO = {} REPETIR SK = GenerarSubconjunto(x) Si existeMejora (S, SK , U) Subconjunto = SK HASTA (Criterio de Parada ) SALIDA: Lista (ordenada por releavancia de atributos)
Reducción de Datos: SC usando Entropía
Para enumerar dimensiones (ranking) Basado en la medida de similaridad (inversa a la distancia) S ij = e
−αD ij
where Dij
⎛ n ⎞ S ij = ⎜ ∑ x ik = x jk ⎟ / n ⎝ k =1 ⎠
es la dis tan cia euclidiana α = −(ln 0.5) / D Hamming similarity (variables nominales)
F1
F2
F3
R1
A
X
1
R1
R2
B
Y
2
R2
R3
C
Y
2
R3
R4
B
X
1
R4
R5
C
Z
3
R1
R2
R3
R4
R5
0/3
0/3
2/3
0/3
2/3
2/3
0/3
0/3
1/3 0/3
similaridades
80
Reducción de Datos: SC usando Entropía Distribución de las similaridades es una característica de la organización y orden de los datos en el espacio de n-dimensiones Criterio para excluir dimensiones: cambios en el nivel del orden en los datos Cambios medidos con entropía Entropía es una medida global que es menor para configuraciones ordenadas y grande para configuraciones desordenadas
Reducción de Datos: SC usando Entropía
Compara la entropía antes y después de remover una dimensión Si las medidas son cercanas, el conjunto de datos reducido aproxima el original conjunto de datos Entropía: N −1
E = −∑
∑ ((S N
i =1 j =i +1
ij
× log(Sij )) + ((1 − Sij ) × log(1 − Sij )) )
Similaridad entre xi y xj
El algoritmo esta basado en “sequential backward ranking” La entropía es calculada en cada iteración para decidir el “ranking” de las dimensiones. Las dimensiones son gradualmente removidas
81
Reducción de Datos: SC usando Entropía 1. 2. 3.
Algoritmo Comienza con todo el conjunto de datos F EF = entropía de F Por cada dimensión f Є F,
4.
Remover una dimensión f de F y obtener el subconjunto Ff EFf = entropía de Ff Si (EF - EFf ) es mínima Actualizar el conjunto de datos F = F – f f es colocada en la lista “rankeada”
Repetir 2-3 hasta que solo haya una dimensión en F
Reducción de Datos: SC usando Entropía
El proceso puede ser parado en cualquier iteración y las dimensiones son seleccionadas de la lista. Desventaja: complejidad Implementación paralela
82
Principal Component Analysis - PCA
Vectores propios (Eigenvectors) son casos especiales de multiplicación de matrices:
⎛2 ⎜⎜ ⎝2 ⎛2 ⎜⎜ ⎝2
Matriz de transformación
3 ⎞ ⎛ 1 ⎞ ⎛11⎞ ⎟×⎜ ⎟ = ⎜ ⎟ 1 ⎟⎠ ⎜⎝ 3 ⎟⎠ ⎜⎝ 5 ⎟⎠ 3 ⎞ ⎛ 3 ⎞ ⎛12 ⎞ ⎛ 3⎞ ⎟⎟ × ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ = 4 × ⎜⎜ ⎟⎟ 1⎠ ⎝ 2⎠ ⎝ 8 ⎠ ⎝ 2⎠ Vector transformado en su posición original de transformación
No es múltiplo del vector original
Cuatro veces el vector original
Eigenvector
PCA: Propiedades de eigenvectors Se encuentran para matrices cuadradas No todas las matrices cuadradas tienen eigenvectors Si una matriz nXn tiene eigenvectors, entonces tiene n eigenvectors Los eigenvectors son perpendiculares (ortogonales)
83
PCA: Propiedades de eigenvectors
Escalar el eigenvector a longitud 1 (estándar)
⎛ 3⎞ ⎜⎜ ⎟⎟ longitud ⎝ 2⎠ el vector con
(
)
longitud
1
es : 32 + 2 2 = 13 es :
⎛ 3 ⎞ ⎜ 13 ⎟ ⎜2 ⎟ ⎜ ⎟ 13 ⎠ ⎝
PCA – Valores propios (Eigenvalues) Eigenvalue asociado con el eigenvector
⎛ 3⎞ ⎛ 2 3 ⎞ ⎛ 3 ⎞ ⎛12 ⎞ ⎟⎟ × ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ = 4 × ⎜⎜ ⎟⎟ ⎜⎜ ⎝ 2⎠ ⎝ 2 1⎠ ⎝ 2⎠ ⎝ 8 ⎠
84
PCA – Eigenvalues Taller
⎛ 3 0 1 ⎞ ⎜ ⎟ ⎜− 4 1 2 ⎟ ⎜ − 6 0 − 2⎟ ⎝ ⎠ Cual de los siguientes vectores son eigenvectors de la matriz? Cual es su correspondiente eigenvalue?
⎛2⎞ ⎜ ⎟ ⎜2⎟ ⎜ − 1⎟ ⎝ ⎠
⎛ − 1⎞ ⎜ ⎟ ⎜0⎟ ⎜2⎟ ⎝ ⎠
⎛ − 1⎞ ⎜ ⎟ ⎜1⎟ ⎜3⎟ ⎝ ⎠
⎛0⎞ ⎜ ⎟ ⎜1⎟ ⎜0⎟ ⎝ ⎠
⎛ 3⎞ ⎜ ⎟ ⎜ 2⎟ ⎜1⎟ ⎝ ⎠
Principal Component Analysis
Reduce el número de dimensiones (compresión) sin mucha perdida de información
85
PCA: Método (Ejemplo) 1.
Restar la media
x = 1.81
y = 1.91
PCA: Método (Ejemplo) 2.
Calcular la matriz de covarianzas
⎛ 0.616555556 0.615444444 ⎞ ⎟⎟ cov = ⎜⎜ ⎝ 0.615444444 0.716555556 ⎠
86
PCA: Método (Ejemplo) 3.
Calcular eigenvectors y eigenvalues de la matriz de covarianzas.
⎛ 0.0490833989 ⎞ ⎟⎟ eigenvalues = ⎜⎜ 1 . 28402771 ⎠ ⎝ ⎛ − 0.735178656 − 0.677873399 ⎞ ⎟⎟ eigenvectors = ⎜⎜ 0 . 677873399 − 0 . 735178656 ⎝ ⎠ Método para calcular eigenvectors= Jacobi (Investigar)
PCA: Método (Ejemplo) Menos importante Eigenvectors (perpendicular)
Entre los puntos. Los puntos están relacionados con esta línea
87
PCA: Método (Ejemplo) Escoger componentes y formar vector (feature vector)
4.
•
Ordenar de eigenvalues de mayor a menor (orden de significancia) Valores pequeños de eigenvalues indican que el eigenvector es menos importante.
⎛ 0.0490833989 ⎞ ⎟⎟ eigenvalues = ⎜⎜ ⎝ 1.28402771 ⎠
⎛ − 0.735178656 − 0.677873399 ⎞ ⎟⎟ eigenvectors = ⎜⎜ ⎝ 0.677873399 − 0.735178656 ⎠ Componente Principal (mayor eigenvalue)
PCA: Método (Ejemplo)
Cuantos componentes principales son necesarios para tener una buena representación de los datos? Analizar la proporción de la varianza (eigenvalues). Dividiendo la suma de los primeros m eigenvalues por la suma de todos los eigenvalues
⎛ m ⎞ ⎜ ∑ λi ⎟ R = ⎝ i =n1 ⎠ ⎛ ⎞ ⎜ ∑ λi ⎟ ⎝ i =1 ⎠
90% es considerado bueno
88
PCA: Método (Ejemplo) 5.
Derivar nuevo conjunto de datos Datos ajustados usando la media
X
Matriz de eigenvectors
PCA: Método (Ejemplo) Nuevo conjunto usando los dos eigenvectors
89
PCA: Obtener el original conjunto de datos Nuevo conjunto X (eigenvector matrix)-1 Nuevo conjunto X (eigenvector matrix)T
PCA: Obtener el original conjunto de datos
90
Reducción de Datos
Agrupamiento – Compactación Discretización Selección de características Selección de Instancias
Bibliografía: T. Reinartz. A Unifying Viewon Instance Selection. Data Mining and Knowledge Discovery 6, 191-210, 2002.
Reducción de Datos Selección de Instancias
La SI pretende elegir los ejemplos que sean relevantes para una aplicación y lograr el máximo rendimiento. El resultado de la SC sería: Menos datos → los algoritmos pueden aprender más rápidamente Mayor exactitud → el clasificador generaliza mejor Resultados más simples → más fácil de entender SI y Transformación (compactación/agrupamiento)
91
Reducción de Datos Selección de Instancias Diferentes tamaños:
500 Puntos
2000 Puntos
8000 Puntos
Reducción de Datos
Selección de Instancias
Muestreo Selección de Prototipos o Aprendizaje basado en Instancias Aprendizaje Activo
92
Reducción de Datos
Selección de Instancias MUESTREO
Sin Reemplazamiento
z n la Co mp e Re
o nt e i am
DATOS ORIGINALES
Reducción de Datos
Selección de Instancias: Muestreo DATOS ORIGINALES
Reducción Simple
93
Reducción de Datos
Selección de Instancias Selección de Prototipos Se basa en:
Eliminación Ordenada
Reglas NN
Muestreo Aleatorio
Algoritmos Evolutivos
Reducción de Datos
Selección de Instancias
94
Reducción de Datos
Selección de Instancias
Reducción de Datos
Selección de Instancias
95
Reducción de Datos
Selección de Instancias
Reducción de Datos Selección de Instancias. Selección de Prototipos
COJUNTO DE DATOS
Para Clasificación con 1-NN Conjunto de Entrenamiento (TR)
Algoritmo de Selección de Prototipos
Prototipos Seleccionados (TSS)
Conjunto de Prueba (TS)
Clasificador 1 - NN
96
Reducción de Datos Selección de Instancias. Selección de Conjuntos de Entrenamiento.
COJUNTO DE DATOS
Para Selección de Conjuntos de Entrenamiento Conjunto de Entrenamiento (TR)
Algoritmo de Selección de Prototipos
Prototipos Seleccionados (TSS) Algoritmo de Minería de Datos Conjunto de Prueba (TS)
Modelo Encontrado
Reducción de Datos Selección de Instancias. Eficiencia
El orden de los algoritmos es superior a O(n2) y suele estar en orden O(n3) .Las principales dificultades que deben afrontar los algoritmos de Selección de Prototipos son: Eficiencia, recursos, generalización, representación.
¿Cómo realizar la selección de instancias con grandes bases de datos? Combinamos una estrategia de estratificación con los algoritmos de selección de instancias.
97
Reducción de Datos
Selección de Instancias en grandes Bases de Datos a través de estrategia de Estratificación. [CANO, 2005]
COJUNTO DE DATOS
T1 IS
T2 IS
T3
…
IS
Tt IS
TSS2
TSS3
…
TSSt
TR1
TR2
TR3
…
TRt
TS1
TS1
TS1
…
TS1
TSS1
Reducción de Datos Selección de Instancias Conjuntos de datos no balanceados
Algunos problemas tienen una presencia de las clases desigual:
Diagnosis médica: 90% sin-enfermedad, 10% enfermedad e-comercio: 99% no-compra, 1% compra seguridad: >99.99% de conexiones no son ataques La situación es similar con múltiples clases La mayoría de los clasificadores obtienen un 97% de clasificación correcta, pero no son útiles
¿Cómo se procesan las clases no balanceadas?
Utilizar técnicas de reducción de datos para balancear las clases reduciendo las clases mayoritarias. Realizar sobre muestreo para balancear aumentar el tamaño de las clases minoritarias. test
98
Bibliografía
Jiawei Han and Micheline Kamber “Data Mining: Concepts and Techniques”, The Morgan Kaufmann Series in Data Management Systems, Jim Gray, Series Editor Morgan Kaufmann Publishers, August 2000. 550 pages. ISBN 1-55860-489-8
Bibliografía
“Data Mining: Practical Machine Learning Tools and Techniques” (Second Edition) Ian H. Witten, Eibe Frank Morgan Kaufmann June 2005 525 pages Paper ISBN 0-12-088407-0
99
Bibliografía
Pang-NingTan, Michael Steinbach, and VipinKumar “Introduction to Data Mining” (First Edition) Addison Wesley, May 2, 2005
Bibliografía Dorian Pyle “Data Preparation for Data Mining” Morgan Kaufmann, Mar 15, 1999 MamdouhRefaatData Fayyad and K.B. Irani. Multi-interval discretization of continuous-valued attributes for classification learning. Proc. 13th Int. Joint Conf. AI (IJCAI-93), 1022-1027. Chamberry, France, Aug./ Sep. 1993.
100
Bibliografía
MamdouhRefaat “Data Preparation for Data Mining Using SAS” Morgan Kaufmann, Sep. 29, 2006
Bibliografía J.R. Cano, F. Herrera, M. Lozano. Stratification for Scaling Up Evolutionary Prototype Selection. Pattern Recognition Letters 26:7 (2005) 953-963. R. Kerber. ChiMerge: Discretization of numeric attributes. Proc. 10th Nat. Conf. AAAI, 123-128. 1992.
101
Minería de Datos II - 2007
203
Reglas de Asociación
204
102
Introducción En base de datos transaccional, cada transacción puede contener una lista de ítems (comprados por un cliente) Encontrar patrones, asociaciones, correlaciones o estructuras casuales entre los conjuntos de “ítems” u objetos en bases de datos transaccionales, relacionales y otros repositorios
Introducción Transacciones “market basket”
Id
Ítems
1
{pan, leche}
2
{pan, pañales, cerveza, huevos}
3
{leche, pañales, cerveza, gaseosa}
4
{pan, leche, pañales, cerveza}
5
{pan, leche, pañales, gaseosa}
Interé Interés en analizar los datos para aprender el comportamiento de las compras de sus clientes •Promociones de mercadeo •Manejo de inventario •Relación con el cliente
Ítems comprados por cliente
103
Introducción Metodología de análisis de asociaciones: usada para descubrir relaciones interesantes ocultas en largos conjuntos de datos Aplicaciones
Análisis de las transacciones comerciales Predicción Personalización Etc.
Reglas de asociación
Encontrar: todas las reglas que correlacionan la presencia de un conjunto de ítems con otro conjunto de ítems
98% de las personas que compran llantas y accesorios de autos también adquieren servicios para autos 60% de usuarios de la Web que visitan la Pagina A y B compran el ítem T1
Aplicaciones
Convenios de mantenimiento Recomendaciones en Web (URL1 y URL3 -> URL5)
104
Reglas de asociación
Las relaciones pueden ser representadas en forma de:
Reglas de asociación Conjunto de ítem frecuentes
Reglas de asociación
Ejemplos. Regla: “Antecedente. → Consecuente. [suporte, confidencia]” Compra (x, “pañales”) → compra (x, “cerveza”) [0.5%, 60%]
105
Medidas de la regla: Soporte y Confianza
Encontrar reglas X & Y ⇒ Z con mínimo % de confianza y soporte (umbrales)
soporte, s: probabilidad que una transacción contiene {X ∪ Y ∪ Z} confianza, c: probabilidad condicional de que una transacción que tiene {X ∪ Y} también contenga Z.
Soporte y Confianza
Soporte: Usado para eliminar reglas no interesantes.
Confianza: mide que tan fiable es la inferencia hecha por la regla.
106
Ejemplo ID Transacción ítems comprados 2000 A,B,C 1000 A,C 4000 A,D 5000 B,E,F soporte mínimo 50%, confianza mínima 50%, A ⇒ C (?, ?) C ⇒ A (?, ?)
Ejemplo Soporte mínimo 50% Confianza mínima 50%
ID Transacción ítems comprados
2000 1000 4000 5000
A,B,C A,C A,D B,E,F
Para la regla A ⇒ C:
Conjunto de ítems frecuentes Soporte
{A} {B} {C} {A,C}
75% 50% 50% 50%
soporte = soporte({A ∪ C}) = 50% confianza = soporte({A ∪ C})/soporte({A}) = 66.6%
Para la regla C ⇒ A soporte = soporte({C ∪ A}) = 50% confianza = soporte({C ∪ A})/soporte({C}) = 100%
107
Minando reglas de asociación Fuerza bruta : computar soporte y confianza por cada regla posible -> prohibida (demasiado costosa) Podar reglas antes de computar sus valores de soporte y confianza (para evitar cálculos innecesarios) Conjuntos de ítems frecuentes Estrategia de minar reglas de asociación:
Generación de conjuntos de ítems frecuentes Generación de reglas
Generación de conjuntos de ítems frecuentes
Una estructura reticular puede ser usada para enumerar la lista de todos los posibles conjuntos de ítems
108
Generación de conjuntos de ítems frecuentes
Conjunto de ítems frecuentes: conjunto de ítems que tienen un mínimo de soporte Principio A priori:
Cualquier subconjunto de un conjunto de ítem frecuentes (frequent item set) debe ser frecuente
Si {AB} es un “conjunto de items frecuentes”, entonces {A} y {B} deben ser “conjuntos de items frecuentes” Proceso iterativo para encontrar conjuntos de ítems frecuentes con cardinalidad de 1 a k (kitemsets)
Los “conjuntos de items frecuentes” son usados para generar reglas de asociación
El algoritmo “A priori”
Generación de Candidatos:
Paso de unión: Ck es generado uniendo Lk-1 con el mismo Paso de poda: Cualquier conjunto de (k-1) ítems que no es
frecuente no puede ser usado como un subconjunto de un conjunto frecuente de k-ítems
Pseudo-código:
Ck: conjuntos de ítems candidatos de tamaño k Lk :conjuntos de ítems frecuentas de tamaño k
L1 = {ítems frecuentes}; for (k = 1; Lk !=∅; k++) do begin Ck+1 = candidatos “generados” de Lk; (ver siguiente ejemplo) for each transacción t en la base de datos do // requiere hacer “scan” a la BD !!! incrementar la cuenta de los candidatos en Ck+1 que están contenidos en t Lk+1 = candidatos en Ck+1 con soporte >= min_soporte end return ∪k Lk;
109
Generación de candidatos
Suponer los ítems en Lk-1 están ordenados en una lista
Paso 1: unión de Lk-1 con el mismo Insert Into Ck Select p.item1, p.item2, …, p.itemk-1, q.itemk-1 From Lk-1 p, Lk-1 q Where p.item1=q.item1, …, p.itemk-2=q.itemk-2, p.itemk-1 < q.itemk-1 (conjuntos mas pequeños deben emparejar en todos menos el último ítem)
Paso 2: poda forall itemsets c in Ck do forall (k-1)-subsets s of c do if (s is not in Lk-1) then delete c from Ck
Ejemplo de generación de candidatos
L3={abc, abd, acd, ace, bcd}
Unión: L3*L3
abcd de abc y abd
acde de acd y ace
Poda:
acde es removido por que ade no esta en L3
C4={abcd}
110
Algoritmo “Apriori”— Ejemplo (sop=50%) Base de datos D TID 100 200 300 400
itemset sup. {1} 2 {2} 3 Scan D {3} 3 {4} 1 {5} 3
Items 134 235 1235 25
C1
L2 itemset sup
C2 itemset sup
2 2 3 2
{1 {1 {1 {2 {2 {3
C3 itemset {2 3 5}
Scan D
{1 3} {2 3} {2 5} {3 5}
2} 3} 5} 3} 5} 5}
1 2 1 2 3 2
L1 itemset sup. {1} {2} {3} {5}
2 3 3 3
C2 itemset {1 2} Scan D {1 {1 {2 {2 {3
3} 5} 3} 5} 5}
L3 itemset sup {2 3 5} 2
Generando Reglas de Asociación desde conjuntos de ítems frecuentes
Una vez todos los conjuntos de ítems frecuentes han sido encontrados, se pueden generar reglas de asociación (confianza ≥ min_conf ):
Por cada conjunto de ítems frecuentes l, generar todos los subconjuntos de l (no vacíos); Por cada subconjunto s de l,
IF ( conteo_soporte (l) / conteo_soporte (s) ≥ min_conf ) THEN la regla es “s => (l-s)”
Para optimizar: Almacenar los conjuntos de ítems y sus conteos en tablas Hash
111
Generando Reglas de Asociación desde conjuntos de ítems frecuentes C({B,C} → E}) = s(B,C,E)/s(B,C)=2/2 = 100% A → C No todas las reglas descubiertas pueden ser interesantes para presentar y usar.
Reglas de asociación MúltipleNivel
Ítems por lo general forman una jerarquía
Ítems de niveles bajos tienen menos soporte
Reglas obtenidas de los conjuntos de ítems a apropiados niveles pueden ser útiles Se puede explorar minería compartida multinivel
Food milk
bread
2% wheat white
skim Fraser
Sunset
Usando conocimiento del dominio
112
Minando Multi-nivel con soporte reducido Usar información de viejos conjuntos de ítems frecuentes e integrar información de soporte de nuevos conjuntos de ítems frecuentes Nivel 1 min_sup = 5%
Nivel 2 min_sup = 3%
Milk [support = 10%]
2% Milk
Skim Milk
[support = 6%]
[support = 4%]
Las asociaciones interesantes ocurren en niveles altos
Método FP-GROWTH
Longitud 100 número de candidatos es al menos:
⎛100 ⎞ 100 ⎜⎜ ⎟⎟ = 2 − 1 ≈ 1030 ∑ i =1 ⎝ i ⎠ 100
Complejidad de computación crece exponencialmente! Método “Frequent pattern growth”: mejora escalabilidad (grandes conjuntos de datos)
113
FP-GROWTH 1. 2. 3.
Proyección de los conjuntos de ítems frecuentes Construye una estructura en memoria llamada FP-tree Aplicar algoritmo FP-Growth
Id
Ítems
1
f,a,c,d,g,i,m,p
2
a,b,c,f,l,m,o
3
Frecuencias ordenadas descendemente. Orden importante! FP-tree sigue ese orden
Mínimo soporte = 3 Id
Soporte
f
4
c
4
b,f,h,j,o
a
3
4
b,c,k,s,p
b
3
5
a,f,c,e,l,p,m,n
m
3
p
3
Scan
Raíz del árbol es creada
,1 Scan de la primera transacción Construcción de la primera rama del árbol (solo los ítems que están en la lista de frecuentes) Scan de la segunda transacción
,1 ,1 ,1 ,1
114
Id
Ítems
1
f,a,c,d,g,i,m,p
2
a,b,c,f,l,m,o
3
b,f,h,j,o
4 5
Frecuencias ordenadas descendentemente. Orden importante! FP-tree sigue ese orden
Mínimo soporte = 3 Id
Soporte
f
4
c
4
a
3
b,c,k,s,p
b
3
a,f,c,e,l,p,m,n
m
3
p
3
Scan
Raíz del árbol es creada
,1 ,2
Scan de la primera transacción Construcción de la primera rama del árbol (solo los ítems que están en la lista de frecuentes) Scan de la segunda transacción
,2 ,1 ,1 ,2 ,1 ,1
Id
Ítems
1
f,a,c,d,g,i,m,p
2
a,b,c,f,l,m,o
3
Frecuencias ordenadas descendentemente. Orden importante! FP-tree sigue ese orden
Mínimo soporte = 3 Id
Soporte
f
4
c
4
b,f,h,j,o
a
3
4
b,c,k,s,p
b
3
5
a,f,c,e,l,p,m,n
m
3
p
3
Scan
Raíz del árbol es creada
Scan de la primera transacción Construcción de la primera rama del árbol (solo los ítems que están en la lista de frecuentes) Scan de la segunda transacción Scan de la tercera transacción
,1 ,1
,3 ,2 ,2
,1
,2 ,1 ,1
,1 ,1
115
Árbol final FP Lista de cabezas (headers)
,4 ,3
,1 ,1
,3 ,2 ,2
,1 ,1
,1 ,1
Algoritmo FP-Growth Coleccionar las transacciones donde p participa comenzando por el header y siguiendo los nodos enlazados m sin p b sin p ni m ….
116
2 caminos
,4
Ejemplos o registros { (f,2),(c,2),(a,2),(m,2),(p,2)) } { (c,1),(b,1),(p,1) }
,1
,3
,1
,3
,1 ,1
,2
,1 ,1
,2
Umbral de 3 { (c,3), (p,3) } { c, p }
Ejemplos o registros acumulados: { (f,2),(c,2),(a,2),(m,2) } { (f,1), (c,1),(a,1),(b,1),(m,1) } Conjuntos de ítems frecuentes son: { (f,3), (c,3), (a,3), (m,3) } { f, c, a, m }
Reglas de asociación multidimensionales Id
A1
Ítems
A2
1
a
1
{pan, leche}
2
b
2
{pan, pañales, cerveza, huevos}
3
a
2
{leche, pañales, cerveza, gaseosa}
4
a
3
{pan, leche, pañales, cerveza}
5
c
1
{pan, leche, pañales, gaseosa}
117
Reglas de asociación multidimensionales
Sentido común Dividir el proceso de minería en dos pasos:
Minar información dimensional Conjunto de ítems frecuentes
Encontrar combinaciones de valores multidimensionales y luego los correspondientes conjuntos de ítems frecuentes
Ejemplo
Combinación de los valores de los atributos Umbral de n (considerados frecuentes) Patrón Multidimensional MD-Patterrn Algoritmo BUC
Id A1 A2 A3
Ítems
1
a
1
m
x, y, z
2
b
2
n
z, w
3
a
2
m
x, z, w
4
c
3
p
x, w
118
Ejemplo Usando umbral de 2 I. 1. Ordenar por atributo A1 2. MD-pattern es a 3. Seleccionar las tuplas con el MD-pattern encontrado 4. Ordenar el subconjunto de tuplas con respecto a la segunda dimensión A2
Id
A1
A2
A3
Ítems
1 3
a a
1 2
m m
2
b
2
n
x, y, z x, z, w z, w
4
c
3
p
x, w
Ningún valor (1y 2) cumple el umbral, la dimensión A2 es ignorada
Ejemplo 5.
6.
Ordenar con respecto a la tercera dimensión A3 Md-Pattern es m
Id
A1
A2
A3
Ítems
1
a
1
m
x, y, z
3
a
2
m
x, z, w
(a,*,m)
119
Ejemplo II. Repetir el proceso del paso I, comenzando por el atributo A2 (A1 no es analizada en esta iteración) MD-pattern es 2 continuando con A3 del subconnunto, no hay MD-patterns
Id
A1
A2
A3
Ítems
1
a
1
m
x, y, z
3
a
2
m
x, z, w
2
b
2
n
z, w
4
c
3
p
x, w
(*,2,*)
Ejemplo III. Repetir el proceso del paso I, comenzando por el atributo A3 (A1 y A2 no son analizados) MD-pattern es m continuando con A3 del subconjunto, no hay MD-patterns
Id
A1
A2
A3
Ítems
1
a
1
m
x, y, z
3
a
2
m
x, z, w
2
b
2
n
z, w
4
c
3
p
x, w
(*,*,m)
120
Ejemplo Minar los conjuntos frecuentes por cada MD-pattern Otra forma: Minar primero conjuntos de ítems frecuentes y después encontrar los MD-patterns.
Bibliografía Jiawei Han and Micheline Kamber. “Data Mining: Concepts and Techniques”, 2006
121
Minería de Datos II - 2007
Análisis Supervisado I
122
Agenda
Conceptos básicos de aprendizaje maquinal
Árboles de decisión y Reglas de Decisión
Medidas de desempeño
Agenda
Conceptos bá básicos de aprendizaje maquinal
Árboles de decisión y Reglas de Decisión
Medidas de desempeño
123
¿Qué es Aprendizaje de Máquina? ”Find a bug in a program, and fix it, and the program will work today. Show the program how to find and fix a bug, and the program will work forever.” Oliver G. Selfridge, AI’s Greatest Trends and Controversies
¿Qué es Aprendizaje de Máquina? Estudio y desarrollo de sistemas que aprenden Sistema que aprende: Sistema capaz de optimizar una función de desempeño basado en datos de entrenamiento y/o datos previos Elemento fundamental para el aprendizaje -> generalización (extracción de patrones a partir de datos)
124
¿Por Qué Usar Aprendizaje de Máquina?
Hay Múltiples tareas para las cuales es difícil o imposible programar un computador (de manera convencional):
Problemas para los cuales no existen expertos humanos Problemas para los que existen expertos humanos, pero no puede explicar su expertisia Problemas donde fenómenos cambian de manera rápida Aplicaciones que deben ser personalizadas para cada usuario particular
Áreas de Aplicación del Aprendizaje de Máquina
Reconocimiento de patrones: procesamiento de imágenes, visión artificial, patrones en series de tiempo Minería de datos: análisis de comportamiento de clientes, extracción de información Bioinformática: detección de genes, relaciones entre genes, diagnóstico genético Robótica: caminado adaptativo Recuperación de Información: motores de búsqueda, sistemas de recomendación, recuperación por contenido Deteccióon de anomalías: detección de fraudes, seguridad computacional
125
Tipos de Aprendizaje
Aprendizaje Aprendizaje Aprendizaje Aprendizaje
supervisado no supervisado semi-supervisado activo (con refuerzo, en línea)
Aprendizaje supervisado
Problema fundamental: encontrar una función que relacione un conjunto de entradas con un conjunto de salidas Tipos principales de problemas: Clasificación Regresión
126
Aprendizaje No Supervisado (I) No hay etiquetas para los ejemplos Problema fundamental: encontrar la estructura subyacente de un conjunto de datos Ejemplos de problemas: Agrupamiento, Compresión de Datos Pueden usarse algunos ejemplos con etiquetas, en este caso es aprendizaje semi-supervisado
Aprendizaje No Supervisado (II)
127
Aprendizaje Activo (por refuerzo) Generalmente se da en el contexto de un agente actuando en un ambiente No se le dice explícitamente al agente si se equivoca o no El agente es castigado o premiado (no necesariamente de manera inmediata) Problema fundamental: definir una política que permita maximizar el estímulo positivo (premio)
Agenda
Conceptos básicos de aprendizaje maquinal
Árboles de decisión y Reglas de Decisión
Medidas de desempeño
128
Aprendizaje con Árboles de Decisión Problema: decidir si esperar por una mesa en un restaurante, basándose en los siguientes atributos: – – – – – – – – – –
Alternativa: ¿Hay un restaurante alternativo cercano? Bar: ¿Tiene un bar confortable para esperar? Viernes/Sábado: ¿Hoy es Viernes o Sábado? Hambre: ¿Estamos hambrientos? Clientes: número de personas en el restaurante (Ninguno, Algunos, Lleno) (Ninguno, algunos, lleno) Precio: Rango de precios ($, $$, $$$) Lloviendo: ¿Está lloviendo afuera? Reservación: ¿Tuvimos que hacer reservación? Tipo: clase de restaurante (Francés, Italiano, Thai, Hamburguesas) EsperaEstimada: tiempo estimado de espera (0-10, 1030, 30-60, >60)
Representaciones basadas en atributos Ejemplos descritos por valores de atributos (Booleano, discreto, continuo) Ejemplos de situaciones en donde Yo esperaré / no esperaré por una mesa:
129
Representaciones basadas en atributos Atributos Ejemplo
¿Esperar?
Alternativa
Bar
Viernes/ Sábado
Hambre
Clientes
Precio
Lloviendo
Reservación
Tipo
Espera Estimada
X1
V
F
F
V
Algunos
$$$
F
V
Francés
0 - 10
X2
V
F
F
V
Lleno
$
F
F
Thai
30 - 60
F
X3
F
V
F
F
Algunos
$
F
F
Hamburguesas
0 - 10
V
X4
V
F
V
V
Lleno
$
F
F
Thai
10 – 30
V
X5
V
F
V
F
Lleno
$$$
F
V
Francés
> 60
F
X6
F
V
F
V
Algunos
$$
V
V
Italiano
10 - 30
F
X7
F
V
F
F
Ninguno
$
V
F
Hamburguesas
0 - 10
F
X8
F
F
F
V
Lleno
$
V
V
Thai
0 - 10
V
V
X9
F
V
V
F
Lleno
$$$
V
F
Hamburguesas
> 60
F
X10
V
V
V
V
Lleno
$
F
V
Italiano
10 - 30
F
X11
F
F
F
F
Ninguno
$
F
F
Thai
0 - 10
F
X12
V
V
V
V
Lleno
$
F
F
Hamburguesas
30 - 60
V
Clasificación de ejemplos es positivo (V) o negativo (F)
Árboles de Decisión
Una posible representación para las hipótesis Por ejemplo, este es el árbol “verdadero” para decidir si esperar o no: ¿Clientes? Ninguno F
Lleno
Algunos V
¿EsperaEstimada? >60
>30 -60
>10-60
¿Alternativa?
F
¿Bar? No F
V
V
Si
No
Si
¿Viernes/Sábado?
V
¿Alternativa?
No ¿Reservación ? No Si
>0-10 ¿Hambre?
No F
Si V
No F
Si V
Si V
130
Expresividad
Los Árboles de Decisión pueden expresar cualquier función de los atributos de entrada. Por ejemplo, para funciones Booleanas, una fila de la tabla de verdad → camino a la hoja:
A
B
No
AyB
F
F
F
F
V
V
No
V
F
V
F
V
V
F
A
Si
B
B
Si V
No F
Si V
Es trivial, que haya un árbol de decisión consistente para cualquier conjunto de entrenamiento con un camino a la hoja para cada ejemplo (a menos que f sea no-determinística en x) pero es probable que no generalice para nuevos ejemplos.
Es preferible encontrar árboles de decisión más compactos
Algoritmo para la Inducción de Árboles de Decisión
Algoritmo básico (Algoritmo avaro)
El árbol es construido de arriba hacia abajo recursivamente de forma divide y vencerás. Al comienzo, todos los ejemplos de entrenamiento están en la raíz. Los atributos son categóricos (en caso de atributos continuos, se discretizan por adelantado) Los ejemplos son repartidos recursivamente de acuerdo con el atributo seleccionado Los atributos de prueba son seleccionados en base a una heurística o medida estadística (ej. ganancia de información)
131
Condición de Parada
Condiciones para detener el particionamiento:
Todos los ejemplos para un nodo dado pertenecen a una misma clase.
No hay cualidades restantes para mayor particionamiento – la mayoría de votos es usada para la clasificación de la hoja.
Escogiendo un Atributo
Idea: un buen atributo separa los ejemplos en subconjuntos que son (idealmente) “todos positivos” o “todos negativos”
¿Clientes?
Ninguno
Algunos
¿Tipo?
Lleno Francés
Italiano
Thai
Hamburguesas
¿Clientes? Es una buena opción
132
Información y Entropía (I)
Cuando se contesta una pregunta se está generando información La información ganada es equivalente a la incertidumbre que se disipa (entropía). Suponga que se tiene un evento con dos resultados alternativos (desconocidos), cuál es la situación de máxima incertidumbre?
Información y Entropía (II)
Medida de información: 1 bit = respuesta a una pregunta Booleana con probabilidades (0.5,0.5) En general, la entropía de una situación dada es: n ⎛ ⎞ H ⎜ P1 ,..., Pn = ∑ − Pi log 2 Pi ⎟ i =1 ⎝ ⎠
Pi corresponde a la probabilidad de cada alternativa La información generada por la respuesta a una pregunta corresponde a la diferencia entre el valor de la entropía antes y después de responder la pregunta
133
Información y Entropía (III)
La entropía es máxima cuando las opciones son equiprobables
Ganancia de información de un atributo P(V)=0.5 P(F)=0.5 H= - p(V)log(P(V))- p(F)log(P(F)) = - 0.5*(-1) - 0.5*(-1)=1
Hnueva = 1/6*0 + 2/3*0 +0.5*0.91 = 0.45 Info = Hvieja - Hnueva = 1 – 0.45 = 0.55
¿Clientes ? Lleno Ninguno
H=0
Algunos
H=0 P(V)=0.33 P(F)=0.66 H= - 0.33*(-1.59) - 0.66*(-0.58)=0.91
134
Ganancia de información
Si Ei tiene pi positiva y ni ejemplos negativos entonces:
La cantidad de bits que se necesitan para clasificar un nuevo ejemplo es:
⇒ H ( pi / ( pi + ni ), ni / ( pi + ni )
)
El número de bits por ejemplo sobre todas las ramas es:
∑
i
p i + ni H ( pi / ( pi + ni ), ni / ( pi + ni ) p+n
)
¿Para clientes? Son 0.459 bits, por Tipo sigue siendo 1 bit ⇒ Elegir el atributo que maximice la ganancia de información
Ejemplo
Árbol de Decisión aprendido de 12 ejemplos: ¿Clientes?
Ninguno F
Lleno
Algunos V
¿Hambre?
No
Si
F
¿Tipo?
Francés V
Hamburguesas Italiano F
¿Viernes/Sábado? No
F
V
Si V
Sustancialmente más simple que un árbol de “verdad” – una hipótesis más compleja no se justifica por el bajo volumen de datos
135
Extracción de Reglas de Clasificación
Se representa el conocimiento en forma de reglas Si – Entonces
Una regla es creada para cada camino desde la raíz a una hoja
Cada par atributo – valor a lo largo de un camino forma una conjunción.
El nodo hoja mantiene la clase predicción
Las reglas son fáciles de entender.
Ejemplo: IF clientes = “lleno” AND hambre = “no” THEN esperar = “no” IF clientes = “algunos”
THEN esperar = “si”
IF clientes = “lleno” AND hambre = “no”
AND tipo =”italiano”
THEN esperar = “no”
Manejo de Atributos Continuos La idea es discretizar Partición binaria:
x <= x0 y x > x0 x0 es un valor que se debe encontrar
División en intervalos (binarización/cuantización) Agrupamiento
136
Notas Finales Hay diferentes tipos de algoritmos para inducción de árboles de clasificación (ID3, C4.5, C5.0, CART, etc.) Se pueden aplicar en muchos tipos de problemas y en general los resultados son satisfactorios Es un modelo altamente interpretable Tienen problemas cuando hay interacciones complejas entre atributos
Agenda
Conceptos básicos de aprendizaje maquinal
Árboles de decisión y Reglas de Decisión
Medidas de desempeño
137
Evaluación de Algoritmos
Criterios (dependiendo de la aplicación):
Error de clasificación o riesgo Complejidad espacio/temporal del entrenamiento Complejidad espacio/temporal de la aplicación Interpretabilidad Programación sencilla
Medidas de Error Clase Predicha Clase verdadera + True Positive False Negative + False Positive True Negative
%error = #errores/#instancias = (FN+FP)/N sensitividad = #+ encontrados/#+ = TP/(TP+FN) (recall,hit rate) precisión= #+ encontrados/ #total de encontrados = TP/(TP+FP) especificidad = TN/(TN+FP) %falsas alarmas = FP/(FP+TN)
138
Matrices de Confusión
Usadas cuando más de dos clases están involucradas
Clase verdadera Setosa Virginica Versicolor
Setosa 50 0 0
Clase Predicha Virginica Versicolor 0 0 48 2 1 49
Bibliografía
Stuart Russell and Peter Norvig “Artificial Intelligence: A Modern Approach”, Second Edition.
139
Minería de Datos II - 2007
Análisis Supervisado II
140
Agenda Introducción. Redes Neuronales Artificiales.
Neurona Artificial. Modelo de McColluch-Pitts. Definición de RN. Clasificación.
Agenda
Aprendizaje o Entrenamiento
Definiciones Básicas Clasificación de Algoritmos de Aprendizaje
Redes Multicapa
El Perceptrón Back Propagation
141
Agenda Introducción. Redes Neuronales Artificiales.
Neurona Artificial. Modelo de McColluch-Pitts. Definición de RN. Clasificación.
INTRODUCCIÓN ¿Qué son las Redes Neuronales?. Bases Biológicas. Historia. Características. Aplicaciones.
142
¿Qué son las Redes Neuronales? Las Redes Neuronales son modelos artificiales de las Redes Neuronales Biológicas . Están constituidas por innumerables unidades procesadoras, llamadas neuronas, las cuales se interconectan a través de conexiones.
Una Red Neuronal
143
Bases Biológicas El Cerebro es un sistema supremamente complejo. El cerebro humano esta compuesto por cerca de 1011 neuronas (100.000 Millones), con un tamaño de 5-100 micrómetros. Es el dispositivo de computo más poderoso que existe. Le ha tomado a la naturaleza 4.000 Millones de años desarrollarlo.
La Neurona Biológica
144
La Neurona Biológica z
DENDRITAS: Recogen señales bien procedentes de otras neuronas, bien del mundo externo y las transmiten al cuerpo de la neurona
La Neurona Biológica
CUERPO: Recibe las señales de todas las dendritas y según la tipología de la neurona en si, determina una respuesta global.
145
La Neurona Biológica
AXON: Transmite la respuesta global generada por el cuerpo de la neurona. La respuesta se transmite a otras neuronas o a algún miembro receptor (músculo, etc...)
La Neurona Biológica
SINAPSIS: Es el punto de unión entre dos neuronas (dendrita - axón). El impulso transmitido por el axón se transmite así a otras neuronas, determinando el comportamiento general de la red.
146
Historia 1943 Modelo de Neurona de McCulloch y Pitts 1962 Algoritmo de Entrenamiento para Perceptrones, Rosenblatt 1969 Limitaciones del Perceptron, Minski y Papert 1986 Algoritmo BackPropagation Rumelhart, Hinton y Willians
Características ¿Qué
son capaces de hacer?
Reconocimiento
de Patrones Síntesis Funcional: relaciones entre
varias entradas continuas y una o más salidas continuas
147
Computación Convencional Vs. Neurocomputación
NeuroComputación Entrenamiento, aprendizaje No se separa la memoria y el procesamiento Paralela (Discreto o Continuo), asíncrona Tolerante a fallas Auto-organización Acepta entradas con ruido o difusas
Com. Convencional Programación Memoria y procesamiento separados
Secuencial o serial, síncrona
No tolerante a fallos Dependiente del software Garbage in - Garbage out (si entra basura, sale basura)
Aplicaciones Visión por Computador Reconocimiento de la Escritura Reconocimiento y síntesis de la Voz Control de Procesos Diagnostico Médico Exploración Petrolera Minería de Datos
148
Agenda Introducción. Redes Neuronales Artificiales.
Neurona Artificial. Modelo de McColluch-Pitts. Definición de RN. Clasificación.
Neurona Artificial Definición: Unidad de procesamiento encargada de simular el comportamiento de una neurona biológica. Modelo matemático que trata de emular de manera simplificada el comportamiento de una neurona biológica
149
Agenda Introducción. Redes Neuronales Artificiales.
Neurona Artificial. Modelo de McColluch-Pitts. Definición de RN. Clasificación.
MODELO McCULLOCHPITTS Modelo de neurona binaria - 1943. Cada Neurona:
Calcula la suma ponderada de sus entradas La salida es 1 o 0 dependiendo de si la suma esta por encima o por debajo de un umbral.
ni = f( ∑wij nj (t)- ui ) j
150
MODELO McCULLOCHPITTS n n
1
w
i1
2 w
n
j
Σ
i2
w
F n
i
i
ij
MODELO McCULLOCHPITTS
Función de Activación:
f(x)= 1 si x >= u 0 si x
151
MODELO McCULLOCHPITTS
Ejemplo: 0.5 0.2
0.1 -0.2 0.1
Σ
0.03 1 0
0.2
Otras funciones
Función umbral
Función sigmoide
Función lineal a trozos
Función Gausssiana
152
Red Neuronal Artificial La interconexión de varias unidades de procesamiento (neuronas), forman Redes Neuronales Artificiales. Las cuales toman entradas, las procesan y emiten salidas.
Neuronas
Conexiones
Ejemplo
Red XOR μ=0.7 1
0.5
Σ
1
0.5 0.5 1 0.5
μ=0
Σ Σ
1
-1
μ=0.3
153
Agenda Introducción. Redes Neuronales Artificiales.
Neurona Artificial. Modelo de McColluch-Pitts. Definición de RN. Clasificación.
Clasificación Según la topología: –Redes
feedforward
Perceptrón
simple Perceptrón multicapa Redes con funciones de base radial –Redes
recurrentes feedback
Redes
competitivas Red Kohonen Red Hopfield Modelos ART
154
Clasificación
Red Feedforward Neuronas de salida
Neuronas ocultas
Neuronas de entrada
Clasificación
Red Recurrente:
155
Agenda
Aprendizaje o Entrenamiento
Definiciones Básicas Clasificación de Algoritmos de Aprendizaje
Redes Multicapa
El Perceptrón Back Propagation
Tipos de Aprendizaje Supervisado:
Este tipo de algoritmo utiliza un conjunto de ejemplos que la red debe aprender. El entrenamiento se lleva a cabo mediante un proceso iterativo de adaptación de la red neuronal de manera que sus salidas se acerquen cada vez más a las salidas deseadas especificadas en los ejemplos.
156
Tipos de Aprendizaje No
supervisado:
En este tipo de algoritmos no se especifican salidas deseadas, el algoritmo trata de encontrar de manera autónoma regularidades en los datos de entrada creando categorías que agrupen a los datos más similares. Con
refuerzo:
La red aprende a través de un proceso de ensayo y error que maximiza el índice de desempeño denominado señal de error.
Clasificación Tipo de aprendizaje
Regla de aprendizaje
S u p e r v is a d o
C o r r e c c ió n d e e rro r B o ltz m a n n H e b b ia n C o m p e titiv o C o r r e c c ió n d e e rro r H e b b ia n C o m p e titiv o C o r r e c c ió n d e e rro r y c o m p e titiv o
No s u p e r v is a d o
H íb r id o
Algoritmos mas utilizados B ack P r o p a g a tio n A d a lin e y M a d a lin e A p r e n d iz a je c o n m e m o r ia a s o c ia tiv a A lg o r itm o d e a p r e n d iz a je RBF
157
Ley de Hebb
Experimento de Pavlov
Sonido
A B
Comida
Señal de salivación
C
Ley de Hebb Idea principal sobre la cual se basa esta ley: “Cuando un axón de la célula A está suficientemente próximo para excitar a una célula B o toma parte en su disparo de forma persistente, tiene lugar algún proceso de crecimiento o algún cambio metabólico en una de las células, o en las dos, de tal modo que la eficiencia de A, como una de las células que desencadena el disparo de B, se ve incrementada.”
158
Técnica del Gradiente Descendente
Calcular el valor de la función en el punto y=f (x0)
Calcular el nuevo valor de xi como el valor anterior mas el gradiente de la función.
yi+1 = yi+Δyi
Técnica del Gradiente Descendente
El gradiente de la función se calcula como la derivada parcial de la función con respecto al punto xi.
El gradiente es igual a:
Δyi= -∂ f /∂xi
159
Técnica del Gradiente Descendente
La técnica de gradiente descendente es un procedimiento iterativo que busca minimizar una función moviéndose en la dirección opuesta al gradiente de dicha función.
Técnica del Gradiente Descendente
mínimo local
mínimo global
160
Rata de Aprendizaje
Determina el tamaño del paso que utiliza el algoritmo, para moverse en el espacio de los pesos. Un valor muy pequeño para este parámetro puede provocar una convergencia muy lenta, así como un valor muy alto puede provocar un comportamiento divergente.
Momento El momento, da al algoritmo una especie de inercia que le permite evadir en ciertos casos los mínimos locales. Con este momento se consigue la convergencia de la red en un número menor de iteraciones.
161
Patrones de entrenamiento
Un patrón es una pareja de vectores X y Y de longitud n y m respectivamente:
X = (x1, x2, x3, .. , xn) Y= (y1, y2, y3, .. , ym) donde xi corresponde a un valor para la neurona de entrada i y yj es el valor deseado de la neurona de salida j.
Agenda
Aprendizaje o Entrenamiento
Definiciones Básicas Clasificación de Algoritmos de Aprendizaje
Redes Multicapa
El Perceptrón Back Propagation
162
El Perceptrón Definición:
Es una red neuronal feedforward que consta de dos capas, una de entrada y una de salida. En sus inicios se consideró que podía resolver todo tipo de problemas. Sin embargo no es posible resolver el problema XOR con este modelo.
El Perceptrón x1
y1
x2
y2
. . xi
. . yi
163
El Perceptrón
Regla de Aprendizaje 1. Inicialización de los pesos y del umbral: Inicialmente se asignan valores aleatorios a cada uno de los pesos (wi) de las conexiones y al umbral (-w0=θ)
El Perceptrón 2. Presentación de un nuevo par (Entrada, Salida esperada): Presentar un nuevo patrón de entrada Xp=(x1,x2,...,xN) junto con la salida esperada d(t).
164
El Perceptrón 3. Cálculo de la salida actual
y(t)=f [Σwi(t)xi(t)-θ] i
Siendo f (x) la función de transferencia escalón.
El Perceptrón 4. Adaptación de los pesos :
wi (t + 1) = wi (t ) + Δwi (t ) ⎧2η xi (t ) y (t ) si y (t ) ≠ d (t )⎫ Δwi (t ) = ⎨ ⎬ 0 en otro caso ⎩ ⎭ Δwi (t ) = η(1 − y (t )d (t ))
165
El Perceptrón Δwi(t)=η[d(t)-y(t)] xi(t) (0<=i<=N) donde η es la rata de aprendizaje y varia entre 0 y 1. 5. Repertir desde el paso 2.
Algoritmo entrenamiento del Perceptrón 1. 2. 3.
Inicializar los pesos y umbrales para valores aleatorios pequeños. Presentar un patrón y evaluar la salida de la neurona. Calcular la salida actual.
yi(t)=f (Σwi(t)xi(t)-θ) 4.
Actualizar los pesos de acuerdo a:
wij (t+1)=wij(t)+η(di(t)-yi(t))xj donde η es la rata de aprendizaje y varia entre 0 y 1.
166
Separabilidad de patrones Función AND linealmente separable
Función XOR No separable linealmente 01
01
11
00
10
00
11
10
Redes Multicapa Definición: Conformadas
por una capa de entrada, una o varias ocultas y una de salida, sus conexiones no deben formar ciclos.
Feedforward:
Conexión completa entre capas sucesivas.
Pueden
utilizar funciones de activación tales como la sigmoide y la función umbral.
167
Redes Multicapa Neuronas de salida
Neuronas ocultas
Neuronas de entrada
Algoritmo de Retropropagación (Back Propagation)
Para entrenar redes multicapa. Requiere que la función de activación sea derivable y creciente. Usualmente sigmoides (logística y la tangente hiperbólica). A minimizar función de error (cuadrático medio), cuyo dominio es el espacio de los pesos de las conexiones: 2 p pk pk k
E = 1 / 2∑( y -d )
168
Algoritmo de Retropropagación (Back Propagation)
El algoritmo trabaja de la siguiente forma:
Presenta un patrón de entrada a la Red neuronal.
Propaga dichas entradas hasta la capa de salida.
Calcula el error en la capa de salida.
Propaga dicho error hacia las neuronas ocultas (hacia atrás).
Cambia los pesos de las conexiones.
Algoritmo de Retropropagación (Back Propagation)
El procedimiento se hace para todos los patrones iterativamente hasta que la red converja a un valor del error deseado.
Error SE
169
Algoritmo de Retropropagación (Back Propagation)
Pasos del algoritmo:
Inicializar los pesos con pequeños valores aleatorios. Escoger aletoriamente un patrón de entrada x. Propagar la señal hacia adelante.
- Calcular el error en la capa de salida
δi(t)=f’(xi(t))*(di-yi)
Algoritmo de Retropropagación (Back Propagation)
Propagar dicho error hacia las neuronas ocultas (hacia atrás).
δj(t)=f ’(xi(t))*(Σw ijδi(t)) i –
Actualizar los pesos utilizando:
wji(t+1)= wji(t)+Δwji(t+1) donde:
170
Algoritmo de Retropropagación (Back Propagation)
Δwji(t+1) = [ηδjyi(t)+αΔwji(t)] –
Repetir desde el paso 2 hasta alcanzar el error deseado
Generalización y sobre ajuste Error de clasificación Control del sobre-ajuste Complejidad del modelo
171
Error de Clasificación
Error de entrenamiento:
Error de generalización:
e(modelo, datos) Número de ejemplos de entrenamiento clasificados incorrectamente Conocido como error de re-substitución o error aparente e’(modelo, datos) Error esperado del modelo en ejemplos no usados en el entrenamiento.
Un buen modelo debe tener errores de entrenamiento y generalización bajos
Sobre-ajuste (Overfitting)
Cuando el algoritmo de aprendizaje se ajusta tanto a los datos de entrada que pierde su capacidad de generalizar
El error de cálculo de los ejemplos futuros será alto
172
Sobre-ajuste
Sobre-ajuste: Bajo error de entrenamiento pero error de generalización alto. Sub-ajuste (underfitting): Errores de entrenamiento y generalización altos Sub-ajuste Sobre-ajuste Error de Generalización
Error de Entrenamiento
Parámetro modelo
Causas sobre-ajuste: Presencia Ruido
Ruido
La frontera de decisión es distorsionada por el ruido
173
Causas sobre-ajuste: Falta de Ejemplos Representativos
Puntos mal clasificados
La falta de ejemplos en la parte inferior del diagrama hace difícil que el modelo realice una predicción acertada en esta región
Causas sobre-ajuste: Procedimiento múltiple comparaciones
Al comparar alternativas independientes y seleccionar la mejor Ejemplo: Predecir cuando la demanda se incrementara o reducirá en los siguientes 10 días. Analista aleatorio: Su probabilidad de acertar en 8 o mas días es ( c(10,8) + c(10,9) + c(10,10) )/ 210 = 0.0547 Seleccionar uno de entre 50 analistas aleatorios, la probabilidad de que uno de ellos acierte en 8 o mas días es: 1 – (1-0.0547)50 = 0.9399
174
Estimación del error de Generalización
Estimación optimista: Usando resubstitución e’(modelo, datos) = e(modelo, datos)
Incorporando la complejidad del modelo – Cuchilla de Occam e’(modelo, datos)= e(modelo, datos)+costo(modelo, datos) Estimación pesimista Principio MDL (Descripción de mínima longitud)
Descripción de Mínima Longitud (MDL)
X X1 X2 X3 X4
y 1 0 0 1
…
…
Xn
1
No
0
B? B2
B1
A
C?
1
C1
C2
0
1
B
X X1 X2 X3 X4
y ? ? ? ?
…
…
Xn
?
costo(modelo,datos) = costo(datos|model) + costo(modelo)
A? Yes
Costo es medido en el numero de bits necesarios para su codificación. El problema es el de buscar el modelo de menor costo.
costo(datos|modelo) para codificar los errores de clasificación. costo(modelo) para codificar el modelo.
175
Métodos de Estimación
Holdout Mantener un porcentaje de instancias (2/3) para entrenamiento y el resto (1/3) para pruebas Se sugiere que el de entrenamiento sea mayor que el de pruebas
Muestreo Aleatorio Repetir varias veces holdout y calcular estadísticos sobre dicho proceso Se sugiere repetir como mínimo 30 veces
Validación Cruzada (Cross validation) Partir el conjunto de datos en k subgrupos disjuntos k-fold: entrenar con k-1 subgrupos, validar con el restante. Repetir usando cada grupo en validación Dejar uno afuera (Leave-one-out): k=n
Muestreo Estratificado
Bootstrap
sobremuestreo vs submuestreo
Muestreo con repetición
Complejidad del modelo Parámetro que controla lo complejo del modelo En árboles de decisión (tamaño)
Pre-podado Post-podado
En redes neuronales
Número neuronas ocultas y/o conexiones Tipo de red neuronal
176
Bibliografía
Neural Networks: A Comprehensive Foundation, Simon Haykin Neural Networks: Algorithms, Applications, and Programming Techniques, James A. Freeman, David M. Skapura
Notas
177
Minería de Datos II - 2007
Análisis Supervisado III Modelos Probabilísticos
178
Agenda Repaso de probabilidad Modelos Bayesianos Clasificador Bayesiano Naive Bayes Red de creencias Clasificación sensible al costo
Agenda Repaso de probabilidad Modelos Bayesianos Clasificador Bayesiano Naive Bayes Red de creencias Clasificación sensible al costo
179
Probabilidad
Formalización de la noción intuitiva de la posibilidad de que un evento ocurra # de Veces que sucede E P (E ) = # Posibles Eventos
Cuál es la probabilidad de obtener el número 6 si lanzo un dado? Cuál es la probabilidad de obtener 10 o más si lanzamos dos dados? Variable aleatoria: una variable que puede tomar diferentes valores de acuerdo con una distribución de probabilidad
Probabilidad Conjunta
Es la probabilidad de que dos eventos sucedan a la vez: P(X=x,Y=y) probabilidad de que X y Y tomen los valores x y y a la vez P(dado_1=4,dado_2=6) = ?
180
Probabilidad Condicional
Probabilidad de que una variable aleatoria pueda tomar un valor particular dado el valor de otra variable aleatoria P(Y=y | X=x)
se refiere a la probabilidad que la variable Y puede tomar el valor de y dado que la variable X toma el valor de x
Probabilidad Condicional
¿Cuál es la probabilidad de obtener 10 al lanzar un par de dados si sé que uno de los dados cayo en 4? suma = dado_1 + dado_2 P(suma=10 | dado_1=4) = ?
181
Teorema de Bayes
Las probabilidades condicionales de X y Y están relacionadas: P(X,Y) = P(Y|X) P(X) = P(X|Y) P(Y) Teorema de Bayes
P(Y|X) = P(X|Y)· P(X|Y)·P(Y) / P(X) Ejercicio
2 equipos. Equipo 0 gana el 65% de las veces, equipo 1 gana 35% de las veces. De los juegos ganados por el equipo 0, el 30% son jugados en la cancha del equipo 1. El 75%, de las victorias del equipo 1 son ganados cuando juegan en casa. Si el equipo 1 juega de local, cuál equipo es el favorito a ganar?
Agenda Repaso de probabilidad Modelos Bayesianos Clasificadores Bayesiano Naive Bayes Red de creencias Clasificación sensible al costo
182
Clasificador Bayesiano Considere que cada atributo y la etiqueta de clase son variables aleatorias Dado un registro con atributos (A1, A2,…,An) El objetivo es predecir la clase C Específicamente, nosotros deseamos encontrar el valor de C que maximice P(C| A1, A2,…,An ) Podemos estimar P(C| A1, A2,…,An ) directamente a partir de los datos?
Solución
calcule la probabilidad a posteriori P(C | A1, A2, …, An) para todos los valores de C usando el teorema de Bayes: P ( A1 A2 ... An | C ) P (C ) P(C | A1 A2 ... An ) = P ( A1 A2 ... An )
Escoja el valor de C que maximice P(C | A1, A2, …, An) Equivalente a escoger el valor de C que maximice P(A1, A2, …, An|C) P(C)
Cómo se estima P(A1, A2, …, An | C )?
183
Problema de tomar una decisión Dada las condiciones del clima, es posible jugar tenis? Outlook Temperature Humidity Windy Class sunny sunny overcast rain rain rain overcast sunny sunny rain sunny overcast overcast rain
hot hot hot mild cool cool cool mild cool mild mild mild hot mild
high high high high normal normal normal high normal normal normal high normal high
false true false false false true true false false false true true false true
N N P P P N P N P P P P P N
Agenda Repaso de probabilidad Modelos Bayesianos Clasificadores Bayesiano Naïve Bayes Red de creencias Clasificación sensible al costo
184
Clasificador Naïve Bayes
Asume independencia entre los atributos Ai cuando la clase es dada:
P(A1, A2, …, An |C) = P(A1| Cj) P(A2| Cj)… P(An| Cj)
Se debe estimar P(Ai| Cj) para todo Ai y Cj.
Un nuevo ejemplo es clasificado como Cj si P(Cj) Π P(Ai| Cj) es máximo.
¿Cómo Estimar las Probab. a Partir de los Datos?
185
¿Cómo Estimar las Probab. a Partir de los Datos?
Para atributos continuos:
Discretizar: el rango en bins
Separación: (A < v) o (A > v)
un atributo ordinal por bin viola la suposición de independencia Escoger solo uno de los dos intervalos como nuevo atributo
Estimación de la distribución de probabilidad:
Asuma que el atributo tiene una distribución normal Use los datos para estimar los parámetros de la distribución (ej.,media y desviación estándar) Una vez que la distribución de probabilidad se conoce, se puede usar para estimar P(Ai|c)
Cómo Estimar las Probab. a Partir de los Datos?
Distribución normal:
P ( Ai | C ij ) =
2π σ ij
e
( Ai − μ ij ) 2 2 σ ij 2
Uno por cada par (Ai,ci)
Para (Income, Class=No):
P ( Income = 120 | No ) =
−
1
Si Class=No
media muestral = 110
varianza muestral = 2975
− 1 e 2π * 54 .54
(120 −110 ) 2 2 ( 2975 )
= 0 .0072
186
Ejemplo del Clasificador Naïve Bayes X = (Re fund = No, Married , Income = 120 K ) z
P(X|Class=No) = P(Refund=No|Class=No) × P(Married| Class=No) × P(Income=120K| Class=No) = 4/7 × 4/7 × 0.0072 = 0.0024
z
P(X|Class=Yes) = P(Refund=No| Class=Yes) × P(Married| Class=Yes) × P(Income=120K| Class=Yes) = 1 × 0 × 1.2 × 10-9 = 0
Puesto que P(X|No)P(No) > P(X|Yes)P(Yes) entonces P(No|X) > P(Yes|X)
=> Clase = No
Clasificador Naïve Bayes Si una de las probabilidades condicionales es 0, entonces toda la expresión se vuelve 0 Estimación de la probabilidad: N Original : P ( Ai | C ) = ic c: número de clases Nc p: probabilidad a priori N ic + 1 Laplace : P( Ai | C ) = m: parámetro Nc + C N + mp m − estimate : P ( Ai | C ) = ic Nc + m
187
Naïve Bayes (Recapitulación) Robusto a ejemplos ruidosos Maneja valores faltantes simplemente ignorando la instancia durante los cálculos de la estimación de probabilidad Robusto a atributos irrelevantes La suposición de independencia puede no cumplirse para algunos atributos:
Se deben usar otras técnicas tales como redes de creencias Bayesianas
Agenda Repaso de probabilidad Modelos Bayesianos Clasificadores Bayesiano Naive Bayes Red de creencias Clasificación sensible al costo
188
Bayesian Belief Networks Redes de Creencias Bayesianas Modelar la probabilidad condicional de clases P(X|Y) sin el supuesto de independencia Permite especificar qué par de atributos son condicionalmente dependientes Pasos:
Representación y construcción del modelo Estimación de probabilidades condicionales Inferencia sobre el modelo
Red de Creencias
Un modelo gráfico de relaciones causales:
Representan dependencia condicional entre las variables Variables no explícitamente relacionadas se consideran condicionalmente independientes
Nodos: variables aleatorias Enlaces: dependencias
Y
X Z
X y Y son los padres de Z, y Y es el padre de P
P
No hay dependencia entre Z y P No tiene bucles o ciclos
189
Ejemplo Red de Creencia Historia Familiar
Fumador
Tabla de probabilidad condicional (TPC) para la variable cáncer de pulmón:
(HF, F) (HF, ~F) (~HF, F) (~HF, ~F)
Cáncer de pulmón
Rayos X Positivos
Efisema
Dipnea
CP
0.8
0.5
0.7
0.1
~CP
0.2
0.5
0.3
0.9
La derivación de la probabilidad de una combinación particular de valores de X, desde TPC: n
P( x1 ,..., xn ) = ∏ P( xi | Padres(Yi )) i =1
P( HF , F , CP, E , RXP, D) = P( HF | P( F ) P(CP | HF , F ) * P( E | F ) P( RXP | CP ) P( D) | CP, E )
Inferencia
Diagnosticar si una persona tiene Cáncer de Pulmón:
Sin información previa: P(CP) Rayos X Positivos: P(CP|RXP) Rayos X Positivos, Fumador, No Dipnea: P(CP|RXP,F,~D)
En todos los casos se puede calcular usando la probabilidad conjunta total y las leyes de probabilidad
190
Entrenamiento de Redes Bayesianas
Varios escenarios:
Dando la estructura de la red y todas las variables observables: aprende solo las TPCs. La estructura de la red se conoce, algunas variables están ocultas: método del gradiente descendente (greedy hill-climbing), análogo al aprendizaje neural de la red. La estructura de la red es desconocida, todas las variables son observables: buscar a través del espacio del modelo para reconstruir la topología de la red. Estructura desconocida, todas las variables están ocultas: no se conocen buenos algoritmos para éste propósito.
Ref. D. Heckerman: Bayesian networks for data mining
Características Modelo grafico Construir la red puede ser costoso. Sin embargo, una vez construida la red, adicionar una nueva variable es directo Trabajan bien con datos perdidos (sumando o integrando las probabilidades) El modelo es robusto a overfitting
191
Agenda Repaso de probabilidad Modelos Bayesianos Clasificadores Bayesiano Naive Bayes Red de creencias Clasificación sensible al costo
Clasificación Sensible al Costo Area
Ejemplo
Marketing
Comprador / no Comprador
Medicina
Enfermo / no Enfermo
Prestar / no Prestar
Spam / no Spam
Finanzas Spam
192
Suponer que los Errores Son Igualmente Costosos Pueden Llevar a Malas Decisiones Examples Marketing
El costo de hacerle una oferta a un no comprador es pequeña comparada con no contactar un comprador Finance
Spam
El costo de un mal prestamo es mayor que negarle un prestamo aun buen cliente
Rechazar correo que no sea Spam es más costoso que aceptar correo Spam
Matriz de Costos Actual
Predicted
Sunny Snowy Rainy Sunny
0
10
15
Snowy
1
1
11
Rainy
2
2
2
Fuente: Zadrozny y Abrahams
193
Costos Dependientes Fraude con Tarjeta de Crédito Real Predicho
Fraude No fraude Rechazo
20
- 20
Aprobar
-x
(0.2)x
x = valor transación
Fuente: Aprahams
Aprendizaje Sensitivo al Costo
Aprendizaje no sensitivo al costo: max
Ci P (C j | A1 ,..., An )
Aprendizaje sensitivo al costo: Escoger acción que minimice el costo esperado
min
Ci
∑ P(C
C j ≠ Ci
j
| A1 ,..., An )Costo(C j , Ci )
Costo(Cj,Ci) = costo de clasificar como Ci cuando realmente es Cj Los dos enfoques son equivalentes cuándo los costos son iguales para todos los errores
194
Metacost Es una algoritmo que permite volver cualquier clasificador sensitivo al costo Se debe especificar una matriz de costos El algoritmo reetiqueta los ejemplos de entrenamiento de manera que el costo esperado se minimice
Ejemplo
Objetivo P(Y=1|X=1) probabilidad condicional de que el equipo 1 gane el siguiente juego estando como local, y comparar con P(Y=0|X=1) Usando Bayes P(Y=1|X=1) = P(X=1|Y=1) P(Y=1)/ P(X=1) Ley de probabilidad total = P(X=1|Y=1) P(Y=1) / P(X=1,Y=1)+P(X=1,Y=0) = P(X=1|Y=1) P(Y=1) / P(X=1|Y=1)P(Y=1) +P(X=1|Y=0)P(Y=0)
= 0.75x0.35/(0.75x0.35 + 0.3x0.65) = 0.5738 P(Y=0|X=1) = 1 - P(Y=1|X=1) = 0.4262 Equipo1 tiene mas oportunidad de ganar
195
Ejemplo
X variable aleatoria que representa el equipo local Y variable aleatoria que representa el ganador
Probabilidad que equipo 0 gane: P(Y=0) = 0.65
Probabilidad que equipo 1 gane: P(Y=1) = 0.35 Probabilidad de que si el equipo 1 gana esté jugando como local:
P(X=1|Y=1) = 0.75
Probabilidad de que si el equipo 0 gana esté jugando como visitante:
P(X=1|Y=0) = 0.3
Bibliografía B. Zadrozny, J. Langford, and N. Abe. CostSensitive Learning by Cost-Proportionate Example Weighting. In Proceedings of the 2003 IEEE International Conference on Data Mining, 2003. Alpaydin, E. 2004 Introduction to Machine Learning (Adaptive Computation and Machine Learning). The MIT Press. Tan, Steinbach and Kumar, Introduction to Data Mining, Addison Wesly, 2006
196
Bibliografía Domingos. MetaCost: A General Method for Making Classifiers Cost-Sensitive. In Proceedings of the Fifth International Conference on Knowledge Discovery and Data Mining (KDD-99). 1999. Alan Abrahams, An Introduction to CostSensitive Learning , Lecture Slides,
http://opim.wharton.upenn.edu/~asa28/opi m_410_672_spring05/opim_410_guest_lect ure_dan_fleder_cost_sensitive_learning.ppt
NOTAS
197
Minería de Datos II - 2007
Regresión y Series de Tiempo
198
Agenda Regresión Series de tiempo
Agenda Regresión Series de tiempo
199
Regresión
Similar al problema de clasificación pero el atributo de clase es continua
Problema:encontrar una relación funcional entre una variable dependiente y uno o varias variables independientes
Tipos:
Regresión lineal
Regresión no lineal
Otros: regresión logísitica, árboles de decisión
Regresión Lineal Simple
Involucra una variable dependiente Y (o de respuesta) y una variable independiente X (o predictora) y = w0 + w1 x en donde w0 (intercepto) y w1 (pendiente) son coeficientes de regresión
Método de mínimos cuadrados: estima la línea que mejor ajuste los datos |D |
∑ (x w1 =
i
− x )(y i − y )
i=1
|D |
∑ (x
i
w0 = y −w1x
− x )2
i=1
200
Regresión Lineal Multivariada
Involucra más de una variable independiente
Los datos de entrenamiento tienen la forma: (X1, y1), (X2, y2),…, (X|D|, y|D|) en donde Xi=(Xi1,..,Xin)
Por ejemplo, para datos 2-D, se tiene y = w0 + w1 x1+ w2 x2
Se puede resolver extendiendo el método de mínimos cuadrados
Muchas funciones no lineales se pueden transformar en este modelo
Regresión no lineal
Algunos modelos no lineales se pueden modelar con una función polinomial
Un modelo de regresion polinomial puede transformarse en un modelos de regresión lineal: y = w0 + w1 x + w2 x2 + w3 x3
convertible a lineal con nuevas variables: x2 = x2, x3= x3 y = w0 + w1 x + w2 x2 + w3 x3
Otras funciones, ej. logaritmos, pueden transformarse en modelos lineales
Principal problema: se debe conocer/suponer la forma del modelo a priori
201
Regresión no Lineal
Solución: usar un modelo no paramétrico (o semiparamétrico)
Redes neuronales:
Neuronas de entrada: variables independientes
Neuronas de salida: variables dependientes
Regresión Logística
Objetivo: usar regresión para estimar la probabilidad P(Y|X1,...,Xn) = g(w0+w1X1+...+wnXn)
g() es una función sigmoide, usualmente la función logísitica:
g (x ) =
1 1+ e − x
202
Agenda Regresión Series de tiempo
Series de Tiempo
Base de Datos de Series de Tiempo
Consiste en secuencias de valores o eventos que cambian con el tiempo
Los datos son almacenados en intervalos regulares
Componentes principales de una serie de tiempo:
Tendencia, ciclo, estacional. irregular
Aplicaciones
Finanzas: inventarios, precio, inflación
Industria: consumo de energía
Ciencia: resultados de experimentos
Metereología: precipitación
203
Series de Tiempo
Una serie de tiempo puede ser ilustrada como una gráfica que describe un punto que se mueve a través del tiempo.
Categorías de Movimientos de Series de Tiempo
Tendencia: movimientos a largo plazo Cíclicos: oscilaciones de largo plazo sobre una línea o curva de tendencia
e.g. ciclos de negocios, que pueden o no ser periódicos
Estacionales: Casi siempre son patrones idénticos que una serie de tiempo aparenta seguir durante meses correspondientes durante años sucesivos.
Movimientos irregulares o aleatorios
204
Análisis de Series de Tiempo
Descomposición de una serie de tiempo en sus cuatro movimientos básicos Modo aditivo: TS = T + C + S + I Modo multiplicativo: TS = T × C × S × I
Diferentes métodos para estimar cada componente
Modelo Autoregresivo
El valor de la serie de tiempo en un momento dado depende de los valores anteriores: Xi = f(Xi-1,...,Xi-k)
Muchas veces, f es modelada como una función lineal
En el caso más general, f es una función no lineal
205
Autoregresión con Redes Neuronales
Se debe definir el tamaño de la ventana de autoregresión, k (número de datos a mirar hacia atrás)
La red neuronal debe tener k entradas y 1 salida
Los patrones de entrenamiento y prueba se construyen con base en la serie de tiempo (Xi,...,Xn) con una ventana deslizante: X1,...,XK XK+1 X2,...,XK XK+2 Xn-k,...,Xn-1 Xn
Bibliografía
Data Mining: Concepts and Techniques
Jiawei Han and Micheline Kamber Department of Computer Science University of Illinois at Urbana-Champaign 2006
206
Minería de Datos II - 2007
Agrupamiento Principios y Aplicaciones
207
Agenda
¿Qué es el análisis de Cluster?
Aplicaciones del Análisis de Cluster ¿Qué no es Análisis de Cluster?
Similitud y Disimilitud
Similitud /Disimilitud para Atributos Simples Distancia Euclidiana Distancia Minkowski Distancia de Mahalanobis Propiedades de una Distancia Propiedades comunes de una similitud Similitud entre Vectores Binarios Ejemplo: SMC versus Jaccard Similitud por coseno Coeficiente Extendido de Jaccard (Tanimoto) Correlación Densidad Densidad Euclidiana - Basada en Celdas Densidad Euclidiana – Basada en el Centro Tipos de Agrupamientos
Agenda
Tipos de Agrupamientos
Agrupamiento de Partición (Partitional Clustering) Agrupamiento Jerárquico Otras distinciones entre los conjuntos de Clusters Características importantes de la entradas de datos
Algoritmos de Agrupamiento
K-means y sus variantes Agrupamiento jerárquico Agrupamiento basado en densidad
208
Agenda
¿Qué es el análisis de Cluster?
Aplicaciones del Análisis de Cluster ¿Qué no es Análisis de Cluster?
Similitud y Disimilitud
Similitud /Disimilitud para Atributos Simples Distancia Euclidiana Distancia Minkowski Distancia de Mahalanobis Propiedades de una Distancia Propiedades comunes de una similitud Similitud entre Vectores Binarios Ejemplo: SMC versus Jaccard Similitud por coseno Coeficiente Extendido de Jaccard (Tanimoto) Correlación Densidad Densidad Euclidiana - Basada en Celdas Densidad Euclidiana – Basada en el Centro Tipos de Agrupamientos
¿Qué es el análisis de Cluster?
Los grupos de objetos encontrados, en un grupo serán similares o relativos sus objetos y diferentes de los objetos de otros grupos.
Las distancias dentro de los cluster son minimizadas
Las distancias entre los cluster son maximizadas
209
Aplicaciones del Análisis de Cluster
Entendimiento
Grupo relativo de documentos para encontrar grupos de genes y proteínas que tiene una funcionalidad similar, o grupos típicos con fluctuaciones de precios similares.
Clusters Descubiertos
1 2 3 4
Applied-Matl-DOWN,Bay-Network-Down,3-COM-DOWN, Cabletron-Sys-DOWN,CISCO-DOWN,HP-DOWN, DSC-Comm-DOWN,INTEL-DOWN,LSI-Logic-DOWN, Micron-Tech-DOWN,Texas-Inst-Down,Tellabs-Inc-Down, Natl-Semiconduct-DOWN,Oracl-DOWN,SGI-DOWN, Sun-DOWN Apple-Comp-DOWN,Autodesk-DOWN,DEC-DOWN, ADV-Micro-Device-DOWN,Andrew-Corp-DOWN, Computer-Assoc-DOWN,Circuit-City-DOWN, Compaq-DOWN, EMC-Corp-DOWN, Gen-Inst-DOWN, Motorola-DOWN,Microsoft-DOWN,Scientific-Atl-DOWN Fannie-Mae-DOWN,Fed-Home-Loan-DOWN, MBNA-Corp-DOWN,Morgan-Stanley-DOWN Baker-Hughes-UP,Dresser-Inds-UP,Halliburton-HLD-UP, Louisiana-Land-UP,Phillips-Petro-UP,Unocal-UP, Schlumberger-UP
Grupo Industrial
Technology1-DOWN
Technology2-DOWN
Financial-DOWN Oil-UP
Resumen
Reducir el tamaño de los grandes conjuntos de datos
Agrupamiento para la precipitación en Australia
¿Qué no es Análisis de Cluster?
Clasificación Supervisada
Segmentación Simple
Dividir los estudiantes en grupos diferentes de registro alfabéticamente por apellido.
Resultados de una consulta
Tiene etiquetas de información de la clase
Los agrupamientos son resultados de una especificación externa
Partición Gráfico
Existe cierta importancia y sinergia mutua, pero las áreas no son idénticas
210
La Noción de Cluster puede ser ambigua
¿Cuántos clusters hay?
Seis Clusters
Dos Clusters
Cuatro Clusters
Agenda
¿Qué es el análisis de Cluster?
Aplicaciones del Análisis de Cluster ¿Qué no es Análisis de Cluster?
Similitud y Disimilitud
Similitud /Disimilitud para Atributos Simples Distancia Euclidiana Distancia Minkowski Distancia de Mahalanobis Propiedades de una Distancia Propiedades comunes de una similitud Similitud entre Vectores Binarios Ejemplo: SMC versus Jaccard Similitud por coseno Coeficiente Extendido de Jaccard (Tanimoto) Correlación Evaluación Gráfica de la Correlación Aproximación General para Combinar Similitudes Uso de Pesos para Combinar Similitudes Densidad Densidad Euclidiana - Basada en Celdas Densidad Euclidiana – Basada en el Centro Tipos de Agrupamientos
211
Similitud y Disimilitud Similitud
Medida numérica de semejanza entre objetos Valor alto para objetos parecidos A menudo definida en el intervalo [0,1]
Disimilitud
Medida numérica de diferencia entre objetos Valor bajo para objetos parecidos Varia entre [0, ∞) Usualmente es una distancia
Proximidad
Se refiere a similitud o disimilitud
Similitud /Disimilitud para Atributos Simples p y q son los valores de los atributos para dos objetos de datos.
Similitud y disimilitud para atributos simples
212
Distancia Euclidiana dist =
n
∑ ( pk
k =1
− qk )2
n es la dimensión (numero de atributos) pk y qk son los k- ésimos atributos de los datos p y q.
Se realiza normalización si las escalas de los atributos difieren.
Distancia Euclidiana 3
punto p1 p2 p3 p4
p1
2
p3
p4
1 p2
x 0 2 3 5
y 2 0 1 1
0 0
1
2
3
4
5
6
p1 p1 p2 p3 p4
0 2.828 3.162 5.099
p2 2.828 0 1.414 3.162
p3 3.162 1.414 0 2
p4 5.099 3.162 2 0
Matriz de Distancias
213
Distancia Minkowski
Generalización de la distancia Euclidiana mediante el parámetro r 1
n
dist = ( ∑ | pk − qk |r ) r k =1
r = 1. Distancia Manhattan (taxi, norma L1).
Ejemplo típico: Distancia de Hamming: Numero de bits diferentes entre dos arreglos de bits
r = 2. Distancia Euclidiana r → ∞. Distancia “supremo” (norma Lmax o L∞).
La máxima diferencia entre los atributos
Distancia Minkowski punto p1 p2 p3 p4
x 0 2 3 5
y 2 0 1 1
L1 p1 p2 p3 p4
p1 0 4 4 6
p2 4 0 2 4
p3 4 2 0 2
p4 6 4 2 0
L2 p1 p2 p3 p4
p1
p2 2.828 0 1.414 3.162
p3 3.162 1.414 0 2
p4 5.099 3.162 2 0
L∞ p1 p2 p3 p4
p1
p2
p3
p4
0 2.828 3.162 5.099
0 2 3 5
2 0 1 3
3 1 0 2
5 3 2 0
Matriz de Distancias
214
Distancia de Mahalanobis mahalanobi s ( p , q ) = ( p − q ) ∑ −1 ( p − q ) T Σ es la matriz de covarianzas de los datos de entrada X Σ j ,k =
1 n ∑ ( X ij − X j )( X ik − X k ) n − 1 i =1
Para los puntos rojos, la distancia Euclidiana es 14.7, mientras que la distancia de Mahalanobis es 6.
Distancia de Mahalanobis Matriz de Covarianza:
C
⎡ 0.3 0.2⎤ Σ=⎢ ⎥ ⎣0.2 0.3⎦ A: (0.5, 0.5)
B
B: (0, 1) A
C: (1.5, 1.5) Mahal(A,B) = 5 Mahal(A,C) = 4
215
Propiedades de una Distancia
Una métrica d es una función que tiene las siguientes propiedades. 1. 2. 3.
d(p, q) ≥ 0 para todos p y q y d(p, q) = 0 solamente si p = q. (Definida positiva) d(p, q) = d(q, p) para todos p y q. (Simetría) d(p, r) ≤ d(p, q) + d(q, r) para todos p, q, y r. (Desigualdad triangular)
Toda distancia satisface las propiedades de una métrica
Propiedades comunes de una similitud
Las similitudes tienen algunas características bien conocidas: 1.
s(p, q) = 1 (o máxima similitud) solo si p = q.
2.
s(p, q) = s(q, p) para todo p y q. (Simétrica)
Donde s(p, q) es la similitud entre puntos (objetos de datos), p y q.
216
Similitud entre Vectores Binarios
Una situación común es que los objetos, p y q, tienen solo atributos binarios Similitudes de cálculo usando las cantidades siguientes: M01 = el número de atributos donde p es 0 y q es 1 M10 = el número de atributos donde p es 1 y q es 0 M00 = el número de atributos donde p es 0 y q es 0 M11 = el número de atributos donde p es 1 y q es 1
Correspondencia simple (SMC) y Coeficientes de Jaccard (J) SMC = (M11 + M00) / (M01 + M10 + M11 + M00) J = (M11) / (M01 + M10 + M11)
Ejemplo: SMC versus Jaccard p= 1000000000 q= 0000001001 M01 = el número de atributos donde p M10 = el número de atributos donde p M00 = el número de atributos donde p M11 = el número de atributos donde p
es 0 y q es 1 es 1 y q es 0 es 0 y q es 0 es 1 y q es 1
SMC = (M11 + M00)/(M01 + M10 + M11 + M00) = (0+7) / (2+1+0+7) = 0.7 J = (M11) / (M01 + M10 + M11) = 0 / (2 + 1 + 0) = 0
217
Similitud por coseno Útil
para vectores documentales cos( d1, d2 ) = (d1 • d2) / ||d1|| ||d2|| ,
Ejemplo: d1 = 3 2 0 5 0 0 0 2 0 0
d2 = 1 0 0 0 0 0 0 1 0 2
d1•d2=3*1 +2*0 +0*0 + 5*0 + 0*0 + 0*0 + 0*0 + 2*1 + 0*0 + 0*2 = 5 ||d1||=(3*3+2*2+0*0+5*5+0*0+0*0+0*0+2*2+0*0+0*0)0.5 = (42) 0.5 ||d1|| = 6.481 ||d2|| = (1*1+0*0+0*0+0*0+0*0+0*0+0*0+1*1+0*0+2*2) 0.5 = (6) 0.5 ||d2|| = 2.245
cos( d1, d2 ) = .3150
Coeficiente Extendido de Jaccard (Tanimoto) Variación
de Jaccard para atributos continuos o de conteo
Reduce el coeficiente Jaccard para atributos binarios
218
Correlación La
correlación cuantifica la relación lineal entre objetos Para calcular la correlación, se estandarizan los objetos, p y q, y luego se efectúa el producto punto
pk′ = ( pk − media( p)) / std ( p)
qk′ = (qk − media(q)) / std (q ) correlación( p, q) = p′ • q′
Densidad El
agrupamiento basado en densidad, requiere entender el concepto de densidad: Ejemplos:
Densidad Euclidiana: Densidad
Euclidiana = número de puntos por unidad de volumen
Densidad de Probabilidad
Graficas basadas en densidad
219
Densidad Euclidiana Basada en Celdas
La aproximación más simple es dividir la región en un número de celdas rectangulares de igual volumen y donde su densidad se define como el número de puntos que contiene la celda.
Densidad basada en celdas
Conteo de puntos para dada celda de la malla
Densidad Euclidiana – Basada en el Centro La
densidad Euclidiana es el número de puntos dentro de un radio específico al punto.
Densidad Basada en el Centro
220
Agenda
Tipos de Agrupamientos
Agrupamiento de Partición (Partitional Clustering) Agrupamiento Jerárquico Otras distinciones entre los conjuntos de Clusters Características importantes de la entradas de datos
Algoritmos de Agrupamiento
K-means y sus variantes Agrupamiento jerárquico Agrupamiento basado en densidad
Tipos de Agrupamientos
Un agrupamiento es un grupo de clusters
Agrupamiento Jerárquico
Es un conjunto de clusters anidados, organizados como un árbol jerárquico
Agrupamiento de Partición
Una división de objetos de datos en conjuntos no superpuestos (clusters), donde cada objeto de dato es exactamente un subconjunto.
221
Agrupamiento de Partición (Partitional Clustering)
Puntos Originales
Un agrupamiento de partición
Agrupamiento Jerárquico (Hierarchical Clustering) p1 p3
p4
p2
p1 p2 Agrupamiento Tradicional Jerárquico
p3 p4
Dendrograma Tradicional
p1 p3
p4
p2
p1 p2 Agrupamiento Jerárquico No - Tradicional
p3 p4
Dendrograma No tradicional
222
Otras distinciones entre los conjuntos de Clusters
Exclusivo vs. no - exclusivo
En los agrupamientos no exclusivos, los puntos pueden pertenecer a múltiples clusters. Se puede representar múltiples clases o puntos frontera.
Difuso vs. no - difuso
En el agrupamiento difuso, un punto pertenece a todo cluster con algún peso entre 0 y 1.
Los pesos deben sumar 1. El agrupamiento probabilístico tiene características similares.
Otras distinciones entre los conjuntos de Clusters
Parcial vs. completo
En algunos casos, solo se necesita agrupar algunos de los datos.
Heterogéneo vs. homogéneo
Agrupamiento generalmente de diferentes tamaños, formas y densidades.
223
Tipos de Clusters Clusters
bien separados Clusters basados en el centro Clusters contiguos Clusters basados en densidad De propiedad o Conceptual Descrito por una Función Objetivo
Tipos de Clusters: Bien Separados
Un cluster es un conjunto de puntos en el que cualquier punto en el cluster es más cercano a cualquier otro punto en el cluster que cualquier otro punto que no esté en el cluster
3 clusters bien separados
224
Tipos de Clusters: Basados en el centro
Un cluster es un conjunto de objetos en el que un objeto está más cerca al centro del cluster, que al centro de otro cluster.
El centro de un cluster frecuentemente es llamado centroide, el promedio de todos los puntos en el cluster o el “medoid”, el punto más representativo del cluster.
4 clusters basados en el centro
Tipos de Clusters:
Clusters contiguos
Un cluster es un conjunto de puntos donde un punto en el cluster está más próximo a otro punto o puntos en el cluster que a cualquier otro punto que no pertenezca al cluster.
8 clusters contiguos
225
Tipos de Clusters:
Basados en Densidad
Un cluster es una región densa de puntos, separados por regiones de baja densidad, de otras regiones de alta densidad. Se usan cuando los clusters son irregulares o entrelazados, y cuando se presenta ruido y datos atípicos
6 clusters basados en densidad
Tipos de Clusters:
Clusters Conceptuales
De propiedad compartida o clusters conceptuales
Son clusters que tienen propiedad compartida o representan un concepto particular
.
2 Círculos entrelazados
226
Tipos de Clusters:
De Función Objetivo
Clusters Definidos por una Función Objetivo
Son clusters que minimizan o maximizan una función objetivo Enumeran todas las posibles formas de dividir los puntos dentro de un cluster y evalúan la “bondad” de cada conjunto potencial de clusters usando una función objetivo dada (NP Hard)
Características importantes de la entradas de datos
Tipo de proximidad o medida de la densidad
Poca densidad
Dicta el tipo de similitud
Tipo de Datos
Dicta el tipo de similitud Agrega eficiencia
Tipo de atributo
Es una medida derivada, pero básica para el agrupamiento.
Dicta el tipo de similitud Otra característica: auto-correlación
Dimensionalidad Ruido y datos atípicos (Outliers) Tipo de Distribución
227
Algoritmos de Agrupamiento
K-means y sus variantes
Agrupamiento jerárquico
Agrupamiento basado en densidad
Agrupamiento K-means
Aproximación al agrupamiento por partición Cada cluster está asociado con un centroide (punto central) Cada punto es asignado al cluster más cercano al centroide El número de clusters “K” debe ser especificado El algoritmo básico es muy simple
1: Seleccionar K puntos como los centroides iniciales 2: Repetir 3: Desde K clusters asignar todos los puntos al centroide más cercano 4: Recalcular el centroide de cada cluster 5: Hasta El centroide no cambia
228
Detalles del Agrupamiento K-means Los centroides iniciales se escogen aleatoriamente.
Los clusters generados varían de una ejecución a otra.
El centroide generalmente es igual al número de puntos en el cluster.
La proximidad es medida por la distancia Euclidiana, la similitud por coseno, correlación, etc. K-means convergerá a una medida de similitud común mencionada anteriormente. La mayoría de la convergencia ocurre en las primeras iteraciones:
Frecuentemente la condición para parar es cambiada por “Hasta que algunos puntos cambien de cluster”
La complejidad es: O( n * K * I * d )
n = número de puntos, K = número de clusters
I = número de iteraciones, d = número de atributos
Dos Agrupamientos diferentes con K-means Puntos Originales
3 2.5 2
y
1.5 1 0.5 0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x 3
3
2.5
2.5 2
1.5
1.5
y
y
2
1
1
0.5
0.5 0
0
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
2
Agrupamiento Óptimo
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
Agrupamiento Sub- óptimo
229
Importancia de la elección de los centroides iniciales Iteration 5 Iteration 16 2 3 4
33 2.5 2.5
22
yy
1.5 1.5
1
1
0.5 0.5
0
0
-2 -2
-1.5 -1.5
-1 -1
-0.5 -0.5
0 0
0.5 0.5
x x
1 1
1.5 1.5
2 2
Importancia de la elección de los centroides iniciales Iteration 1
Iteration 2
Iteration 3
2.5
2.5
2.5
2
2
2
1.5
1.5
1.5
y
3
y
3
y
3
1
1
1
0.5
0.5
0.5
0
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
0
-2
-1.5
-1
-0.5
x
0
0.5
1
1.5
2
-2
Iteration 4
Iteration 5 2.5
2
2
1.5
1.5
1.5
1
1
1
0.5
0.5
0.5
0
0
-0.5
0
x
0.5
1
1.5
2
0
0.5
1
1.5
2
1
1.5
2
y
2.5
2
y
2.5
y
3
-1
-0.5
Iteration 6
3
-1.5
-1
x
3
-2
-1.5
x
0
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
2
-2
-1.5
-1
-0.5
0
0.5
x
230
Evaluando los Clusters K-means
La medida más común es la suma del Error Cuadrático (SSE)
Cada punto, el error es la distancia del cluster más cercano. Para obtener el SSE, se elevan al cuadrado los errores y se suman.
SSE
=
K
∑ ∑
i = 1 x∈ C
2
dist
(m i, x )
i
x es un punto en el cluster Ci y mi es el punto representativo para el cluster Ci
Dados dos clusters, se puede elegir uso con el menor error Una manera fácil de reducir el SSE es incrementar K, el número de clusters
Se puede mostrar que mi corresponde al centro (promedio) del cluster
Un buen agrupamiento con K pequeño, puede tener un SSE más bajo que un agrupamiento con un K grande
Importancia de la elección de los centroides iniciales Iteration 5 1 2 3 4 3 2.5 2
y
1.5 1 0.5 0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
231
Importancia de la elección de los centroides iniciales Iteration 1
Iteration 2
3
3
2.5
2.5
y
2 1.5
y
2 1.5 1
1
0.5
0.5
0
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
-2
-1.5
-1
-0.5
x
0
0.5
Iteration 3
2.5
2
2
1.5
1.5
1.5
y
2.5
2
y
2.5
y
3
1
1
1
0.5
0.5
0.5
0
0
-1
-0.5
0
0.5
2
Iteration 5
3
-1.5
1.5
Iteration 4
3
-2
1
x
1
1.5
x
2
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
x
2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
Problemas con Selección Inicial de Puntos
Si hay K clusters reales, luego la posibilidad de seleccionar un centroide desde cualquier cluster es pequeña
La probabilidad es relativamente pequeña cuando K es grande. Si los clusters son del mismo tamaño, n, entonces
P=
número de formas para selecciona r un centroide desde cada cluster número de formas para selecciona r K centroides
P=
K !n K K! = ( Kn ) K K K
Por ejemplo, si K = 10, entonces la probabilidad es = 10!/1010 = 0.00036 A veces los centroides iniciales se reajustarán solos en la forma adecuada, y a veces no.
232
Ejemplo con 10 Clusters Iteration 4 1 2 3
Comenzando con dos centroides iniciales en un cluster para cada par de clusters
8 6 4
y
2 0 -2 -4 -6 0
5
10
15
20
x
Ejemplo con 10 Clusters Comenzando con dos centroides iniciales en un cluster para cada par de clusters Iteration 2 8
6
6
4
4
2
2
y
y
Iteration 1 8
0
0
-2
-2
-4
-4
-6
-6 0
5
10
15
20
0
5
x
15
20
15
20
Iteration 4 8
6
6
4
4
2
2
y
y
10
x
Iteration 3 8
0
0
-2
-2
-4
-4
-6
-6 0
5
10
x
15
20
0
5
10
x
233
Ejemplo con 10 Clusters Iteration 4 1 2 3
Comenzando con algunos pares de clusters teniendo tres centroides iniciales, mientras los otros tienen solo uno
8 6 4
y
2 0 -2 -4 -6 0
5
10
15
20
x
Ejemplo con 10 Clusters Comenzando con algunos pares de clusters teniendo tres centroides iniciales, mientras los otros tienen solo uno Iteration 2
Iteration 1
8
8
6
6 4
4 2
y
y
2 0
0 -2
-2 -4
-4 -6
-6 0
0
5
10
15
10
15
20
x Iteration 4
x
8
Iteration 3 8
6
6
4
4
2
y
2
y
5
20
0
0
-2 -2
-4 -4
-6 -6 0
5
10
x
15
20
0
5
10
15
20
x
234
Soluciones al problema de los centroides iniciales
Múltiples ejecuciones
Agrupamiento de prueba y agrupamiento jerárquico para determinar los centroides iniciales Seleccionar mas de un K inicial de centroides y luego seleccionar entre estos los centroides iniciales
Ayuda, pero la probabilidad no está de su lado
Seleccionarlos ampliamente separados
Postprocesamiento Bisectar K-means
No se recomienda para inicialización
Manejo de Clusters vacíos
El algoritmo básico K-means puede eliminar clusters vacíos.
Algunas estrategias
Elegir el punto que contribuya más al SSE Elegir el punto desde el cluster con el mayor SSE Si hay varios clusters vacíos, el paso anterior puede repetirse varias veces.
235
Pre-procesamiento y Post-procesamiento
Pre-procesamiento
Normaliza los datos Elimina los datos atípicos (outliers)
Post-procesamiento
Elimina los clusters pequeños que pueden representar los datos atípicos Divide los clusters “flojos”, es decir, los que tienen un SSE relativamente alto Combina los clusters que están “cerrados” y que tienen un SSE relativamente bajo Se pueden usar estos paso durante el proceso de agrupamiento
ISODATA
Bisectar K-means
Algoritmo Bisectar K-means
Variación del K-means que produce un agrupamiento de partición o jerárquico
1: Inicializar la lista de clusters para reducir el cluster que contiene todos los puntos 2: Repetir 3: Seleccionar un cluster de la lista de clusters 4: Para i = 1 hasta número_de_iteraciones Hacer 5: Bisectar el cluster seleccionado usando el K-means 6: Fin_para 7: Adicionar los dos clusters de la bisección con el menor SSE a la lista de clusters 8: Hasta La lista de clusters tiene K clusters
236
Ejemplo de Bisectar Kmeans
Limitaciones del K-means
K-means tiene problemas cuando los clusters difieren en:
Tamaño Densidad Formas no globulares
K-means tiene problemas cuando los datos tienen datos atípicos
237
Limitaciones del K-means: Diferentes Tamaños
Puntos Originales
K-means (3 Clusters)
Limitaciones del K-means: Densidad Diferente
Puntos Originales
K-means (3 Clusters)
238
Limitaciones del K-means: Formas no globulares
Puntos Originales
K-means (2 Clusters)
Limitación del K-means superada
Puntos Originales
K-means Clusters
Una solución es usar muchos clusters. Encontrar partes de clusters, pero se necesita ponerlas todas
239
Limitación del K-means superada
Puntos Originales
K-means Clusters
Limitación del K-means superada
Puntos Originales
K-means Clusters
240
Agrupamiento Jerárquico Produce un conjunto de clusters anidados organizados como árboles jerárquicos Puede ser visualizado como un dendrograma
Un árbol como un diagrama que recuerda la secuencia de combinación o división 5
6 0.2
4 3
4
2
0.15
5 2
0.1
1
0.05
0
3 1
3
2
5
4
1
6
Fortalezas del Agrupamiento Jerárquico
No se asume un número particular de clusters
El número deseado de clusters se obtiene seleccionando el nivel adecuado del dendograma
Puede corresponder a taxonomías significativas
Ejemplo: en biología (reino animal, reconstrucción de filogenia)
241
Agrupamiento Jerárquico
Los dos tipos principales de agrupamiento jerárquico:
Aglomerado:
Divisivo:
Comienza con los puntos como clusters individuales En cada paso, se combinan los pares de clusters más cercanos hasta que solo uno (o k clusters) queda Comienza con uno, todos los clusters inclusivos En cada paso, se divide un clusters hasta que cada cluster contiene un punto (o hay k clusters)
Los algoritmos jerárquicos tradicionales usan una similitud o matriz de distancia
Combina o divide un cluster a la vez
Algoritmo de Agrupamiento Aglomerado
Es la técnica más popular de agrupamiento jerárquico El algoritmo básico es directo: 1. 2. 3. 4. 1.
Calcula la matriz de proximidad Se deja que cada punto sea un cluster Repetir Combinar los dos clusters más cercanos Actualizar la matriz de proximidad Hasta solo un cluster simple se obtiene
La operación clave es el cálculo de la proximidad de dos clusters
Los diversos acercamientos a definir la distancia entre los clusters distingue a los distintos algoritmos
242
Situación Inicial
Comienza con los clusters individuales y la matriz de proximidad p1
p2
p3
p4 p5
...
p1 p2 p3 p4 p5 . .
Matriz de Proximidad
.
Situación Intermedia
Luego de algunos pasos de combinación, se obtienen algunos clusters
C1
C2
C3
C4
C5
C1 C2
C3 C4
C3 C4 C5
C1
Matriz de Proximidad C2
C5
243
Situación Intermedia
Se necesita combinar dos de los clusters más cercanos (C2 y C5 y actualizar la matriz de proximidad)
C1
C3
C2
C4
C5
C1 C2 C3
C3 C4
C4 C5
Matriz de Proximidad C1
C5
C2
Después de Combinar
La pregunta es “¿Cómo se puede actualizar la matriz de proximidad?”
C1
C3 C4
C3
C4
?
?
?
C1 C2 U C5
C2 U C5
?
?
C3
?
C4
?
Matriz de Proximidad
C1
C2 U C5
244
¿Cómo definir la similitud entre clusters? p1
¿Similitud?
p2
p3
p4
p5
...
p1 p2 p3
MIN MAX Promedio del Grupo Distancia entre Centroides Otros métodos se guían por una función objetivo
p4 p5
. . .
Matriz de Proximidad
El método de Ward usa el error cuadrático
¿Cómo definir la similitud entre clusters? p1
p2
p3
p4 p5
...
p1 p2 p3 p4
MIN MAX Promedio del Grupo Distancia entre Centroides Otros métodos se guían por una función objetivo
p5
. . .
Matriz de Proximidad
El método de Ward usa el error cuadrático
245
¿Cómo definir la similitud entre clusters? p1
p2
p3
p4 p5
...
p1 p2 p3
MIN MAX Promedio del Grupo Distancia entre Centroides Otros métodos se guían por una función objetivo
p4 p5
. . .
Matriz de Proximidad
El método de Ward usa el error cuadrático
¿Cómo definir la similitud entre clusters? p1
p2
p3
p4 p5
...
p1 p2 p3 p4
MIN MAX Promedio del Grupo Distancia entre Centroides Otros métodos se guían por una función objetivo
p5
. . .
Matriz de Proximidad
El método de Ward usa el error cuadrático
246
¿Cómo definir la similitud entre clusters? p1
p2
p3
p4 p5
...
p1 ×
×
p2 p3 p4
MIN MAX Promedio del Grupo Distancia entre Centroides Otros métodos se guían por una función objetivo
p5
. . .
Matriz de Proximidad
El método de Ward usa el error cuadrático
Similitud de Cluster: MIN o Enlace simple
La similitud de dos cluster se basa en los dos puntos más similares (cercanos) en dos clusters
Es determinado por un par de puntos, es decir, un enlace en la gráfica de proximidad
I1 I2 I3 I4 I5
I1 1.00 0.90 0.10 0.65 0.20
I2 0.90 1.00 0.70 0.60 0.50
I3 0.10 0.70 1.00 0.40 0.30
I4 0.65 0.60 0.40 1.00 0.80
I5 0.20 0.50 0.30 0.80 1.00
1
2
3
4
5
247
Agrupamiento Jerárquico: MIN 1
3
5
0.2
5
2
1
2
3
0.15
6
0.1
0.05
4
4
Clusters Anidados
0
3
6
2
5
4
1
Dendrogram
Fortaleza de MIN
Puntos Originales
Dos Clusters
•Puede manejar formas no elípticas
248
Limitaciones de MIN
Puntos Originales
Dos Clusters
• Sensitivo al ruido y a los datos atípicos (outliers)
Similitud de Cluster: MAX o Enlace completo
La similitud de dos clusters se basa en al menos los dos puntos similares (más distantes) en los dos clusters
Está determinado por todos los pares de puntos en los dos clusters
I1 I1 1.00 I2 0.90 I3 0.10 I4 0.65 I5 0.20
I2 I3 I4 I5 0.90 0.10 0.65 0.20 1.00 0.70 0.60 0.50 0.70 1.00 0.40 0.30 0.60 0.40 1.00 0.80 0.50 0.30 0.80 1.00
1
2
3
4
5
249
Similitud de Cluster: MAX 4
1
2 5
5
0.4 0.35 0.3
2
0.25
3
3
6 1
4
Clusters Anidados
0.2 0.15 0.1 0.05 0
3
6
4
1
2
5
Dendrograma
Fortaleza de MAX
Puntos Originales
Dos Clusters
•Menos susceptible al ruido y a los datos atípicos
250
Limitaciones de MAX
Puntos Originales
Dos Clusters
•Tiende a romper los clusters grandes •Predispuesto para clusters globulares
Similitud de Cluster: Promedio de Grupo
La proximidad de dos cluster es el promedio de la proximidad por parejas entre los puntos de dos clusters ∑ proximity(pi , p j ) proximity(Clusteri , Clusterj ) =
pi∈Clusteri p j∈Clusterj
|Clusteri |∗|Clusterj |
Es necesario usar el promedio para la conectividad y escalabilidad debido a que el total favorece es a los grandes clusters. I1 I2 I3 I4 I5 I1 1.00 0.90 0.10 0.65 0.20 I2 0.90 1.00 0.70 0.60 0.50 I3 0.10 0.70 1.00 0.40 0.30 I4 0.65 0.60 0.40 1.00 0.80 1 2 3 4 5 I5 0.20 0.50 0.30 0.80 1.00
251
Similitud de Cluster: Promedio de Grupo 5
4
1
2 5
0.25 0.2
2 0.15
3
6 1
4
3
0.1 0.05 0
3
Clusters Anidados
6
4
1
2
5
Dendrograma
Similitud de Cluster: Promedio de Grupo
Compromete tanto el acoplamiento singular como el completo.
Fortalezas
Menos susceptible al ruido y a los datos atípicos
Limitaciones
Predispuesto para clusters globulares
252
Similitud de Cluster: Método de Ward
La similitud de dos clusters se basa en el incremento del error cuadrático cuando dos clusters se combinan De igual manera que el promedio de grupo, si la distancia entre puntos es la distancia cuadrática
Menos susceptible al ruido y a los datos atípicos
Predispuesto para clusters globulares
Jerarquía análoga al K - means Puede ser usada para inicializar K- means
Agrupamiento Jerárquico: Comparación 1
3 5
5 4
1
2 2
4
2
MIN
3
MAX
6
5
3
3
6 1
4 5
5
2
4
2
4
1 5
5
1
Método de Ward
2 3
3
5
1
2 3
6 1
4
4 2
Promedio de Grupo
6 1
4
3
253
Agrupamiento Jerárquico: Requerimientos de Tiempo y Espacio
Espacio de orden O(N2) debido a que usa la matriz de proximidad.
N es el número de puntos.
El tiempo es de orden O(N3) en muchos casos
Hay N pasos y cada paso tiene un tamaño de N2, la matriz de proximidad debe ser hallada y actualizada La complejidad del tiempo puede reducirse a O(N2 log(N) en algunas aproximaciones
Agrupamiento Jerárquico:
Problemas y Limitaciones Una vez que se toma una decisión para combinar dos clusters, no puede ser deshacerse La función objetivo no es directamente minimizada Los esquemas diferentes tienen problemas con uno o más de los siguientes factores:
Sensibilidad al ruido y a los datos atípicos Dificultad para manejar clusters de diferente tamaño y formas convexas Rompimiento de clusters grandes
254
MST: Agrupamiento Jerárquico Divisivo
Construir MST (Minimum Spanning Tree, Árbol de Mínima cobertura)
Comenzar con un árbol que consiste en cualquier punto En los pasos sucesivos, buscar el par de puntos más cercanos (p, q), el punto “p” está en el árbol actual pero el otro “q” no lo esta Adicionar q al árbol y colocar un enlace entre p y q.
MST: Agrupamiento Jerárquico Divisivo Se
usa el MST para construir jerarquías de clusters
Algoritmo para el MST Agrupamiento Jerárquico Divisivo 1: Calcular el árbol de mínima cobertura para la gráfica de proximidad 2: Repetir 3: Crear un nuevo cluster por rompimiento de enlace correspondiente a la distancia más grande (menor similitud) 4:Hasta Solo queda un cluster con un único elemento
255
DBSCAN
DBSCAN es un algoritmo basado en densidad
Densidad = número de puntos dentro de un radio específico(Eps)
Un punto es un punto nuclear si este tiene mas de un número específico de puntos (MinPts) dentro del Eps Estos son puntos que están en el interior del cluster
Un punto frontera tiene menos de MinPts dentro del Eps, pero en su vecindad es un punto nuclear
Un punto de ruido es cualquier punto que no es un punto nuclear o un punto frontera
DBSCAN: Puntos nucleares, frontera, ruido
256
Algoritmo DBSCAN
Eliminar los puntos de ruido Hacer agrupamiento en los puntos restantes
DBSCAN: Puntos nucleares, frontera, ruido
Puntos Originales Tipo de puntos: nuclear, borde y ruido Eps = 10, MinPts = 4
257
¿Cuándo funciona mejor DBSCAN?
Puntos Originales
Clusters
• Resistencia al Ruido •Puede manejar clusters de diferentes formas y tamaños
¿Cuándo no funciona bien DBSCAN?
Puntos Originales
(MinPts=4, Eps=9.75).
• Densidades que varían • Alta dimensionalidad de los datos (MinPts=4, Eps=9.92)
258
DBSCAN: Determinando EPS y MinPts
La idea es que para los puntos en un cluster, sus k-ésimas vecindades más cercanas estén a la misma distancia. Los puntos de ruido tienen la k-ésima vecindad más cercana a una distancia más lejana. Se grafica la distancia ordenada de cada punto a su k-ésima vecindad más cercana
Bibliografía
Data Mining: Cluster Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 8: “Introduction to Data Mining by Tan, Steinbach, Kumar
259
Minería de Datos II - 2007
AGRUPAMIENTO EVALUACIÓN Y SOM
260
Agenda Validación de agrupamiento (clustering) Self Organizing Maps (SOM)
Agenda Validación de agrupamiento (clustering) Self Organizing Maps (SOM)
261
Validación de clusters
Diferentes medidas para evaluar modelos supervisados: accuracy, precision, recall Para análisis de clusters, la pregunta es: ¿Cómo evaluar la “bondad” de los clusters resultantes? Pero “los clusters están en el ojo del observador”! ¿Por qué se quiere evaluarlos?
Para Para Para Para
evitar encontrar patrones en el ruido comparar los algoritmos de agrupamiento comparar dos conjuntos de clusters comparar dos clusters
Clusters encontrados en Datos Aleatorios 1 0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
y
y
Puntos Aleatorios
1 0.9
0.4
0.4
0.3
0.3
0.2
0.2
0.1 0
DBSCAN
0.1 0
0.2
0.4
0.6
0.8
0
1
0
0.2
0.4
x 1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
y
y
K-means
0.4
0.4
0.3
0.3
0.2
0.2
0.1 0
0.6
0.8
1
x
Enlace Completo
0.1 0
0.2
0.4
0.6
x
0.8
1
0
0
0.2
0.4
0.6
0.8
1
x
262
Aspectos principales para la Validación de Clusters 1. 2. 3. 4. 5.
Determinar la tendencia del agrupamiento de un grupo de datos, i.e., identificar si una estructura no aleatoria existe en los datos. Comparar los resultados de un análisis de cluster con resultados externos conocidos, e.g, con etiqeutas de clases dadas externamente. Evaluar que tan bien los resultados de un análisis de cluster se ajustan a los datos sin referirse a información externa. Comparar los resultados de dos conjuntos diferentes de análisis de cluster para determinar cuál es mejor. Determinar el número correcto de clusters
Para 2, 3 y 4 podemos además distinguir si se quiere evaluar el agrupamiento completo o solo unos clusters individuales
Medidas de Validación de Cluster
Las medidas numéricas que son aplicadas para juzgar varios aspectos de la validación de cluster, son clasificadas en los siguientes tres tipos:
Índice Externo: usado para medir el grado en que las etiquetas de cluster coinciden con etiquetas de clases externas. Entropía Índice Interno: usado para medir la “bondad” de un estructura agrupada sin tener información de referencia externa Sum of Squared Error (SSE) Índice Relativo: usado para comparar dos agrupamientos diferentes o clusters Frecuentemente se usa un índice externo o interno para esta función, e.g., SSE o Entropía
263
Medidas de Validación de Cluster a través de Correlación
Dos matrices:
Matriz de proximidad Matriz de “incidencia”
Una fila y una columna para cada dato Una entrada es 1 si el par de datos pertenecen al mismo cluster Una entrada es 0 si el par de datos pertenecen a diferentes clusters.
Calcular la correlación entre dos matrices
Si dos matrices son simétricas, solo la correlación entre
n (n-1)/2 entradas necesita ser calculada.
Una alta correlación indica que los puntos que pertenecen al mismo cluster son cercanos entre sí. No es una medida buena para algunos clusters basados en densidad o en cercanía.
Medidas de Validación de Cluster a través de Correlación Correlación para las matrices de incidencia y de proximidad para agrupamientos con K – means para los siguientes conjuntos 1 1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
y
y
0.4
0.3
0.2
0.2
0.1 0
0.5 0.4
0.3
0.1 0
0.2
0.4
0.6
x
Corr = -0.9235
0.8
1
0
0
0.2
0.4
0.6
0.8
1
x
Corr = -0.5810
264
Usando Matriz de Similitud para Validación de Cluster
Ordenar la matriz de similaridad respecto a las etiquetas de agrupamiento e inspeccionar visualmente. 1 10
0.9
0.9
20
0.8
0.8
30
0.7
0.7
40
0.6
50
0.5
60
0.4
0.4
70
0.3
0.3
80
0.2
0.2
90
0.1
100
Points
1
y
0.6 0.5
0
0
0.2
0.4
0.6
0.8
0.1 20
40
60
80
Points
1
0 100Similarity
x
Usando Matriz de Similitud para Validación de Cluster Los agrupamientos en datos aleatorios no son tan bien definidos. 1
1
10
0.9
0.9
20
0.8
0.8
30
0.7
0.7
40
0.6
0.6
50
0.5
0.5
60
0.4
0.4
70
0.3
0.3
80
0.2
0.2
90
0.1
0.1
100
20
40
60
Points
80
0 100 Similarity
y
Points
0
0
0.2
0.4
0.6
0.8
1
x
DBSCAN
265
Usando Matriz de Similitud para Validación de Cluster Los agrupamientos en datos aleatorios no son tan bien definidos. 1
0.9
0.9
20
0.8
0.8
30
0.7
0.7
40
0.6
0.6
50
0.5
0.5
60
0.4
0.4
70
0.3
0.3
80
0.2
0.2
90
0.1
0.1
100
20
40
60
80
Points
y
Points
1 10
0
0 100 Similarity
0
0.2
0.4
0.6
0.8
1
x
K-means
Usando Matriz de Similitud para Validación de Cluster Los agrupamientos en datos aleatorios no son tan bien definidos 1
0.9
0.9
20
0.8
0.8
30
0.7
0.7
40
0.6
0.6
50
0.5
0.5
60
0.4
0.4
70
0.3
0.3
80
0.2
0.2
90
0.1
0.1
100
20
40
60
Points
80
0 100 Similarity
y
Points
1 10
0
0
0.2
0.4
0.6
0.8
1
x
Complete Link
266
Usando Matriz de Similitud para Validación de Cluster 1 0.9 500
1
2
0.8 0.7
1000
6
0.6 4
3
1500
0.5 0.4
2000
5
7
0.3 0.2
2500
0.1 3000
500
1000
1500
2000
2500
3000
0
DBSCAN
Medidas Internas: SSE
Los clusters en figuras más complicadas no son bien separados Índice interno: se usa para medir la bondad de una estructura de agrupamiento sin tener información de referencia externa
SSE (suma de errores cuadráticos)
SSE es una bueno para comparar dos agrupamientos o dos grupos (SSE promedio) Puede usarse para estimar el número de clusters 10 9
6
8
4
7 2
6
SSE
0
5 4
-2
3 -4
2
-6
1 5
10
15
0
2
5
10
15
20
25
30
K
267
Medidas Internas: SSE
Curva SSE para conjuntos de datos más complicados 1
2
6
4
3
5
7
SSE de clusters encontrados usando K-means
Marco para Validación de Cluster
Se necesita un marco para interpretar cualquier medida
Por ejemplo, si nuestras medidas de evaluación tienen el valor, 10, es bueno, justo o pobre?
La estadística provee un marco para validación de clusters
Entre más “atípico” es el resultado del agrupamiento, es más probable que represente una estructura válida en los datos Se puede comparar los valores de un índice que resulte del agrupamiento de datos aleatorios contra los resultados de un agrupamiento dado. Si el valor del índice es poco probable, los resultados del cluster son válidos Estas aproximaciones son más complicadas y difíciles de entender.
Para comparar los resultados de dos agrupamientos diferentes, un marco es menos necesario:
Sin embargo, hay una pregunta de si la diferencia entre dos valores del índice es significativo.
268
Marco Estadístico para SSE Ejemplo
Comparar SSE de 0.005 contra tres clusters en datos aleatorios
El histograma muestra el SSE de tres cluster en 500 conjuntos de datos aleatorios de tamaño 100 distribuidos en un rango de 0.2 – 0.8 para valores de X y Y
1
50
0.9
45
0.8
40
0.7
35 30
Count
y
0.6 0.5 0.4 0.3
20 15
0.2
10
0.1 0
25
5 0
0.2
0.4
0.6
0.8
0 0.016
1
x
0. 018
0.02
0.022
0.024
0.026
0.028
0.03
0.032
0.034
SS E
Marco Estadístico para Correlación En las siguientes gráfica se muestra la correlación de las matrices de incidencia y proximidad para los agrupamientos de con K – Means, para dos conjuntos de datos. 1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
y
y
0.4
0.4
0.3
0.3
0.2
0.2
0.1 0
0.1 0
0.2
0.4
0.6
x
Corr = -0.9235
0.8
1
0
0
0.2
0.4
0.6
0.8
1
x
Corr = -0.5810
269
Medidas Internas: Cohesión y Separación
Cohesión del Cluster: Medidas de qué tan estrechamente relacionados están los objetos dentro de un cluster
Ejemplo: SSE
Separación del Cluster: Medida de que tan distinto o separado está un cluster de otros clusters
Ejemplo: Error cuadrático
La cohesión es medida por la suma de los cuadrados dentro del cluster (SSE) 2 i i x∈Ci La separación es medida por la suma de los cuadrados entre clusters
WSS= ∑∑(x− m )
BSS = ∑|Ci |(m − mi )2
i
Donde |Ci| es el tamaño del cluster i
Medidas Internas: Cohesión y Separación
Ejemplo: SSE
1
BSS + WSS = constante
×
m1
K=1 cluster:
m
2
× 3
4
×
m2
5
WSS=(1−3) +( 2 −3) +( 4 −3) +( 5 −3)2 =10 2
2
2
BSS= 4×( 3−3)2 = 0 Total=10+0=10 K=2 clusters:
WSS= (1−1.5)2 +( 2 −1.5)2 +( 4 − 4.5)2 +( 5 − 4.5)2 =1 BSS= 2 ×( 3 −1.5)2 + 2 ×( 4.5− 3 )2 = 9 Total=1+9 =10
270
Medidas Internas: Cohesión y Separación
Una gráfica de proximidad puede también ser usada para cohesión y separación.
Cohesión de cluster es la suma de los pesos de todos los enlaces dentro del cluster.
La separación del cluster es la suma de los pesos entre los nodos en el cluster y los nodos fuera del cluster
cohesión
separación
Medidas Internas: Coeficiente de Perfil Combina
ideas tanto de cohesión como de separación, pero para puntos individuales, así como para clusters y agrupamientos.
271
Medidas Internas: Coeficiente de Perfil
Para un punto individual, i
Calcular a = promedio de la distancia de i a los puntos en su cluster. Calcular b = min (promedio de la distancia de i a los puntos en otro cluster) El coeficiente de perfil para un punto es dado por:
s = 1 – a/b
si a < b,
(o, s = b/a - 1
no es el caso usual)
Típicamente entre 0 y 1 El que es cercano a 1 es mejor
si, a ≥ b, b
a
Medidas Internas: Coeficiente de Perfil
Se
puede calcular la amplitud del Perfil Promedio para un cluster o un agrupamiento.
272
Comentario Final “La validación de estructuras de agrupamiento es la parte de mayor dificultad y frustración del análisis de cluster. Sin un esfuerzo fuerte en esta dirección, el análisis de cluster seguirá siendo un arte negro accesible solamente a esos creyentes verdaderos que tengan experiencia y gran coraje ” Algorithms for Clustering Data, Jain and Dubes
Agenda Validación de agrupamiento (clustering) Self Organizing Maps (SOM)
273
Modelo de una red de Kohonen
También llamadas Mapas Autoorganizativos Self Organizing Maps = SOM u Ne s na ro
Entradas
Características de la Red de Kohonen Los nodos de entrada están conectados a cada neurona. La neurona “ganadora” es la que cuyos pesos son más similares a la entrada. Las neuronas funcionan con un comportamiento “la ganadora toma todo”
La salida de la ganadora es un 1 y las demás 0 Solo los pesos de la ganadora y sus vecinas son adaptadas
274
Topología
Las neuronas de la capa de salida están conectadas de acuerdo con la topología que se quiere inducir en el espacio Generalmente se trabaja con topologías en 1-D o 2-D La topología 1-D más usual es la lineal, cada neurona tiene 1 o dos vecinas Las topologías 2-D corresponden a retículos que pueden tener vecindades cuadradas o hexagonales
Ecuaciones de la Red: Similitud
La similitud es cuantificada usando la distancia Euclidiana desde un vector patrón de entrada.
El vector de pesos w[i] representa todos los pesos a la neurona i; por lo tanto, w[i][j] es el peso de la unión de la entrada j con la neurona i.
s p [i ] =|| w[i ] − entrada p ||=
∑ (w[i][ j ] − entrada [ j ])
2
p
j
La ganadora tiene el valor más pequeño de s
275
Ecuaciones de la Red: Adaptación de Peso
Suponiendo que la neurona ganadora tiene como índice α Para una entrada j y una neurona i, el cambio de peso Δw[i][j] y el nuevo valor de peso w[i][j] son:
Δw[i][j] = η (entrada[j] – w[i][j] ) NbdWt(α, i) w[i][j] = w[i][j] + Δw[i][j]
Donde
η es la rata de aprendizaje y NbdWt(α, i) es la función de peso de la vecindad
Ecuaciones de la Red: Función de Peso de la Vecindad
La función de peso de la vecindad tiene la siguiente forma:
NbdWt (α , i ) =
NbdWt
1 ⎛ d (α , i ) ⎞ 1+ ⎜ ⎟ ⎝ s ⎠
(α , i ) = e
⎛ d (α ,i ) ⎞ −⎜ ⎟ s ⎝ ⎠
2
2
Donde s es un escalar que establece la amplitud de la función de peso.
276
Vecindad On-center Off-surround
Es un campo que:
Refuerza el estímulo “junto” al centro. Atenúa los efectos en una región alrededor del centro. Disminuye rápidamente el exterior la región atenuante
Contribuye al control de ruido y localiza la representación Complementario al “off- center onsurround”
Vecindad On-center Off-Surround On-center Off-surround Neighborhood Weighting 1,5 1
g1
0,5
g2 dog
0 -0,5
1 8 15 22 29 36 43 50 57 64 71 78
OCOS
-1
277
Vecindad Sombrero mejicano Considerando dos funcionesGaussianas g1 ( x) = e
⎛x⎞ −⎜⎜ ⎟⎟ ⎝ s1 ⎠
2
y g2 ( x) = e
⎛ x⎞ −⎜⎜ ⎟⎟ ⎝ s2 ⎠
2
dondes2 > s1 > 0. Siendoh( x) = g1 ( x) − g2 ( x), una diferencia Gaussiana.Una funciónde sombreromejicanopuedeser dada por : SobreroMejicano(x)= gi ( x) + α ⋅ h( x) donde α > 0.
Algoritmo Básico de Entrenamiento
Se inicializan los pesos desde los nodos de entrada a las neuronas. Se escoge la función de vecindad Mientras (los patrones de entrada tengan pesos desajustados)
Encontrar una ganadora Adaptar los pesos en la vecindad de la ganadora
Desarrollar una interpretación para la codificación identificando cuales neuronas codifican que patrones
278
Visualización
Las rede se Kohonen son muy útiles como herramienta para visualizar datos multidimensionales
La capa de salida sirve como una representación en 1D-2D de los datos de entrada
Bibliografía
Data Mining: Cluster Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 8: “Introduction to Data Mining by Tan, Steinbach, Kumar Gene Tagliarini, Artificial Intelligence Course, Notes in SOM, http://people.uncw.edu/tagliarinig/courses/415/Le ctures/Kohonen%20Selforganizing%20Feature%20Maps.ppt
279
NOTAS
NOTAS
280