Vous êtes sur la page 1sur 284

Este documento se desarroll a partir de otras fuentes que se encuentran citadas tanto dentro del contenido como en los

espacios reservados para la bibliografa. Si usted es autor de los documentos que se tomaron como bibliografa y considera que las referencias a su trabajo no estn adecuadamente descritas, por favor comunquese con el profesor Jonatan Gmez Perdomo a travs del correo electrnico: jgomezpe@unal.edu.co.

CONTENIDO MDULO 3: MINERA DE DATOS Pg. 1. Introduccin a la Minera de Datos 1.1 Proceso de descubrimiento de conocimiento 1.2 Aplicaciones de la minera de datos 1.3 Anlisis exploratorio de datos 1

2 CRISP 2.1 Eleccin de un sistema de Minera de Datos 2.2 Ejemplos de Sistemas de Minera de Datos 2.3 CRISP-DM

42

3 Preparacin de datos 3.1 Introduccin 3.2 Limpieza de Datos 3.3 Integracin de Datos 3.4 Transformacin de Datos 3.5 Reduccin de datos 3.6 Principal Component Analysis PCA

56

4. Reglas de Asociacin 4.1 Introduccin 4.2 Conceptos Bsicos 4.3 El algoritmo A priori 4.4 Generacin de canidatos 4.5 Ejemplo de generacin de candidatos 4.6 Generando Reglas de Asociacin desde conjuntos de tems frecuentes 4.7 Reglas de asociacin Mltiple-Nivel 4.8 Minando Multi-nivel con soporte reducido 4.9 Mtodo FP-GROWTH 4.10 Reglas de asociacin multidimensionales

102

5 Anlisis Supervisado I 5.1 Conceptos bsicos de aprendizaje maquinal 5.2 rboles de decisin y Reglas de Decisin 5.3 Medidas de desempeo

122

6. Anlisis Supervisado II 6.1 Introduccin 6.2 Redes multicapa 6.3 Entrenamiento 6.4 Aplicaciones 6.5 Generalizacin 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. Anlisis 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 Clasificacin sensible al costo 7.5 Imbalance de clases

178

8. Regresin y Series de Tiempo

198

9. Anlisis No Supervisado: Agrupamiento de Datos (Data Clustering) 9.1 Conceptos bsicos 9.2 Medidas de similaridad 9.3 Agrupamiento particional 9.4 Agrupamiento jerrquico 9.5 Agrupamiento basado en densidad

207

10 Anlisis no supervisado: agrupamiento 10.1 Medidas de desempeo para agrupamiento 10.2 Otros mtodos (en malla, SOM)

260

Minera de Datos II - 2007

Introduccin a la Minera de Datos

Agenda
Proceso de descubrimiento de conocimiento Aplicaciones de la minera de datos Anlisis exploratorio de datos

Agenda
Proceso de descubrimiento de conocimiento Aplicaciones de la minera de datos Anlisis exploratorio de datos

Proceso de descubrimiento de conocimiento


Knowledge Discovery en BD & Minera de Datos
KDD Proceso (Donde las bodegas de datos hacen parte del proceso de minera).

Knowledge Discovery en BD & Minera de Datos


Grandes bases de datos contienen informacin no plenamente explotada (informacin valiosa (oro!)). Esta informacin puede ser encontrada entre los datos haciendo uso de minera en los datos.

Knowledge Discovery en BD: Definicin


KDD: Descubrir informacion til o conocimiento (patrones, asociaciones) desde grandes repositorios de datos.

KDD

Knowledge Discovery en BD: Proceso


Pre-procesamiento de Datos: Limpieza, integracin y transformacin. Minera de Datos: Uso de mtodos inteligentes para extraer conocimiento (bsqueda de oro) . Evaluacin de patrones encontrados y presentacin

1.

Proceso de KDD
Evaluacin de Patrones

Minera de Datos Seleccionar Datos Relevantes Bodega de Datos Limpieza de Datos Integracin de datos Bases de Datos Seleccin

Preprocesamiento
Limpieza e Integracin
Bodega de Datos
Ruido
edad de 180 aos

Valores Perdidos
No tiene edad

Preprocesamiento
Seleccionar datos relevantes
Reducir dimensiones
Principal Component Analisis Entropa

Reducir valores
Discretizar

Dar el mismo peso a todas las dimensiones


Normalizar

Preprocesamiento
Tipos de datos
Numricos Categricos (ordinales, nominales)

Preprocesamiento
Edad Ingresos Estudiante Crdito compra _computador

<=30 <=30 3140 >40 >40 >40 3140 <=30 <=30 >40 <=30 3140 3140 >40

Alto Alto Alto Medio Bajo Bajo Bajo Medio Bajo Medio Medio Medio Alto Medio

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 minera de datos Anlisis exploratorio de datos

Tareas de la Minera de Datos & Aplicaciones

Descripcin de clases
Sumarizacion/ caracterizacin de la coleccin de datos OLAP (On Line Analitical Process) Tendencias Reportes

Tareas de la minera de datos

Encontrar Asociaciones
Descubrir asociaciones, relaciones / correlaciones entre un conjunto de tems
Id 1 2 3 4 5 {pan, leche} {pan,paales,cerveza,huevos} {leche, paales, cerveza, gaseosa} {pan,leche,paales,cerveza} {pan,leche,paales,gaseosa} tems

Inters en analizar Inter los datos para aprender el comportamiento de las compras de sus clientes
Promociones de mercadeo Manejo de inventario Relacin con el cliente

Encontrar Asociaciones
Asociaciones, relaciones / correlaciones en forma de reglas: XY reglas
(registros en BD que satisfacen X, tambin 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 almacn para potenciar las ventas de contratos de mantenimiento)
98% de la gente que compra llantas y accesorios de autos tambin 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

Clasificacin y Prediccin

Clasificacin: Construir un modelo por cada clase de dato etiquetado usado en el entrenamiento del modelo. Basado en sus caractersticas y usado para clasificar futuros datos Prediccin: Predecir valores posibles de datos/atributos basados en similar objetos.

Proceso de Clasificacin (Paso 1):


Construccin del Modelo
(Problema de Segunda Clase)
Datos de Entrenamiento

Algoritmos de Clasificacin

NOMBRE Rango

Mike Profesor Asistente Mary Profesor Asistente Bill Profesor Jim Profesor Asociado Dave Profesor Asistente Anne Profesor Asociado

Aos 3 7 2 7 6 3

Ocupado no si si si no no

Clasificador (Modelo)

IF rango = profesor OR aos > 6 THEN ocupado = yes

11

Proceso de Clasificacin (Paso 2):


Uso del Modelo en la Prediccin
Clasificador Datos de Prueba
Nombre

Datos no vistos (Jeff, Profesor, 4)

Rango Aos Tom Profesor Asiste 2 Mellisa Profesor Asoci 7 George Profesor 5 Joseph Profesor Asiste 7

Ocupado no no si si

Ocupado?

Clasificacin y Prediccin (rboles de decisin)


Determinar si clientes compraran determinado producto.
age <=30 <=30 3040 >40 >40 >40 3140 <=30 <=30 >40 <=30 3140 3140 >40 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 Estudiante? no no si si

30..40 overcast

>40 Crdito? excelente bueno no si

si

12

Evaluacin del modelo


Basado en el nmero de registros que fueron clasificados correcta e incorrectamente. Confusion Matrix
Accuracy=
Clase prediccin
Clase =1 Clase =2

Clase

Clase =1 Clase =2

f11 f01

f10 f00

Nmero correctos = Total f

f 11 +f 00 11 +f 10 +f 01 +f 00

Error

rate =

f 10 +f 10 Nmero incorrectos = Total f 11 +f 10 +f 01 +f 00

Clasificacin y Prediccin (Aplicaciones)


Aprobacin de crditos Diagnstico mdico Clasificacin de documentos de texto (text mining) Recomendacin de paginas Web automticamente Seguridad

13

Regresin
Prediccin de una variable real (no categrica )
Variable real -> regresin Variable categrica -> clasificacin

Series de tiempo
Predecir valores futuros de acuerdo al tiempo

14

Agrupacin
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
Numricos:
Distancia Euclidean

Binarios
Jaccard Cosine

15

Agrupacin - Aplicaciones
Procesamiento de Imgenes (segmentar imgenes a color en regiones) Indexamiento de texto e imgenes WWW
Clasificacin de paginas Web (usados por motores de bsqueda -Google) Agrupar web log para descubrir grupos de patrones de acceso similares (web usage profiles)

Agrupacin - Aplicaciones
Seguridad: Descubriendo patrones de acceso a redes (Deteccin de intrusos)

16

Aplicaciones de Web Mining


Personalizacin automtica: Sitios adaptativos facilitan navegacin, bsqueda, etc. E-commerce: Sitios Web pueden ser construidos mas amigables Mercadeo Optimizado (publicidad) para negociar productos, servicios e informacin Mejores Motores de Bsqueda

Modelo de Datos Relacional SQL Algoritmos de asociacion de reglas Bodegas de Datos Tcnicas escalables

Medidas de Similaridad Agrupamiento Jerrquico Sistemas IR Consultas Imprecisas Datos Textuales Motores de Bsqueda Web Teorema de Bayes Anlisis de Regresin Algoritmo EM Agrupamiento K-Means Anlisis de Series de Tiempo

Tcnicas de Diseo de Algoritmos Anlisis de Algoritmos Estructuras de datos

Redes Neuronales Algoritmos de rboles de Decisin

17

Tcnicas usadas en Minera de Datos


Estadstica rboles de Decisin Redes Neuronales Algoritmos Genticos Lgica Difusa
x0 age? <=30 overcast
30..40

>40

student?

yes

credit rating?

no

yes

excellent

fair

no

yes

no

yes

w0

x1

w1

f
output y

xn

wn

Input vector x

weight vector w

weighted sum

Activation function

Nave Bayes
Teorema de Bayes P(Y|X) = P(X|Y)P(Y) / P(X)
Supuesto Nave: independencia de atributos P(x1,,xk|Y) = P(x1|Y)P(xk|Y)

18

Redes Bayesianas
D=Healthy E=yes 0.7 0.25

exercise
Hd=yes

diet

Hb=yes D=healthy D=unhealthy 0.2 0.85

E=yes D=healthy E=yes D=unhealthy E=no D=healthy E=no D=unhealthy

0.25 0.45 0.55 CP=yes 0.75 HD=yes Hb=yes 0.8 0.6

Heart disease

Heart burn

Blood pressure
Bp=high HD=yes HD=no 0.85 0.2

Chest pain

HD=yes Hb=no HD=no Hb=yes HD=no Hb=no

0.4

0.1

Redes Neuronales

19

Ejemplo: Red neuronal

Ejemplo: Red neuronal

20

Algoritmos genticos
Niches (Optimizacin multimodal)
Algoritmo ECSAGO (no supervisado) para agrupamiento

Agenda
Proceso de descubrimiento de conocimiento Aplicaciones de la minera de datos Anlisis exploratorio de datos

21

Motivaciones para el Anlisis Exploratorio de Datos (AED)


Ayudar a seleccionar la herramienta adecuada para el preprocesamiento o anlisis Hacer uso de las habilidades humanas para el reconocimiento de patrones
Las personas pueden reconocer patrones no capturados por las herramientas de anlisis

Una imagen vale ms 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 Anlisis Exploratorio de Datos (AED)?


Es una aproximacin / filosofa para el anlisis de datos que emplea una variedad de tcnicas en su mayora grficas para:
Maximizar el entendimiento de un conjunto de datos Descubrir estructuras subyacentes Extraer variables importantes Detectar valores atpicos y anomalas 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 mayora de las tcnicas para AED son grficas con pocas tcnicas cuantitativas. Las grficas 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 combinacin de las habilidades reconocimiento natural de patrones que todos poseemos.

23

Tcnicas cuantitativas
son un conjunto de procedimientos estadsticos que proveen salidas numricas o tabulares. Ejemplos de tcnicas cuantitativas incluyen:
Pruebas de Hiptesis Anlisis de varianza Puntos estimados e intervalos de confianza Mnima regresin cuadrada

El enfoque del AED


Las preguntas de anlisis son relevantes en la aproximacin clsica estadstica. Lo que distingue a la aproximacin del AED es el nfasis en las tcnicas grficas para ganar entendimiento lo que se opone a la aproximacin clsica de las pruebas cuantitativas. La mayora de los analistas de datos usarn una mezcla de de tcnicas grficas y clsicas cuantitativas para encaminar sus problemas.

24

Tcnicas del AED


Las tcnicas grficas que se emplean en AED son simples, y consisten en tcnicas de:
Graficar los datos crudos como: histogramas, diagramas de dispersin, etc. Graficar estadsticas simples como: grficas de promedio, grficas de desviacin estndar, grficas de cajas, etc. Organizacin de tales diagramas para maximizar la habilidad de reconocimiento natural de patrones, como puede ser la utilizacin de mltiples grficas por pgina.

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 atpicos Una interpretacin robusta de conclusiones Estimados para parmetros Incertidumbres para esos estimados Una lista ordenada de los factores importantes

25

Preguntas de Anlisis (I)


Preguntas que responde la exploracin de datos :
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

Qu es un valor tpico? Cul es la incertidumbre para un valor tpico? Cul es la distribucin que mejor se ajusta a un conjunto de nmeros? Qu es un percentil? Tiene el factor algn efecto? Cules son los factores ms importantes? Cul es la mejor funcin para relacionar una variable de respuesta a un conjunto de factores de variables? Cules son los valores ptimos para los factores? Se puede separar la seal del ruido en datos dependientes del tiempo? Podemos extraer alguna estructura desde datos multivariados? En los datos hay datos atpicos?

Preguntas de Anlisis (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 tcnicas de AED estn vinculadas a cada una de stas preguntas.

26

Estadsticas Descriptivas
Son nmeros que resumen las propiedades de los datos Las propiedades resumidas incluyen:
Ubicacin: promedio, mediana, moda Dispersin: desviacin estndar

La mayora de las estadsticas descriptivas pueden ser calculadas en un solo paso a travs 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 gnero y una poblacin representativa de gente, el gnero femenino aparece alrededor del 50% de las veces. La moda es el valor del atributo ms frecuente Las nociones de frecuencia y la moda son usadas tipicamente con datos categoricos.

27

Percentiles (I)
La nocin de un percentil es ms til para datos continuos Dado un ordinal o un atributo continuo x y un nmero 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 Ubicacin: Media y Mediana


La media es la medida ms comn de la ubicacin de un conjunto de datos La media es muy sensible a los datos atpicos La mediana es comnmente usada

Medidas de dispersin: Rango y Varianza


Rango es la diferencia entre el mximo y el mnimo La varianza o desviacin estndar es la medida ms comn de dispersin de un conjunto de puntos.

Este es sensitivo a los datos atpicos, as como las dems medidas que son frecuentemente usadas.

29

Grfica de Ejecucin de Secuencia


Definicin: y(i) Vs. i La grfica se constituye por:
Eje vertical: variable de respuesta Y(i) Eje horizontal: ndice i (i = 1, 2, 3, ... )

Grfica de Ejecucin de Secuencia


Preguntas La Grfica de Ejecucin de Secuencia puede ser usada para responder las siguientes preguntas:
Hay Hay Hay Hay cambios cambios cambios cambios de en en en localizacin? la variacin? la escala? los valores atpicos?

30

Histogramas
Histograma
Muestra la distribucin usual de valores de una variable simple. Divide los valores en clases y muestra una grfica de una barra del nmero de objetos en cada clase. La altura de cada barra indica el nmero de objetos La forma del histograma depende del nmero de clases

Ejemplo: Anchura del ptalo (10 y 20 clases, respectivamente)

Histogramas de dos dimensiones


Muestra la unin de distribucin de valores de dos atributos Ejemplo: Anchura del ptalo y largo del ptalo
Qu nos est diciendo?

31

Histograma
El histograma puede ser usado para responder las siguientes preguntas: De qu tipo es la distribucin de la poblacin de donde vienen los datos? Dnde estn ubicados los datos? Son los datos simtricos o asimtricos? Hay valores atpicos?

Grfica de Dispersin
Propsito: verifica la relacin entre variables Un grfico de dispersin revela la relacin o asociacin entre dos variables. Como las relaciones se manifiestan por si solas por una estructura no aleatoria en la grfica.

32

Grfica de Dispersin
Relacin lineal entre las variables Y y X Esta grfica de ejemplo revela la relacin lineal entre dos variables indicando que un modelo de regresin lineal puede ser apropiado.

Grfica de Dispersin

Preguntas: Estn las variables X y Y relacionadas? Estn las variables X y Y relacionadas linealmente? Estn las variable X y Y relacionadas de manera no lineal? La variacin de Y cambia dependiendo a X? Hay valores atpicos?

33

Combinacin de grficas de dispersin


Las grficas de dispersin pueden ser combinadas en mltiples grficas por pgina para ayudar a entender la estructura en un nivel ms alto en conjuntos de datos con ms de dos variables

Scatter Plot Array of Iris Attributes

34

Grfica de Dispersin
La grfica de dispersin descubre las relaciones en los datos. Relaciones significa que hay algunas asociaciones estructuradas (lineales, cuadrticas, etc.) entre X y Y. Se tiene en cuenta que:
Causalidad implica asociacin Asociacin no implica causalidad.

Grficas de caja
Propsito: Verificar la ubicacin y la variacin de los cambios Las grficas de bloque son una excelente herramienta para trasmitir informacin de la ubicacin y la variacin de los conjuntos de datos, particularmente para detectar e ilustrar la ubicacin y los cambios de variacin entre diferentes grupos de datos.

35

Grficas de caja
Inventadas por J. Tukey Son otra forma de mostrar la distribucin de los datos La siguiente figura muestra la parte bsica de una grfica de caja outlier
10th percentile

75th percentile 50th percentile 25th percentile

10th percentile

Grficas de caja
Las grficas de caja se conforman por:
Eje Vertical: valores del factor Eje Horizontal: El factor de inters

Mas especficamente:
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 smbolo en la mediana (o una lnea) y se dibuja la grfica de caja entre el menor y mayor quartil; sta caja representa el 50% de los datos. Se dibuja una lnea desde el menor quartil al punto mnimo y otra lnea desde el quartil mayor al mximo punto.

36

Ejemplo de grficas de caja


Las grficas de caja pueden ser usadas para comparar atributos

Otras tcnicas de visualizacin


Grfica de coordenadas paralelas:
Cada dato se grafica como una linea, con los puntos ubicados de acuerdo al valor de los atributos

Grficas de estrella
Aproximacin similar a las coordenadas paralelas, pero con un eje radial desde un punto central La lnea que conecta los valores de un objeto es un polgono

Chernoff Faces
Esta aproximacin asocia cada atributo con una caracterstica de la cara Los valores de cada atributo determinan la apariencia de las caractersticas faciales. Cada objeto se convierte en una cara separada Depende de la habilidad humana para distinguir las caras

37

Grfica de Coordenadas Paralelas para el Conj. IRIS

Grfica de estrella
Muestra datos multivariados Usa un formato de grficas mltiples con muchas estrellas en cada pgina y cada estrella muestra una observacin La grfica de estrella es usada para examinar los valores relativos para un punto de un dato simple y la ubicacin de puntos similares o distintos.

38

Grfica de estrella
Preguntas La grfica de estrella puede ser usada para responder las siguientes preguntas:
Qu variables son dominantes para la observacin dada? Cules observaciones son ms similares, i.e., hay agrupamiento de observaciones? Hay valores atpicos?

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

Bibliografa
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

Minera de Datos II - 2007

Proceso de Minera de Datos

42

Agenda
Eleccin de un sistema de Minera de Datos Ejemplos de Sistemas de Minera de Datos CRISP-DM

Agenda
Eleccin de un sistema de Minera de Datos Ejemplos de Sistemas de Minera de Datos CRISP-DM

43

Cmo elegir un sistema de Minera de Datos?


Los sistemas comerciales de Minera de Datos tienen pocas caractersticas comunes:
Diferentes funciones y mtodos de minera de datos. Casi siempre manejan diferentes tipos de conjuntos de datos.

Para elegir se necesita tener en cuenta mltiples dimensiones Qu tipos de datos se usarn: relacional, transaccional, texto, series de tiempo, espacial? Configuracin 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?

Cmo elegir un sistema de Minera de Datos?


Fuentes de Datos Archivos de texto ASCII, mltiples fuentes de datos relacionales? Soporte para conexiones ODBC (OLE DB, JDBC)? Funciones de Minera de Datos y metodologas Funcin nica Vs. Mltiples funciones de minera Mtodos nico Vs. Varios mtodos por funcin Ms funciones y mtodos por funcin proveen al usuario mayor flexibilidad y poder de anlisis Acoplamiento con sistemas de bases y bodegas de datos. Cuatro formas de acoplamiento: 1. No acoplado 2. Acoplamiento dbil 3. Acoplamiento Semi fuerte 4. Acoplamiento Fuerte

44

Cmo elegir un sistema de Minera de Datos?


Escalabilidad
Por Filas ( tamao de la base de datos) Por Columnas ( dimensin) Maldicin de la dimensionalidad: es ms difcil hacer un sistema escalable por columnas que por filas

Herramientas de Visualizacin
Una imagen vale ms que mil palabras Categoras de visualizacin:
Visualizacin de datos Visualizacin de resultados de minera Visualizacin del proceso de minera Minera de datos visual

Lenguaje de Consulta de Minera de Datos e interfaz de usuario:


Fcil de usar y alta calidad en la interfaz grfica de usuario Esencial para guiar al usuario Minera de datos muy interactiva

Agenda
Eleccin de un sistema de Minera de Datos Ejemplos de Sistemas de Minera de Datos CRISP-DM

45

Ejemplos de Sistemas de Minera de Datos


IBM Intelligent Miner
Tiene una amplia gama de algoritmos de minera Algoritmos de Minera escalables Toolkits: algoritmos de redes neuronales, mtodos estadsticos, preparacin de datos, y herramientas de visualizacin de datos. Acoplamiento ajustado con sistemas de bases de datos relacionales de IBM.

SAS Enterprise Miner


Variedad de herramientas de anlisis Herramientas de Bodegas de Datos y algoritmos mltiples de minera de datos.

Microsoft SQLServer 2000


Bases de datos integradas y OLAP con Minera Soporte para OLEDB para DM estndar

Ejemplos de Sistemas de Minera de Datos


SGI MineSet
Algoritmos mltiples de minera de datos y estadsticas avanzadas. Herramientas de visualizacin avanzadas Ambiente integrado de minera de datos para usuarios finales y desarrolladores. Algoritmos mltiples de minera de datos y herramientas de visualizacin.

Clementine (SPSS)

DBMiner (DBMiner Technology Inc.)


Mltiples mdulos de Minera de Datos: discovery - driven OLAP analysis, asociacin, clasificacin y agrupamiento. Eficiente en: asociacin y funciones para reconocimiento de patrones y herramientas visuales para clasificacin. Minera tanto en bases de datos relacionales como en bodegas de datos.

46

Agenda
Eleccin de un sistema de Minera de Datos Ejemplos de Sistemas de Minera de Datos CRISP-DM

CRISP-DM: Proceso de Minera de Datos


Cross-Industry Standard Process for Data Mining (CRISP-DM) Iniciativa financiada por la Comunidad Europea ha unido para desarrollar una plataforma para Minera de Datos. Objetivos:
Fomentar la interoperabilidad de las herramientas a travs de todo el proceso de minera de datos Eliminar la experiencia misteriosa y costosa de las tareas simples de minera de datos.

47

Por qu el proceso debe ser estndar?


Plataforma para almacenar experiencia:
Permite que los proyectos sean replicados.

Ayuda a la planeacin y gerencia del proyecto. Factor de Comodidad para nuevos usuarios:
Demuestra la madurez de la minera de datos. Reduce la dependencia en estrellas

El proceso de minera de datos debe ser confiable y repetible por personas con poco conocimiento de minera de datos.

Estandarizacin del Proceso


CRoss Industry Standard Process for Data Mining (CRISPDM) Inicia en Sept. de 1996 SPSS/ISL, NCR, Daimler-Benz, OHRA Financiado por la Comisin Europea: Red mundial de aproximadamente 200 miembros CRISPDM:
Proveedores de herramientas de Minera 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 aplicacin o la industria. Neutral con respecto a herramientas Enfocado en problemas de negocios as como en el anlisis tcnico. Plataforma gua Experiencia Base
Plantillas para Anlisis

CRISP-DM: Descripcin

49

CRISP-DM: Fases
1.

Comprensin del negocio

2.

Comprensin de los datos

Entendimiento de los objetivos y requerimientos del proyecto. Definicin del problema de Minera de Datos Obtencin conjunto inicial de datos. Exploracin del conjunto de datos. Identificar las caractersticas de calidad de los datos Identificar los resultados iniciales obvios. Seleccin de datos Limpieza de datos

3.

Preparacin de Datos Modelamiento Evaluacin

4. 5.

Implementacin en herramientas de Minera de Datos Determinar si los resultados coinciden con los objetivos del negocio Identificar las temas de negocio que deberan haberse abordado Instalar los modelos resultantes en la prctica Configuracin para minera de datos de forma repetida continua

6.

Despliegue

Fases y Actividades
Comprensin del Negocio

Comprensin de Datos
Obtener los datos iniciales Reporte de la obtencin de los datos iniciales Describir los Datos Reporte con la descripcin de los datos Explorar de Datos Reporte de la Exploracin de Datos Verificar de la calidad de los Datos Reporte de la calidad de los datos

Preparacin de Datos
Conjunto de Datos Descripcin de los Datos Seleccionar los Datos Justificacin de la inclusin / Exclusin Limpiar Datos Reporte de Limpieza de Datos Construir Datos Atributos Derivados Registros Generados Integrar Datos Datos Combinados Dar formato a los Datos Datos Formateados

Modelamiento

Evaluacin

Despliegue

Determinar los Objetivos del Negocio Antecedentes Objetivos del Negocio Criterio de xito Evaluar la situacin Inventario de requerimientos de Recursos, Hiptesis y Limitaciones Riesgos y Contingencias Terminologa Costos y Beneficios Determinar el objetivo de Minera de Datos Objetivos de Minera de Datos Criterio de xito de Minera de Datos Desarrollar el Plan de Proyecto Plan de proyecto Evaluacin inicial de herramientas y tcnicas

Seleccionar Tcnica de Modelamiento Tcnica de Modelamiento Modelamiento Hiptesis Generar el Diseo de Prueba Diseo de Prueba Construir el Modelo Configuracin de los parmetros del Modelo Descripcin del Modelo Evaluar el Modelo Evaluacin del Modelo Revisin de la configuracin de los parmetros del modelo

Evaluar Resultados Hiptesis de Minera de Datos Resultados w.r.t. Criterio de xito del negocio Modelos aprobados Revisar el Proceso Revisin del Proceso Determinar los siguientes pasos Lista de Posibles Acciones Decisin

Desplegar el Plan Plan de Despliegue Monitorear y Mantener Plan de monitoreo y mantenimiento Desarrollar el reporte final Reporte Final Presentacin Final Revisin del Proyecto Documentacin de las experiencias

50

Fases en el proceso de DM (1 y 2)
Comprensin del negocio:
Enunciar los objetivos del negocio Enunciar los objetivos de Minera de Datos Enunciar el criterio de xito

Comprensin de datos
Explorar los datos y verificar su calidad Encontrar datos atpicos

Fases en el proceso de DM(3)


Preparacin de Datos: Usualmente consume alrededor del 90% del tiempo
Obtencin Evaluacin Consolidacin y Limpieza
Tablas enlazadas, nivel de agregacin, valores perdidos, etc.

Seleccin de Datos
Se ignoran los datos de carcter no contributivo? Datos atpicos? Usar ejemplos Herramientas de Visualizacin Transformaciones - crear nuevas variables

51

Fases en el proceso de DM(4)


Construir el Modelo
Seleccin de las tcnicas de modelamiento basndose en el objetivo de minera de datos. El modelamiento es un proceso iterativo (no es igual para el aprendizaje supervisado y no supervisado) Se puede modelar descripcin o prediccin

Tipos de Modelos
Modelos Predictivos para Regresin y Clasificacin
Algoritmos de Regresin (Prediccin de resultados numricos): redes neuronales, Reglas inductivas, CART OLS regression, GLM. Algoritmos de clasificacin (Predicen resultados simblicos): CHAID, C5.0 (discriminant analysis, logistic regression).

Modelos Descriptivos para Agrupamiento y Bsqueda de Asociaciones:


Algoritmos de Agrupamiento: Kmeans, Kohonen. Algoritmos de Asociacin:
A priori, GRI.

52

Fases en el proceso de DM(5)


Evaluacin del Modelo
Qu tan bien funciona con datos de prueba? Los mtodos y el criterio depende del tipo de modelo:
Ejemplo: Matriz de confusin en los modelos de clasificacin, rata de error promedio en los modelos de regresin.

Interpretacin del Modelo:

Es importante o no? Puede ser fcil o difcil depende del algoritmo.

Fases en el proceso de DM(6)


Despliegue
Determinar la forma en que los resultados deben ser utilizados Quin necesita usarlos? Qu tan frecuentemente se necesita usarlos?

Despliegue de los resultados de Minera de Datos por:


Puntuacin de la base de datos. Utilizacin de los resultados como reglas del negocio on-line scoring interactivo.

53

CRISP-DM: Detalles
Disponible en lnea: www.crisp-dm.org
20 pginas del modelo (descripcin) 30 pginas de gua para el usuario (proceso paso a paso) 10 pginas salida (esbozo de un informe sobre un proyecto de minera de datos)

Tiene SPSS por todo lado


Pero no es dependiente de las herramientas de SPSS

Por qu CRISP-DM?
El proceso de minera de datos debe ser confiable y reproducible por personas con poco conocimiento sobre minera de datos. CRISP-DM provee una plataforma uniforme para:
Directrices Documentacin de experiencias

CRISP-DM es flexible para tener en cuenta las diferencias:


Problema de Negocios y organizaciones diferentes Datos Diferentes

54

Bibliografa
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

Minera de Datos II - 2007

Preparacin de datos

56

Introduccin

Evaluacin de Patrones

Datos Preprocesdados

Fuente de Datos

PROBLEMA DE KDD

Introduccin
D. Pyle, 1999, pp. 90: El propsito fundamental de la preparacin de los datos es la manipulacin y transformacin de los datos sin refinar para que la informacin contenida en el conjunto de datos pueda ser descubierta o estar accesible de forma ms fcil.

57

Introduccin
60 50 Esfuerzo % 40 30 20 10 0 Determinacin de Ojetivos Minera de Datos
Determinacin de Objetivos

Preparacin de Datos

Minera de Datos

Evaluacin de Modelos

Importancia
Datos malos extraccin de patrones/reglas malas (poco tiles).
Datos Incompletos: falta de valores de atributos, Datos con ruido Datos inconsistentes (incluyendo discrepancias)

58

Importancia
Reduccin del tamao del conjunto de datos posible mejora de la eficiencia del proceso de Minera de Datos.
Seleccin de datos relevantes: eliminando registros duplicados, eliminando anomalas, Reduccin de Datos: Seleccin de caractersticas, muestreo o seleccin de instancias, discretizacin.

Importancia
Datos de calidad posible generacin de patrones/reglas de calidad.
Recuperar informacin incompleta. Eliminar outliers Resolver conflictos,

Decisiones de calidad deben ser basadas en datos de calidad. Hecho: La preparacin de datos (limpieza, transformacin, .) puede llevar la mayor parte del tiempo de trabajo (hasta un 90%).

59

Componentes de la Preparacin de Datos


Engloba
Tcnicas de anlisis de datos

que permiten
Mejorar la calidad de un conjunto de datos

Con el objetivo de
Permitir a las tcnicas de minera de datos obtener mayor y mejor informacin (mejor porcentaje de clasificacin, reglas con ms completitud, etc.)

Componentes de la Preparacin de Datos


Limpieza de Datos Integracin de Datos
Uno, dos, tres, cuatro, cinco 1, 2, 3, 4, 5

Transformacin de Datos Reduccin de Datos

60

Limpieza de Datos
Resuelve redundancias consecuencia de la integracin Chequea y resuelve problemas de ruido, valores perdidos, elimina outliers, Resuelve inconsistencias/conflictos entre datos Bibliografa: 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 solucin fcil Desventajas:
Perdida de mucha informacin 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 algn anlisis estadstico
Valor medio del atributo para todos los ejemplos pertenecientes a la misma clase: missing value Valor ms probable: se realiza una estimacin/imputacin del valor
Frecuencia Distancia Otros..

Ejemplo: el valor del patrn mas cercano de la misma clase. Asignar un valor especial exclusivo.

Limpieza de Datos: Outliers


Objetos/datos con caractersticas que son considerablemente diferentes de la mayora del conjunto.

62

Limpieza de Datos: Ruido


Suavizamiento (Smoothing)

Limpieza de Datos: Ruido


Inconsistencia Nmero de hijos = 3 Edad = 2

63

Integracin de Datos
Obtiene los datos de diferentes fuentes de informacin Resuelve problemas de representacin y codificacin Integra los datos desde diferentes tablas para crear informacin homognea, ... Bibliografa: E.Schallehn, K. Sattler, G. Saake. Efficient Similarity Based Operations for Data Integration. Data And Knowledge Engineering 48:3, 351-387, 2004.

Integracin de Datos
Diferentes escalas
Pesos vs Dolares

Atributos derivados
Salario Mensual vs Salario Anual

Solucin
Procedimientos semi-automticos ETL Minera

64

Transformacin de Datos
Los datos son transformados o consolidados de forma apropiada para la extraccin de informacin. Diferentes vas:
Sumarizacin de datos Operaciones de agregacin, etc.
Bibliografa: T. Y. Lin. Attribute Transformation for Data Mining I: Theoretical Explorations. International Journal of Intelligent Systems 17, 213222, 2002.

Transformacin de Datos: Normalizacin


Normalizacin min-max

Normalizacin z-score

65

Transformacin de Datos: Normalizacin


Normalizacin por escala decimal

Donde j es el entero ms pequeo tal que Max (| v|) < 1

Reduccin de Datos
Agrupamiento Compactacin Discretizacin Seleccin de caractersticas Seleccin de Instancias

66

Reduccin de Datos
Agrupamiento Compactacin Discretizacin Seleccin de caractersticas Seleccin de Instancias

Reduccin de Datos: Agrupamiento


Compactacin va anlisis de clusters

67

Reduccin de Datos
Agrupamiento Compactacin Discretizacin Seleccin de caractersticas Seleccin de Instancias

Bibliografa: 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. Snchez. Buildingmulti-way decision trees with numerical attributes. Information Sciences 165 (2004) 73 90.

Reduccin de Datos: Discretizacin


Divide el rango de atributos continuos en intervalos Almacena solo las etiquetas de los intervalos Importante para reglas de asociacin y clasificacin, algunos algoritmos solo aceptan datos discretos.

68

Reduccin de Datos: Discretizacin


Ejemplo:
Edad (0-14 aos) Edad (16-24 aos) Edad (25 - 65 aos)

Edad # de Autos

1 0 0

1 4 0

1 5 1

2 0 0

2 3 1

2 4 0

2 5 1

2 7 0

2 9 2

3 1 1

4 3 3

5 0 2

6 5 4

Reduccin de Datos: Discretizacin


Distribucin de Peso
20 Frecuencia 15 10 5 0 50 52 54 56 58 60 62 64 66 68 70 72 Peso
Peso (50 58 Kg) Peso (59 67 Kg) Peso ( > 68 Kg)

74

69

Reduccin de Datos: Discretizacin


Igual amplitud
Distribucin 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

Reduccin de Datos: Discretizacin


Problemas Igual Amplitud
Ingresos Mensuales
25 Frecuencia 20 15 10 5 0 [0 - 5'000,000) [5'000,000 10'000,000) Ingresos [10'000,000 15'000,000]

Frecuencia

70

Reduccin de Datos: Discretizacin


Igual Frecuencia
Distribucin 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

Reduccin de Datos: Discretizacin


Ventajas de la igualdad en frecuencia
Evita desequilibrios en el balance o entre valores En la prctica permite obtener puntos de corte mas intuitivos.

Consideraciones adicionales:
Se deben crear cajas para valores especiales Se deben tener puntos de corte interpretables

71

Reduccin de Datos: Discretizacin - BIN


Valores numricos 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 pequeo, el limite mas cercano puede ser usado para representar el bin

Reduccin de Datos: Discretizacin - 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

Reduccin de Datos: Discretizacin - BIN


usando media:
{1.33, 1.33, 1.33, {1, 1, 2, 3, 3, 3, 3, 3, 3, 5.25, 5.25, 5.25, 5.25} 4, 4, 4, 7}

Remplazando por el limite mas cercano:

Problema de optimizacin en la seleccin 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.

Reduccin de Datos: Discretizacin - BIN


Algoritmo Ordenar valores Asignar aproximadamente igual numero de valores (vi) a cada bin (el numero de bins es parmetro) 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

Reduccin de Datos: Discretizacin - BIN


Ejemplo: f = {5, 1, 8, 2, 2, 9, 2, 1, 8, 6} Particionar en 3 bins. Los bins deben ser representados por sus modas.
1. 2. 3. 4.

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

Despus 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, 8, 9}

Cualquier movimiento de elementos incrementa ER

Reduccin de Datos: Discretizacin


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 Entropa [Fayyad & Irani and others, 1993] Metodos Chi-square [Kerber 92]

74

Reduccin de Datos: Discretizacin


Discretizacin sin el uso de clases
DATOS Intervalo de Igual Amplitud

Reduccin de Datos: Discretizacin


Discretizacin sin el uso de clases
DATOS Intervalo de Igual Frecuencia

75

Reduccin de Datos: Discretizacin


Discretizacin sin el uso de clases
DATOS K - Means

Reduccin de Datos: Discretizacin


Discretizacin utilizando clases (basado en entropa)

5 Clases para las variables X y Y

3 Clases para las variables X y Y

76

Reduccin de Datos
Agrupamiento Compactacin Discretizacin Seleccin de caractersticas Seleccin de Instancias

Bibliografa: 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.

Reduccin de Datos: Seleccin de Caractersticas


La SC pretende elegir atributos que sean relevantes para una aplicacin y lograr el mximo rendimiento con el mnimo esfuerzo. El resultado de la SC sera:
Menos datos los algoritmos pueden aprender ms rpidamente Mayor exactitud el clasificador generaliza mejor Resultados ms simples ms fcil de entender

SC y Transformacin (extraccin y construccin)

77

Reduccin de Datos: Seleccin de Caractersticas


Variable 1 1 a b c d e 5 6 7 8 9 2 50 51 52 53 54 3 4 5 0 1 0 1 0 Variable 6

6 0,001 1,001 2,001 3,001 4,001

4,4 100,12 5,4 100,12 6,4 100,12 7,4 100,12 8,4 100,12

Reduccin de Datos: Seleccin de Caractersticas


La SC se puede considerar como en problema de bsqueda {} {1} {2} {3} {4}

{1,2}

{1,3}
{1,2,3}

{2,3}
{1,2,4}

{1,4}
{1,3,4}

{2,4}
{2,3,4}

{3,4}

{1,2,3,4}

78

Reduccin de Datos: Seleccin de Caractersticas


Distintas Clasificaciones.

Reduccin de Datos: Seleccin de Caractersticas


Algoritmos de Ranking Devuelven una lista de atributos ordenados segn algn criterio de evaluacin.
ENTRADA: X Atributos, C criterio de Evaluacin LISTA = {} PARA CADA ATRIBUTO xi, i {1, , N}

Vi= Calcular(xi, C)
Insertar xi en la LISTA segn Vi SALIDA: Lista (ordenada por releavancia de atributos)

79

Reduccin de Datos: Seleccin de Caractersticas


Algoritmos Subconjunto de Atributos Devuelven un subconjunto de atributos optimizado segn algn criterio de evaluacin.
ENTRADA: X Atributos, U criterio de Evaluacin SUBCONJUNTO = {} REPETIR SK = GenerarSubconjunto(x) Si existeMejora (S, SK , U) Subconjunto = SK HASTA (Criterio de Parada ) SALIDA: Lista (ordenada por releavancia de atributos)

Reduccin de Datos: SC usando Entropa


Para enumerar dimensiones (ranking) Basado en la medida de similaridad (inversa a la distancia)
S ij = e
D ij

where Dij

es la dis tan cia euclidiana = (ln 0.5) / D


Hamming similarity (variables nominales)

n S ij = x ik = x jk / n k =1
F1 R1 R2 R3 R4 R5 A B C B C F2 X Y Y X Z F3 1 2 2 1 3

R1 R1 R2 R3 R4

R2 0/3

R3 0/3 2/3

R4 2/3 2/3 0/3

R5 0/3 0/3 1/3 0/3

similaridades

80

Reduccin de Datos: SC usando Entropa


Distribucin de las similaridades es una caracterstica de la organizacin 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 entropa Entropa es una medida global que es menor para configuraciones ordenadas y grande para configuraciones desordenadas

Reduccin de Datos: SC usando Entropa


Compara la entropa antes y despus de remover una dimensin Si las medidas son cercanas, el conjunto de datos reducido aproxima el original conjunto de datos Entropa:

E =

N 1

i =1 j =i +1

((S
N

ij

log(Sij )) + ((1 Sij ) log(1 Sij )) )

Similaridad entre xi y xj
El algoritmo esta basado en sequential backward ranking La entropa es calculada en cada iteracin para decidir el ranking de las dimensiones. Las dimensiones son gradualmente removidas

81

Reduccin de Datos: SC usando Entropa


1. 2. 3.

Algoritmo Comienza con todo el conjunto de datos F EF = entropa de F Por cada dimensin f F,

Remover una dimensin f de F y obtener el subconjunto Ff EFf = entropa de Ff Si (EF - EFf ) es mnima Actualizar el conjunto de datos F = F f f es colocada en la lista rankeada

4.

Repetir 2-3 hasta que solo haya una dimensin en F

Reduccin de Datos: SC usando Entropa


El proceso puede ser parado en cualquier iteracin y las dimensiones son seleccionadas de la lista. Desventaja: complejidad Implementacin paralela

82

Principal Component Analysis - PCA


Vectores propios (Eigenvectors) son casos especiales de multiplicacin de matrices:
No es mltiplo del vector original

Matriz de transformacin

2 2 2 2

3 1 11 = 1 3 5 3 3 12 3 = = 4 2 1 2 8
Vector transformado en su posicin original de transformacin

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

3 longitud 2 el vector con 3 13 2 13

es : 32 + 2 2 = 13 longitud 1 es :

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 nmero de dimensiones (compresin) sin mucha perdida de informacin

85

PCA: Mtodo (Ejemplo)


1.

Restar la media

x = 1.81

y = 1.91

PCA: Mtodo (Ejemplo)


2.

Calcular la matriz de covarianzas

0.616555556 0.615444444 cov = 0.615444444 0.716555556

86

PCA: Mtodo (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
Mtodo para calcular eigenvectors= Jacobi (Investigar)

PCA: Mtodo (Ejemplo)


Menos importante Eigenvectors (perpendicular)

Entre los puntos. Los puntos estn relacionados con esta lnea

87

PCA: Mtodo (Ejemplo)


4.

Escoger componentes y formar vector (feature vector)

Ordenar de eigenvalues de mayor a menor (orden de significancia)


Valores pequeos 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: Mtodo (Ejemplo)


Cuantos componentes principales son necesarios para tener una buena representacin de los datos? Analizar la proporcin de la varianza (eigenvalues). Dividiendo la suma de los primeros m eigenvalues por la suma de todos los eigenvalues

m i R = i =1 n i i =1

90% es considerado bueno

88

PCA: Mtodo (Ejemplo)


5.

Derivar nuevo conjunto de datos


Datos ajustados usando la media
X Matriz de eigenvectors

PCA: Mtodo (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

Reduccin de Datos
Agrupamiento Compactacin Discretizacin Seleccin de caractersticas Seleccin de Instancias

Bibliografa: T. Reinartz. A Unifying Viewon Instance Selection. Data Mining and Knowledge Discovery 6, 191-210, 2002.

Reduccin de Datos
Seleccin de Instancias La SI pretende elegir los ejemplos que sean relevantes para una aplicacin y lograr el mximo rendimiento. El resultado de la SC sera: Menos datos los algoritmos pueden aprender ms rpidamente Mayor exactitud el clasificador generaliza mejor Resultados ms simples ms fcil de entender SI y Transformacin (compactacin/agrupamiento)

91

Reduccin de Datos
Seleccin de Instancias Diferentes tamaos:

500 Puntos

2000 Puntos

8000 Puntos

Reduccin de Datos
Seleccin de Instancias
Muestreo Seleccin de Prototipos o Aprendizaje basado en Instancias Aprendizaje Activo

92

Reduccin de Datos
Seleccin de Instancias
MUESTREO Sin Reemplazamiento

z n la Co mp e Re

to en i am

DATOS ORIGINALES

Reduccin de Datos
Seleccin de Instancias: Muestreo
DATOS ORIGINALES Reduccin Simple

93

Reduccin de Datos
Seleccin de Instancias Seleccin de Prototipos Se basa en: Eliminacin Ordenada Reglas NN Muestreo Aleatorio Algoritmos Evolutivos

Reduccin de Datos
Seleccin de Instancias

94

Reduccin de Datos
Seleccin de Instancias

Reduccin de Datos
Seleccin de Instancias

95

Reduccin de Datos
Seleccin de Instancias

Reduccin de Datos
Seleccin de Instancias. Seleccin de Prototipos
Para Clasificacin con 1-NN Conjunto de Entrenamiento (TR)

COJUNTO DE DATOS

Algoritmo de Seleccin de Prototipos

Prototipos Seleccionados (TSS)

Conjunto de Prueba (TS)

Clasificador 1 - NN

96

Reduccin de Datos
Seleccin de Instancias. Seleccin de Conjuntos de Entrenamiento.
Para Seleccin de Conjuntos de Entrenamiento Conjunto de Entrenamiento (TR)
Algoritmo de Seleccin de Prototipos

COJUNTO DE DATOS

Prototipos Seleccionados (TSS) Algoritmo de Minera de Datos Conjunto de Prueba (TS)

Modelo Encontrado

Reduccin de Datos
Seleccin 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 Seleccin de Prototipos son: Eficiencia, recursos, generalizacin, representacin.

Cmo realizar la seleccin de instancias con grandes bases de datos? Combinamos una estrategia de estratificacin con los algoritmos de seleccin de instancias.

97

Reduccin de Datos
Seleccin de Instancias en grandes Bases de Datos a travs de estrategia de Estratificacin. [CANO, 2005]

T1
COJUNTO DE DATOS IS

T2
IS

T3
IS

Tt
IS

TSS1 TR1

TSS2 TR2

TSS3 TR3

TSSt TRt

TS1

TS1

TS1

TS1

Reduccin de Datos
Seleccin de Instancias Conjuntos de datos no balanceados Algunos problemas tienen una presencia de las clases desigual:
Diagnosis mdica: 90% sin-enfermedad, 10% enfermedad e-comercio: 99% no-compra, 1% compra seguridad: >99.99% de conexiones no son ataques La situacin es similar con mltiples clases La mayora de los clasificadores obtienen un 97% de clasificacin correcta, pero no son tiles

Cmo se procesan las clases no balanceadas?

Utilizar tcnicas de reduccin de datos para balancear las clases reduciendo las clases mayoritarias. Realizar sobre muestreo para balancear aumentar el tamao de las clases minoritarias. test

98

Bibliografa
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

Bibliografa
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

Bibliografa
Pang-NingTan, Michael Steinbach, and VipinKumar Introduction to Data Mining (First Edition) Addison Wesley, May 2, 2005

Bibliografa
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

Bibliografa
MamdouhRefaat Data Preparation for Data Mining Using SAS Morgan Kaufmann, Sep. 29, 2006

Bibliografa
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

Minera de Datos II - 2007

203

Reglas de Asociacin

204

102

Introduccin
En base de datos transaccional, cada transaccin 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

Introduccin
Transacciones market basket
Id 1 2 3 4 5 {pan, leche} {pan, paales, cerveza, huevos} {leche, paales, cerveza, gaseosa} {pan, leche, paales, cerveza} {pan, leche, paales, gaseosa} tems

Inters en analizar Inter los datos para aprender el comportamiento de las compras de sus clientes
Promociones de mercadeo Manejo de inventario Relacin con el cliente

tems comprados por cliente

103

Introduccin
Metodologa de anlisis de asociaciones: usada para descubrir relaciones interesantes ocultas en largos conjuntos de datos Aplicaciones
Anlisis de las transacciones comerciales Prediccin Personalizacin Etc.

Reglas de asociacin
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 tambin 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 asociacin
Las relaciones pueden ser representadas en forma de:
Reglas de asociacin Conjunto de tem frecuentes

Reglas de asociacin
Ejemplos. Regla: Antecedente. Consecuente. [suporte, confidencia] Compra (x, paales) compra (x, cerveza) [0.5%, 60%]

105

Medidas de la regla: Soporte y Confianza


Encontrar reglas X & Y Z con mnimo % de confianza y soporte (umbrales)

soporte, s: probabilidad que una transaccin contiene {X Y Z} confianza, c: probabilidad condicional de que una transaccin que tiene {X Y} tambin 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 Transaccin tems comprados 2000 A,B,C 1000 A,C 4000 A,D 5000 B,E,F
soporte mnimo 50%, confianza mnima 50%, A C (?, ?) C A (?, ?)

Ejemplo
ID Transaccin tems comprados

Soporte mnimo 50% Confianza mnima 50%


Conjunto de tems frecuentes Soporte

2000 1000 4000 5000

A,B,C A,C A,D B,E,F

Para la regla A C:

{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 asociacin


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 clculos innecesarios) Conjuntos de tems frecuentes Estrategia de minar reglas de asociacin:
Generacin de conjuntos de tems frecuentes Generacin de reglas

Generacin de conjuntos de tems frecuentes


Una estructura reticular puede ser usada para enumerar la lista de todos los posibles conjuntos de tems

108

Generacin de conjuntos de tems frecuentes


Conjunto de tems frecuentes: conjunto de tems que tienen un mnimo 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 asociacin

El algoritmo A priori
Generacin de Candidatos:
Paso de unin: Ck es generado uniendo Lk-1 con el mismo Paso de poda: Cualquier conjunto de (k-1) tems que no es Pseudo-cdigo:
frecuente no puede ser usado como un subconjunto de un conjunto frecuente de k-tems Ck: conjuntos de tems candidatos de tamao k Lk :conjuntos de tems frecuentas de tamao k

L1 = {tems frecuentes}; for (k = 1; Lk !=; k++) do begin Ck+1 = candidatos generados de Lk; (ver siguiente ejemplo) for each transaccin t en la base de datos do // requiere hacer scan a la BD !!! incrementar la cuenta de los candidatos en Ck+1 que estn contenidos en t Lk+1 = candidatos en Ck+1 con soporte >= min_soporte end return k Lk;

109

Generacin de candidatos
Suponer los tems en Lk-1 estn ordenados en una lista Paso 1: unin 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 pequeos 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 generacin de candidatos


L3={abc, abd, acd, ace, bcd} Unin: 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 Items 134 235 1235 25

itemset sup. {1} 2 {2} 3 Scan D {3} 3 {4} 1 {5} 3

C1

L1 itemset sup.
{1} {2} {3} {5} 2 3 3 3

L2 itemset sup
{1 3} {2 3} {2 5} {3 5} 2 2 3 2

C2 itemset sup
{1 {1 {1 {2 {2 {3 2} 3} 5} 3} 5} 5} 1 2 1 2 3 2

C2 itemset {1 2} Scan D
{1 {1 {2 {2 {3 3} 5} 3} 5} 5}

C3 itemset {2 3 5}

Scan D

L3 itemset sup {2 3 5} 2

Generando Reglas de Asociacin desde conjuntos de tems frecuentes


Una vez todos los conjuntos de tems frecuentes han sido encontrados, se pueden generar reglas de asociacin (confianza min_conf ):
Por cada conjunto de tems frecuentes l, generar todos los subconjuntos de l (no vacos); 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 Asociacin desde conjuntos de tems frecuentes


C({B,C} E}) = s(B,C,E)/s(B,C)=2/2 = 100% AC No todas las reglas descubiertas pueden ser interesantes para presentar y usar.

Reglas de asociacin MltipleNivel


tems por lo general forman una jerarqua tems de niveles bajos tienen menos soporte Reglas obtenidas de los conjuntos de tems a apropiados niveles pueden ser tiles Se puede explorar minera compartida multinivel skim Fraser Food milk bread

2% wheat white Sunset

Usando conocimiento del dominio

112

Minando Multi-nivel con soporte reducido


Usar informacin de viejos conjuntos de tems frecuentes e integrar informacin de soporte de nuevos conjuntos de tems frecuentes Nivel 1 min_sup = 5% Milk [support = 10%]

Nivel 2 min_sup = 3%

2% Milk [support = 6%]

Skim Milk [support = 4%]

Las asociaciones interesantes ocurren en niveles altos

Mtodo FP-GROWTH
Longitud 100 nmero de candidatos es al menos:

100 100 i = 2 1 1030 i =1


100

Complejidad de computacin crece exponencialmente! Mtodo Frequent pattern growth: mejora escalabilidad (grandes conjuntos de datos)

113

FP-GROWTH
1. 2. 3.

Proyeccin de los conjuntos de tems frecuentes Construye una estructura en memoria llamada FP-tree Aplicar algoritmo FP-Growth

Id

tems

Mnimo soporte = 3
Id Soporte

1 2 3 4 5

f,a,c,d,g,i,m,p a,b,c,f,l,m,o b,f,h,j,o b,c,k,s,p a,f,c,e,l,p,m,n

Scan

f c a b m p

4 4 3 3 3 3

Frecuencias ordenadas descendemente. Orden importante! FP-tree sigue ese orden

Raz del rbol es creada

,1
Scan de la primera transaccin Construccin de la primera rama del rbol (solo los tems que estn en la lista de frecuentes) Scan de la segunda transaccin

,1 ,1 ,1 ,1

114

Id

tems

Mnimo soporte = 3
Id Soporte

1 2 3 4 5

f,a,c,d,g,i,m,p a,b,c,f,l,m,o b,f,h,j,o b,c,k,s,p a,f,c,e,l,p,m,n

Scan

f c a b m p

4 4 3 3 3 3

Frecuencias ordenadas descendentemente. Orden importante! FP-tree sigue ese orden

Raz del rbol es creada

,1 ,2 ,2 ,1 ,1 ,2 ,1 ,1 ,1 ,1

Scan de la primera transaccin Construccin de la primera rama del rbol (solo los tems que estn en la lista de frecuentes) Scan de la segunda transaccin

Id

tems

Mnimo soporte = 3
Id Soporte

1 2 3 4 5

f,a,c,d,g,i,m,p a,b,c,f,l,m,o b,f,h,j,o b,c,k,s,p a,f,c,e,l,p,m,n

Scan

f c a b m p

4 4 3 3 3 3

Frecuencias ordenadas descendentemente. Orden importante! FP-tree sigue ese orden

Raz del rbol es creada

,3 ,2 ,2 ,2 ,1 ,1 ,1 ,1 ,1

Scan de la primera transaccin Construccin de la primera rama del rbol (solo los tems que estn en la lista de frecuentes) Scan de la segunda transaccin Scan de la tercera transaccin

115

rbol final FP
Lista de cabezas (headers)

,4 ,3 ,3 ,2 ,2 ,1 ,1 ,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

Ejemplos o registros { (f,2),(c,2),(a,2),(m,2),(p,2)) } { (c,1),(b,1),(p,1) }

,4 ,3 ,3 ,2 ,2 ,1 ,1 ,1

,1 ,1 ,1

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 asociacin multidimensionales


Id 1 2 3 4 5 A1 a b a a c A2 1 2 2 3 1 {pan, leche} {pan, paales, cerveza, huevos} {leche, paales, cerveza, gaseosa} {pan, leche, paales, cerveza} {pan, leche, paales, gaseosa} tems

117

Reglas de asociacin multidimensionales


Sentido comn Dividir el proceso de minera en dos pasos:
Minar informacin dimensional Conjunto de tems frecuentes

Encontrar combinaciones de valores multidimensionales y luego los correspondientes conjuntos de tems frecuentes

Ejemplo
Combinacin de los valores de los atributos Umbral de n (considerados frecuentes) Patrn Multidimensional MD-Patterrn Algoritmo BUC
Id A1 A2 A3 1 2 3 4 a b a c 1 2 2 3 m n m p tems x, y, z z, w x, z, w 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 dimensin A2

Id 1 3 2 4

A1 a a b c

A2 1 2 2 3

A3 m m n p

tems x, y, z x, z, w z, w x, w

Ningn valor (1y 2) cumple el umbral, la dimensin A2 es ignorada

Ejemplo
5.

6.

Ordenar con respecto a la tercera dimensin A3 Md-Pattern es m

Id 1 3

A1 a a

A2 1 2

A3 m m

tems x, y, z 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 iteracin) MD-pattern es 2 continuando con A3 del subconnunto, no hay MD-patterns
Id 1 3 2 4 A1 a a b c A2 1 2 2 3 A3 m m n p tems x, y, z x, z, w z, w 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 1 3 2 4 A1 a a b c A2 1 2 2 3 A3 m m n p tems x, y, z x, z, w z, w x, w

(*,*,m)

120

Ejemplo
Minar los conjuntos frecuentes por cada MD-pattern Otra forma: Minar primero conjuntos de tems frecuentes y despus encontrar los MD-patterns.

Bibliografa
Jiawei Han and Micheline Kamber. Data Mining: Concepts and Techniques, 2006

121

Minera de Datos II - 2007

Anlisis Supervisado I

122

Agenda
Conceptos bsicos de aprendizaje maquinal rboles de decisin y Reglas de Decisin

Medidas de desempeo

Agenda
Conceptos bsicos de aprendizaje b maquinal

rboles de decisin y Reglas de Decisin

Medidas de desempeo

123

Qu es Aprendizaje de Mquina?
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, AIs Greatest Trends and Controversies

Qu es Aprendizaje de Mquina?
Estudio y desarrollo de sistemas que aprenden Sistema que aprende: Sistema capaz de optimizar una funcin de desempeo basado en datos de entrenamiento y/o datos previos Elemento fundamental para el aprendizaje -> generalizacin (extraccin de patrones a partir de datos)

124

Por Qu Usar Aprendizaje de Mquina?


Hay Mltiples tareas para las cuales es difcil 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 fenmenos cambian de manera rpida Aplicaciones que deben ser personalizadas para cada usuario particular

reas de Aplicacin del Aprendizaje de Mquina


Reconocimiento de patrones: procesamiento de imgenes, visin artificial, patrones en series de tiempo Minera de datos: anlisis de comportamiento de clientes, extraccin de informacin Bioinformtica: deteccin de genes, relaciones entre genes, diagnstico gentico Robtica: caminado adaptativo Recuperacin de Informacin: motores de bsqueda, sistemas de recomendacin, recuperacin por contenido Deteccion de anomalas: deteccin de fraudes, seguridad computacional

125

Tipos de Aprendizaje

Aprendizaje Aprendizaje Aprendizaje Aprendizaje

supervisado no supervisado semi-supervisado activo (con refuerzo, en lnea)

Aprendizaje supervisado
Problema fundamental: encontrar una funcin que relacione un conjunto de entradas con un conjunto de salidas Tipos principales de problemas: Clasificacin Regresin

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, Compresin 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 explcitamente al agente si se equivoca o no El agente es castigado o premiado (no necesariamente de manera inmediata) Problema fundamental: definir una poltica que permita maximizar el estmulo positivo (premio)

Agenda
Conceptos bsicos de aprendizaje maquinal

rboles de decisin y Reglas de Decisin

Medidas de desempeo

128

Aprendizaje con rboles de Decisin


Problema: decidir si esperar por una mesa en un restaurante, basndose en los siguientes atributos:

Alternativa: Hay un restaurante alternativo cercano? Bar: Tiene un bar confortable para esperar? Viernes/Sbado: Hoy es Viernes o Sbado? Hambre: Estamos hambrientos? Clientes: nmero de personas en el restaurante (Ninguno, Algunos, Lleno) (Ninguno, algunos, lleno) Precio: Rango de precios ($, $$, $$$) Lloviendo: Est lloviendo afuera? Reservacin: Tuvimos que hacer reservacin? Tipo: clase de restaurante (Francs, 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
Alternativa Bar Viernes/ Sbado Hambre Clientes Precio Lloviendo Reservacin Tipo Espera Estimada

Esperar? V F V V F F F V F F F V

X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12

V V F V V F F F F V F V

F F V F F V V F V V F V

F F F V V F F F V V F V

V V F V F V F V F V F V

Algunos Lleno Algunos Lleno Lleno Algunos Ninguno Lleno Lleno Lleno Ninguno Lleno

$$$ $ $ $ $$$ $$ $ $ $$$ $ $ $

F F F F F V V V V F F F

V F F F V V F V F V F F

Francs Thai Hamburguesas Thai Francs Italiano Hamburguesas Thai Hamburguesas Italiano Thai Hamburguesas

0 - 10 30 - 60 0 - 10 10 30 > 60 10 - 30 0 - 10 0 - 10 > 60 10 - 30 0 - 10 30 - 60

Clasificacin de ejemplos es positivo (V) o negativo (F)

rboles de Decisin
Una posible representacin para las hiptesis Por ejemplo, este es el rbol verdadero para decidir si esperar o no:
Clientes? Ninguno
F

Algunos
V

Lleno EsperaEstimada? >60


F

>30 -60

>10-60 Hambre? No
V

>0-10
V

Alternativa? No Si Viernes/Sbado? No
F

Si Alternativa? No
F

Reservacin ? No Si Bar? No
F V

Si
V

Si
V

Si
V

130

Expresividad
Los rboles de Decisin pueden expresar cualquier funcin de los atributos de entrada. Por ejemplo, para funciones Booleanas, una fila de la tabla de verdad camino a la hoja:

A F F V V

B F V F V

AyB F V V F
No
F B

No

Si
B

Si
V

No
F

Si
V

Es trivial, que haya un rbol de decisin consistente para cualquier conjunto de entrenamiento con un camino a la hoja para cada ejemplo (a menos que f sea no-determinstica en x) pero es probable que no generalice para nuevos ejemplos. Es preferible encontrar rboles de decisin ms compactos

Algoritmo para la Induccin de rboles de Decisin


Algoritmo bsico (Algoritmo avaro)
El rbol es construido de arriba hacia abajo recursivamente de forma divide y vencers. Al comienzo, todos los ejemplos de entrenamiento estn en la raz. Los atributos son categricos (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 heurstica o medida estadstica (ej. ganancia de informacin)

131

Condicin 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 mayora de votos es usada para la clasificacin de la hoja.

Escogiendo un Atributo
Idea: un buen atributo separa los ejemplos en subconjuntos que son (idealmente) todos positivos o todos negativos

Clientes?

Tipo?

Ninguno

Algunos

Lleno Francs Italiano Thai Hamburguesas

Clientes? Es una buena opcin

132

Informacin y Entropa (I)


Cuando se contesta una pregunta se est generando informacin La informacin ganada es equivalente a la incertidumbre que se disipa (entropa). Suponga que se tiene un evento con dos resultados alternativos (desconocidos), cul es la situacin de mxima incertidumbre?

Informacin y Entropa (II)


Medida de informacin: 1 bit = respuesta a una pregunta Booleana con probabilidades (0.5,0.5) En general, la entropa de una situacin dada es:
n H P ,..., Pn = Pi log 2 Pi 1 i =1

Pi corresponde a la probabilidad de cada alternativa La informacin generada por la respuesta a una pregunta corresponde a la diferencia entre el valor de la entropa antes y despus de responder la pregunta

133

Informacin y Entropa (III)


La entropa es mxima cuando las opciones son equiprobables

Ganancia de informacin 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

Clientes ? Lleno Ninguno Algunos

Hnueva = 1/6*0 + 2/3*0 +0.5*0.91 = 0.45 Info = Hvieja - Hnueva = 1 0.45 = 0.55

H=0

H=0 P(V)=0.33 P(F)=0.66 H= - 0.33*(-1.59) - 0.66*(-0.58)=0.91

134

Ganancia de informacin
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 nmero de bits por ejemplo sobre todas las ramas es:

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 informacin

Ejemplo
rbol de Decisin aprendido de 12 ejemplos:
Clientes?

Ninguno
F

Algunos
V

Lleno
Hambre?

No
F

Si
Tipo?

Francs
V

Hamburguesas Italiano
F

Viernes/Sbado? No Si
V

Sustancialmente ms simple que un rbol de verdad una hiptesis ms compleja no se justifica por el bajo volumen de datos

135

Extraccin de Reglas de Clasificacin


Se representa el conocimiento en forma de reglas Si Entonces Una regla es creada para cada camino desde la raz a una hoja Cada par atributo valor a lo largo de un camino forma una conjuncin. El nodo hoja mantiene la clase prediccin Las reglas son fciles de entender. Ejemplo:
IF clientes = lleno AND hambre = no THEN esperar = no IF clientes = algunos THEN esperar = no THEN esperar = si
AND tipo =italiano

IF clientes = lleno AND hambre = no

Manejo de Atributos Continuos


La idea es discretizar Particin binaria:
x <= x0 y x > x0 x0 es un valor que se debe encontrar

Divisin en intervalos (binarizacin/cuantizacin) Agrupamiento

136

Notas Finales
Hay diferentes tipos de algoritmos para induccin de rboles de clasificacin (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 bsicos de aprendizaje maquinal

rboles de decisin y Reglas de Decisin

Medidas de desempeo

137

Evaluacin de Algoritmos
Criterios (dependiendo de la aplicacin):
Error de clasificacin o riesgo Complejidad espacio/temporal del entrenamiento Complejidad espacio/temporal de la aplicacin Interpretabilidad Programacin 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) precisin= #+ encontrados/ #total de encontrados = TP/(TP+FP) especificidad = TN/(TN+FP) %falsas alarmas = FP/(FP+TN)

138

Matrices de Confusin
Usadas cuando ms de dos clases estn involucradas
Clase Predicha Virginica Versicolor 0 0 48 2 1 49

Clase verdadera Setosa Virginica Versicolor

Setosa 50 0 0

Bibliografa
Stuart Russell and Peter Norvig Artificial Intelligence: A Modern Approach, Second Edition.

139

Minera de Datos II - 2007

Anlisis Supervisado II

140

Agenda
Introduccin. Redes Neuronales Artificiales.
Neurona Artificial. Modelo de McColluch-Pitts. Definicin de RN. Clasificacin.

Agenda
Aprendizaje o Entrenamiento
Definiciones Bsicas Clasificacin de Algoritmos de Aprendizaje

Redes Multicapa
El Perceptrn Back Propagation

141

Agenda
Introduccin. Redes Neuronales Artificiales.
Neurona Artificial. Modelo de McColluch-Pitts. Definicin de RN. Clasificacin.

INTRODUCCIN
Qu son las Redes Neuronales?. Bases Biolgicas. Historia. Caractersticas. Aplicaciones.

142

Qu son las Redes Neuronales?


Las Redes Neuronales son modelos artificiales de las Redes Neuronales Biolgicas . Estn constituidas por innumerables unidades procesadoras, llamadas neuronas, las cuales se interconectan a travs de conexiones.

Una Red Neuronal

143

Bases Biolgicas
El Cerebro es un sistema supremamente complejo. El cerebro humano esta compuesto por cerca de 1011 neuronas (100.000 Millones), con un tamao de 5-100 micrmetros. Es el dispositivo de computo ms poderoso que existe. Le ha tomado a la naturaleza 4.000 Millones de aos desarrollarlo.

La Neurona Biolgica

144

La Neurona Biolgica
DENDRITAS: Recogen seales bien procedentes de otras neuronas, bien del mundo externo y las transmiten al cuerpo de la neurona

La Neurona Biolgica
CUERPO: Recibe las seales de todas las dendritas y segn la tipologa de la neurona en si, determina una respuesta global.

145

La Neurona Biolgica
AXON: Transmite la respuesta global generada por el cuerpo de la neurona. La respuesta se transmite a otras neuronas o a algn miembro receptor (msculo, etc...)

La Neurona Biolgica
SINAPSIS: Es el punto de unin entre dos neuronas (dendrita - axn). El impulso transmitido por el axn 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

Caractersticas
Qu son capaces de hacer?
Reconocimiento de Patrones Sntesis Funcional: relaciones entre

varias entradas continuas y una o ms salidas continuas

147

Computacin Convencional Vs. Neurocomputacin


NeuroComputacin Entrenamiento, aprendizaje No se separa la memoria y el procesamiento Paralela (Discreto o Continuo), asncrona Tolerante a fallas Auto-organizacin Acepta entradas con ruido o difusas Com. Convencional Programacin Memoria y procesamiento separados Secuencial o serial, sncrona No tolerante a fallos Dependiente del software Garbage in - Garbage out (si entra basura, sale basura)

Aplicaciones
Visin por Computador Reconocimiento de la Escritura Reconocimiento y sntesis de la Voz Control de Procesos Diagnostico Mdico Exploracin Petrolera Minera de Datos

148

Agenda
Introduccin. Redes Neuronales Artificiales.
Neurona Artificial. Modelo de McColluch-Pitts. Definicin de RN. Clasificacin.

Neurona Artificial
Definicin: Unidad de procesamiento encargada de simular el comportamiento de una neurona biolgica. Modelo matemtico que trata de emular de manera simplificada el comportamiento de una neurona biolgica

149

Agenda
Introduccin. Redes Neuronales Artificiales.
Neurona Artificial. Modelo de McColluch-Pitts. Definicin de RN. Clasificacin.

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 2 w i2 w i1

w ij

F i n i

MODELO McCULLOCHPITTS
Funcin de Activacin:

f(x)= 1 si x >= u 0 si x<u u


Funcin umbral

151

MODELO McCULLOCHPITTS
Ejemplo:
0.5 0.2 0.2

0.1 -0.2 0.1

0.03 1
0

Otras funciones

Funcin umbral

Funcin lineal a trozos

Funcin sigmoide

Funcin Gausssiana

152

Red Neuronal Artificial


La interconexin 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 0.5 0.5 1 0.5

=0


=0.3 -1

153

Agenda
Introduccin. Redes Neuronales Artificiales.
Neurona Artificial. Modelo de McColluch-Pitts. Definicin de RN. Clasificacin.

Clasificacin
Segn la topologa:
Redes

feedforward

Perceptrn simple Perceptrn multicapa Redes con funciones de base radial


Redes

recurrentes feedback

Redes competitivas Red Kohonen Red Hopfield Modelos ART

154

Clasificacin
Red Feedforward
Neuronas de salida

Neuronas ocultas

Neuronas de entrada

Clasificacin
Red Recurrente:

155

Agenda
Aprendizaje o Entrenamiento
Definiciones Bsicas Clasificacin de Algoritmos de Aprendizaje

Redes Multicapa
El Perceptrn 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 adaptacin de la red neuronal de manera que sus salidas se acerquen cada vez ms 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 autnoma regularidades en los datos de entrada creando categoras que agrupen a los datos ms similares.

Con refuerzo:
La red aprende a travs de un proceso de ensayo y error que maximiza el ndice de desempeo denominado seal de error.

Clasificacin
Tipo de aprendizaje
S u p e r v is a d o

Regla de aprendizaje
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

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

No s u p e r v is a d o

H b r id o

157

Ley de Hebb
Experimento de Pavlov

Sonido

A B Seal de salivacin

Comida

Ley de Hebb
Idea principal sobre la cual se basa esta ley:
Cuando un axn de la clula A est suficientemente prximo para excitar a una clula B o toma parte en su disparo de forma persistente, tiene lugar algn proceso de crecimiento o algn cambio metablico en una de las clulas, o en las dos, de tal modo que la eficiencia de A, como una de las clulas que desencadena el disparo de B, se ve incrementada.

158

Tcnica del Gradiente Descendente


Calcular el valor de la funcin en el punto y=f (x0) Calcular el nuevo valor de xi como el valor anterior mas el gradiente de la funcin.

yi+1 = yi+yi

Tcnica del Gradiente Descendente


El gradiente de la funcin se calcula como la derivada parcial de la funcin con respecto al punto xi. El gradiente es igual a:

yi= - f /xi

159

Tcnica del Gradiente Descendente


La tcnica de gradiente descendente es un procedimiento iterativo que busca minimizar una funcin movindose en la direccin opuesta al gradiente de dicha funcin.

Tcnica del Gradiente Descendente

mnimo local

mnimo global

160

Rata de Aprendizaje
Determina el tamao del paso que utiliza el algoritmo, para moverse en el espacio de los pesos. Un valor muy pequeo para este parmetro 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 mnimos locales. Con este momento se consigue la convergencia de la red en un nmero menor de iteraciones.

161

Patrones de entrenamiento
Un patrn 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 Bsicas Clasificacin de Algoritmos de Aprendizaje

Redes Multicapa
El Perceptrn Back Propagation

162

El Perceptrn
Definicin: Es una red neuronal feedforward que consta de dos capas, una de entrada y una de salida. En sus inicios se consider que poda resolver todo tipo de problemas. Sin embargo no es posible resolver el problema XOR con este modelo.

El Perceptrn
x1 x2 . . xi . . yi y1 y2

163

El Perceptrn
Regla de Aprendizaje 1. Inicializacin 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 Perceptrn
2. Presentacin de un nuevo par (Entrada, Salida esperada): Presentar un nuevo patrn de entrada Xp=(x1,x2,...,xN) junto con la salida esperada d(t).

164

El Perceptrn
3. Clculo de la salida actual

y(t)=f [wi(t)xi(t)-]
i Siendo f (x) la funcin de transferencia escaln.

El Perceptrn
4. Adaptacin 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 Perceptrn
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 Perceptrn


1. 2. 3.

Inicializar los pesos y umbrales para valores aleatorios pequeos. Presentar un patrn 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
Funcin AND linealmente separable Funcin XOR No separable linealmente
01 01 11 11

00

10

00

10

Redes Multicapa
Definicin: Conformadas por una capa de entrada, una o varias ocultas y una de salida, sus conexiones no deben formar ciclos. Feedforward: Conexin completa entre capas sucesivas. Pueden utilizar funciones de activacin tales como la sigmoide y la funcin umbral.

167

Redes Multicapa
Neuronas de salida

Neuronas ocultas

Neuronas de entrada

Algoritmo de Retropropagacin (Back Propagation)


Para entrenar redes multicapa. Requiere que la funcin de activacin sea derivable y creciente. Usualmente sigmoides (logstica y la tangente hiperblica). A minimizar funcin de error (cuadrtico 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 Retropropagacin (Back Propagation)


El algoritmo trabaja de la siguiente forma:
Presenta un patrn 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 atrs). Cambia los pesos de las conexiones.

Algoritmo de Retropropagacin (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 Retropropagacin (Back Propagation)


Pasos del algoritmo:
Inicializar los pesos con pequeos valores aleatorios. Escoger aletoriamente un patrn de entrada x. Propagar la seal hacia adelante.

- Calcular el error en la capa de salida

i(t)=f(xi(t))*(di-yi)

Algoritmo de Retropropagacin (Back Propagation)


Propagar dicho error hacia las neuronas ocultas (hacia atrs).

j(t)=f (xi(t))*(wiji(t)) i

Actualizar los pesos utilizando:

wji(t+1)= wji(t)+wji(t+1)
donde:

170

Algoritmo de Retropropagacin (Back Propagation)

wji(t+1) = [jyi(t)+wji(t)]

Repetir desde el paso 2 hasta alcanzar el error deseado

Generalizacin y sobre ajuste


Error de clasificacin Control del sobre-ajuste Complejidad del modelo

171

Error de Clasificacin
Error de entrenamiento:
e(modelo, datos) Nmero de ejemplos de entrenamiento clasificados incorrectamente Conocido como error de re-substitucin o error aparente

Error de generalizacin:
e(modelo, datos) Error esperado del modelo en ejemplos no usados en el entrenamiento.

Un buen modelo debe tener errores de entrenamiento y generalizacin 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 clculo de los ejemplos futuros ser alto

172

Sobre-ajuste
Sobre-ajuste: Bajo error de entrenamiento pero error de generalizacin alto. Sub-ajuste (underfitting): Errores de entrenamiento y generalizacin altos
Sub-ajuste Sobre-ajuste Error de Generalizacin

Error de Entrenamiento

Parmetro modelo

Causas sobre-ajuste: Presencia Ruido

Ruido

La frontera de decisin 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 difcil que el modelo realice una prediccin acertada en esta regin

Causas sobre-ajuste: Procedimiento mltiple comparaciones


Al comparar alternativas independientes y seleccionar la mejor Ejemplo:
Predecir cuando la demanda se incrementara o reducir en los siguientes 10 das. Analista aleatorio: Su probabilidad de acertar en 8 o mas das 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 das es: 1 (1-0.0547)50 = 0.9399

174

Estimacin del error de Generalizacin


Estimacin optimista: Usando resubstitucin
e(modelo, datos) = e(modelo, datos)

Incorporando la complejidad del modelo Cuchilla de Occam


e(modelo, datos)= e(modelo, datos)+costo(modelo, datos) Estimacin pesimista Principio MDL (Descripcin de mnima longitud)

Descripcin de Mnima Longitud (MDL)


X X1 X2 X3 X4 y 1 0 0 1
A? Yes 0 B1 No B? B2 1 C2 1

C? C1 0

Xn

X X1 X2 X3 X4

y ? ? ? ?

Xn

costo(modelo,datos) = costo(datos|model) + costo(modelo)


Costo es medido en el numero de bits necesarios para su codificacin. El problema es el de buscar el modelo de menor costo.

costo(datos|modelo) para codificar los errores de clasificacin. costo(modelo) para codificar el modelo.

175

Mtodos de Estimacin
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 estadsticos sobre dicho proceso Se sugiere repetir como mnimo 30 veces

Validacin 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 validacin Dejar uno afuera (Leave-one-out): k=n

Muestreo Estratificado
sobremuestreo vs submuestreo

Bootstrap
Muestreo con repeticin

Complejidad del modelo


Parmetro que controla lo complejo del modelo En rboles de decisin (tamao)
Pre-podado Post-podado

En redes neuronales
Nmero neuronas ocultas y/o conexiones Tipo de red neuronal

176

Bibliografa
Neural Networks: A Comprehensive Foundation, Simon Haykin Neural Networks: Algorithms, Applications, and Programming Techniques, James A. Freeman, David M. Skapura

Notas

177

Minera de Datos II - 2007

Anlisis Supervisado III Modelos Probabilsticos

178

Agenda
Repaso de probabilidad Modelos Bayesianos Clasificador Bayesiano Naive Bayes Red de creencias Clasificacin sensible al costo

Agenda
Repaso de probabilidad Modelos Bayesianos Clasificador Bayesiano Naive Bayes Red de creencias Clasificacin sensible al costo

179

Probabilidad
Formalizacin de la nocin intuitiva de la posibilidad de que un evento ocurra # de Veces que sucede E P (E ) = # Posibles Eventos Cul es la probabilidad de obtener el nmero 6 si lanzo un dado? Cul es la probabilidad de obtener 10 o ms si lanzamos dos dados? Variable aleatoria: una variable que puede tomar diferentes valores de acuerdo con una distribucin 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
Cul 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 estn relacionadas: P(X,Y) = P(Y|X) P(X) = P(X|Y) P(Y) Teorema de Bayes P(Y|X) = P(X|Y)P(Y) / P(X) P(X|Y) 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, cul equipo es el favorito a ganar?

Agenda
Repaso de probabilidad Modelos Bayesianos Clasificadores Bayesiano Naive Bayes Red de creencias Clasificacin 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 Especficamente, 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?

Solucin
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) Cmo se estima P(A1, A2, , An | C )?

183

Problema de tomar una decisin


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 Nave Bayes Red de creencias Clasificacin sensible al costo

184

Clasificador Nave 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 mximo.

Cmo Estimar las Probab. a Partir de los Datos?

185

Cmo Estimar las Probab. a Partir de los Datos?


Para atributos continuos:
Discretizar: el rango en bins
un atributo ordinal por bin viola la suposicin de independencia

Separacin: (A < v) o (A > v)


Escoger solo uno de los dos intervalos como nuevo atributo

Estimacin de la distribucin de probabilidad:


Asuma que el atributo tiene una distribucin normal Use los datos para estimar los parmetros de la distribucin (ej.,media y desviacin estndar) Una vez que la distribucin de probabilidad se conoce, se puede usar para estimar P(Ai|c)

Cmo Estimar las Probab. a Partir de los Datos?


Distribucin normal:

P ( Ai | C ij ) =

1 2 ij

( Ai ij ) 2 2 ij 2

Uno por cada par (Ai,ci) Para (Income, Class=No): Si Class=No


media muestral = 110 varianza muestral = 2975
1 e 2 * 54 .54 (120 110 ) 2 2 ( 2975 )

P ( Income = 120 | No ) =

= 0 .0072

186

Ejemplo del Clasificador Nave Bayes


X = (Re fund = No, Married , Income = 120 K )
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 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 Nave Bayes


Si una de las probabilidades condicionales es 0, entonces toda la expresin se vuelve 0 Estimacin de la probabilidad: N Original : P ( Ai | C ) = ic c: nmero de clases Nc p: probabilidad a priori N ic + 1 Laplace : P( Ai | C ) = m: parmetro Nc + C N + mp m estimate : P ( Ai | C ) = ic Nc + m

187

Nave Bayes (Recapitulacin)


Robusto a ejemplos ruidosos Maneja valores faltantes simplemente ignorando la instancia durante los clculos de la estimacin de probabilidad Robusto a atributos irrelevantes La suposicin de independencia puede no cumplirse para algunos atributos:
Se deben usar otras tcnicas tales como redes de creencias Bayesianas

Agenda
Repaso de probabilidad Modelos Bayesianos Clasificadores Bayesiano Naive Bayes Red de creencias Clasificacin 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:
Representacin y construccin del modelo Estimacin de probabilidades condicionales Inferencia sobre el modelo

Red de Creencias
Un modelo grfico de relaciones causales:
Representan dependencia condicional entre las variables Variables no explcitamente relacionadas se consideran condicionalmente independientes

Nodos: variables aleatorias

X Z

Y P

Enlaces: dependencias X y Y son los padres de Z, y Y es el padre de 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 cncer de pulmn: CP 0.8 0.2 0.5 0.5 0.7 0.3

(HF, F) (HF, ~F) (~HF, F) (~HF, ~F)

0.1 0.9

Cncer de pulmn

Efisema

~CP

Rayos X Positivos

Dipnea

La derivacin de la probabilidad de una combinacin particular de valores de X, desde TPC:

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 Cncer de Pulmn:
Sin informacin 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 estn ocultas: mtodo del gradiente descendente (greedy hill-climbing), anlogo al aprendizaje neural de la red. La estructura de la red es desconocida, todas las variables son observables: buscar a travs del espacio del modelo para reconstruir la topologa de la red. Estructura desconocida, todas las variables estn ocultas: no se conocen buenos algoritmos para ste propsito.

Ref. D. Heckerman: Bayesian networks for data mining

Caractersticas
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 Clasificacin sensible al costo

Clasificacin Sensible al Costo


Area
Marketing Medicina Finanzas Spam

Ejemplo
Comprador / no Comprador Enfermo / no Enfermo Prestar / no Prestar Spam / no 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 pequea comparada con no contactar un comprador

Finance

El costo de un mal prestamo es mayor que negarle un prestamo aun buen cliente

Spam

Rechazar correo que no sea Spam es ms costoso que aceptar correo Spam

Matriz de Costos
Actual

Sunny Snowy Rainy


Predicted

Sunny Snowy Rainy

0 1 2

10 1 2

15 11 2

Fuente: Zadrozny y Abrahams

193

Costos Dependientes Fraude con Tarjeta de Crdito


Real Predicho
Fraude No fraude Rechazo Aprobar

20 -x

- 20
(0.2)x

x = valor transacin

Fuente: Aprahams

Aprendizaje Sensitivo al Costo


Aprendizaje no sensitivo al costo:
max

Ci P (C j | A1 ,..., An )
Aprendizaje sensitivo al costo: Escoger accin que minimice el costo esperado

min

Ci

C j Ci

P(C

| A1 ,..., An )Costo(C j , Ci )

Costo(Cj,Ci) = costo de clasificar como Ci cuando realmente es Cj Los dos enfoques son equivalentes cundo 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

Bibliografa
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

Bibliografa
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

Minera de Datos II - 2007

Regresin y Series de Tiempo

198

Agenda
Regresin Series de tiempo

Agenda
Regresin Series de tiempo

199

Regresin
Similar al problema de clasificacin pero el atributo de clase es continua Problema:encontrar una relacin funcional entre una variable dependiente y uno o varias variables independientes Tipos: Regresin lineal Regresin no lineal Otros: regresin logsitica, rboles de decisin

Regresin 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 regresin Mtodo de mnimos cuadrados: estima la lnea que mejor ajuste los datos

(x
w1 =
i=1

|D |

x )(y i y )
i

(x
i=1

|D |

w0 = y w x 1

x )2

200

Regresin Lineal Multivariada


Involucra ms 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 mtodo de mnimos cuadrados Muchas funciones no lineales se pueden transformar en este modelo

Regresin no lineal
Algunos modelos no lineales se pueden modelar con una funcin polinomial Un modelo de regresion polinomial puede transformarse en un modelos de regresin 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

Regresin no Lineal
Solucin: usar un modelo no paramtrico (o semiparamtrico) Redes neuronales:
Neuronas de entrada: variables independientes Neuronas de salida: variables dependientes

Regresin Logstica
Objetivo: usar regresin para estimar la probabilidad P(Y|X1,...,Xn) = g(w0+w1X1+...+wnXn) g() es una funcin sigmoide, usualmente la funcin logsitica:

g (x ) =

1 1+ e x

202

Agenda
Regresin 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, inflacin

Industria: consumo de energa Ciencia: resultados de experimentos Metereologa: precipitacin

203

Series de Tiempo

Una serie de tiempo puede ser ilustrada como una grfica que describe un punto que se mueve a travs del tiempo.

Categoras de Movimientos de Series de Tiempo


Tendencia: movimientos a largo plazo Cclicos: oscilaciones de largo plazo sobre una lnea o curva de tendencia e.g. ciclos de negocios, que pueden o no ser peridicos Estacionales: Casi siempre son patrones idnticos que una serie de tiempo aparenta seguir durante meses correspondientes durante aos sucesivos. Movimientos irregulares o aleatorios

204

Anlisis de Series de Tiempo


Descomposicin de una serie de tiempo en sus cuatro movimientos bsicos Modo aditivo: TS = T + C + S + I Modo multiplicativo: TS = T C S I Diferentes mtodos 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 funcin lineal En el caso ms general, f es una funcin no lineal

205

Autoregresin con Redes Neuronales


Se debe definir el tamao de la ventana de autoregresin, k (nmero de datos a mirar hacia atrs) 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

Bibliografa
Data Mining: Concepts and Techniques Jiawei Han and Micheline Kamber Department of Computer Science University of Illinois at Urbana-Champaign
2006

206

Minera de Datos II - 2007

Agrupamiento Principios y Aplicaciones

207

Agenda
Qu es el anlisis de Cluster? Similitud y Disimilitud
Aplicaciones del Anlisis de Cluster Qu no es Anlisis de Cluster? 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) Correlacin Densidad Densidad Euclidiana - Basada en Celdas Densidad Euclidiana Basada en el Centro Tipos de Agrupamientos

Agenda
Tipos de Agrupamientos
Agrupamiento de Particin (Partitional Clustering) Agrupamiento Jerrquico Otras distinciones entre los conjuntos de Clusters Caractersticas importantes de la entradas de datos

Algoritmos de Agrupamiento
K-means y sus variantes Agrupamiento jerrquico Agrupamiento basado en densidad

208

Agenda
Qu es el anlisis de Cluster? Similitud y Disimilitud
Aplicaciones del Anlisis de Cluster Qu no es Anlisis de Cluster? 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) Correlacin Densidad Densidad Euclidiana - Basada en Celdas Densidad Euclidiana Basada en el Centro Tipos de Agrupamientos

Qu es el anlisis de Cluster?
Los grupos de objetos encontrados, en un grupo sern similares o relativos sus objetos y diferentes de los objetos de otros grupos.
Las distancias entre los cluster son maximizadas

Las distancias dentro de los cluster son minimizadas

209

Aplicaciones del Anlisis de Cluster


Entendimiento
Grupo relativo de documentos para encontrar grupos de genes y protenas que tiene una funcionalidad similar, o grupos tpicos con fluctuaciones de precios similares.
Clusters Descubiertos Grupo Industrial

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

Technology1-DOWN

Technology2-DOWN

Financial-DOWN Oil-UP

Resumen
Reducir el tamao de los grandes conjuntos de datos

Agrupamiento para la precipitacin en Australia

Qu no es Anlisis de Cluster?
Clasificacin Supervisada
Tiene etiquetas de informacin de la clase

Segmentacin Simple
Dividir los estudiantes en grupos diferentes de registro alfabticamente por apellido.

Resultados de una consulta


Los agrupamientos son resultados de una especificacin externa

Particin Grfico
Existe cierta importancia y sinergia mutua, pero las reas no son idnticas

210

La Nocin de Cluster puede ser ambigua

Cuntos clusters hay?

Seis Clusters

Dos Clusters

Cuatro Clusters

Agenda
Qu es el anlisis de Cluster? Similitud y Disimilitud
Aplicaciones del Anlisis de Cluster Qu no es Anlisis de Cluster? 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) Correlacin Evaluacin Grfica de la Correlacin Aproximacin 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 numrica de semejanza entre objetos Valor alto para objetos parecidos A menudo definida en el intervalo [0,1]

Disimilitud
Medida numrica 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 =
( pk
n

k =1

qk )2

n es la dimensin (numero de atributos) pk y qk son los k- simos atributos de los datos p y q.

Se realiza normalizacin si las escalas de los atributos difieren.

Distancia Euclidiana
3 2 1
p2 p1 p3 p4

punto p1 p2 p3 p4
6

x 0 2 3 5

y 2 0 1 1

0 0 1 2 3 4 5

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
Generalizacin de la distancia Euclidiana mediante el parmetro r 1

dist = ( | pk qk |r ) r
k =1
r = 1. Distancia Manhattan (taxi, norma L1).
Ejemplo tpico: Distancia de Hamming: Numero de bits diferentes entre dos arreglos de bits

r = 2. Distancia Euclidiana r . Distancia supremo (norma Lmax o L).


La mxima 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 L2 p1 p2 p3 p4
L p1 p2 p3 p4

p1 0 4 4 6 p1 0 2.828 3.162 5.099


p1 0 2 3 5

p2 4 0 2 4 p2 2.828 0 1.414 3.162


p2 2 0 1 3

p3 4 2 0 2 p3 3.162 1.414 0 2
p3 3 1 0 2

p4 6 4 2 0 p4 5.099 3.162 2 0
p4 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 B A

0.3 0.2 = 0.2 0.3


A: (0.5, 0.5) B: (0, 1) C: (1.5, 1.5) Mahal(A,B) = 5 Mahal(A,C) = 4

215

Propiedades de una Distancia


Una mtrica d es una funcin 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. (Simetra) d(p, r) d(p, q) + d(q, r) para todos p, q, y r. (Desigualdad triangular)

Toda distancia satisface las propiedades de una mtrica

Propiedades comunes de una similitud


Las similitudes tienen algunas caractersticas bien conocidas:
1. 2.

s(p, q) = 1 (o mxima similitud) solo si p = q. s(p, q) = s(q, p) para todo p y q. (Simtrica)

Donde s(p, q) es la similitud entre puntos (objetos de datos), p y q.

216

Similitud entre Vectores Binarios


Una situacin comn es que los objetos, p y q, tienen solo atributos binarios Similitudes de clculo usando las cantidades siguientes:
M01 = el nmero de atributos donde p es 0 y q es 1 M10 = el nmero de atributos donde p es 1 y q es 0 M00 = el nmero de atributos donde p es 0 y q es 0 M11 = el nmero 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 nmero de atributos donde p M10 = el nmero de atributos donde p M00 = el nmero de atributos donde p M11 = el nmero de atributos donde p
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

es 0 y q es 1 es 1 y q es 0 es 0 y q es 0 es 1 y q es 1

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

d1d2=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)


Variacin de Jaccard para atributos continuos o de conteo
Reduce el coeficiente Jaccard para atributos binarios

218

Correlacin
La correlacin cuantifica la relacin lineal entre objetos Para calcular la correlacin, se estandarizan los objetos, p y q, y luego se efecta el producto punto

pk = ( pk media( p)) / std ( p)

qk = (qk media(q)) / std (q )


correlacin( p, q) = p q

Densidad
El agrupamiento basado en densidad, requiere entender el concepto de densidad: Ejemplos:
Densidad Euclidiana:
Densidad Euclidiana = nmero de puntos por unidad de volumen

Densidad de Probabilidad Graficas basadas en densidad

219

Densidad Euclidiana Basada en Celdas


La aproximacin ms simple es dividir la regin en un nmero de celdas rectangulares de igual volumen y donde su densidad se define como el nmero 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 nmero de puntos dentro de un radio especfico al punto.

Densidad Basada en el Centro

220

Agenda
Tipos de Agrupamientos
Agrupamiento de Particin (Partitional Clustering) Agrupamiento Jerrquico Otras distinciones entre los conjuntos de Clusters Caractersticas importantes de la entradas de datos

Algoritmos de Agrupamiento
K-means y sus variantes Agrupamiento jerrquico Agrupamiento basado en densidad

Tipos de Agrupamientos
Un agrupamiento es un grupo de clusters
Agrupamiento Jerrquico
Es un conjunto de clusters anidados, organizados como un rbol jerrquico

Agrupamiento de Particin
Una divisin de objetos de datos en conjuntos no superpuestos (clusters), donde cada objeto de dato es exactamente un subconjunto.

221

Agrupamiento de Particin (Partitional Clustering)

Puntos Originales

Un agrupamiento de particin

Agrupamiento Jerrquico (Hierarchical Clustering)


p1 p3 p2 p4

p1 p2
Agrupamiento Tradicional Jerrquico

p3 p4

Dendrograma Tradicional

p1 p3 p2 p4

p1 p2
Agrupamiento Jerrquico 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 mltiples clusters.
Se puede representar mltiples clases o puntos frontera.

Difuso vs. no - difuso

En el agrupamiento difuso, un punto pertenece a todo cluster con algn peso entre 0 y 1.

Los pesos deben sumar 1. El agrupamiento probabilstico tiene caractersticas similares.

Otras distinciones entre los conjuntos de Clusters


Parcial vs. completo Heterogneo vs. homogneo
En algunos casos, solo se necesita agrupar algunos de los datos. Agrupamiento generalmente de diferentes tamaos, 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 Funcin Objetivo

Tipos de Clusters: Bien Separados


Un cluster es un conjunto de puntos en el que cualquier punto en el cluster es ms 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 ms 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 ms 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 ms prximo 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 regin 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 atpicos

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 Crculos entrelazados

226

Tipos de Clusters:

De Funcin Objetivo
Clusters Definidos por una Funcin Objetivo
Son clusters que minimizan o maximizan una funcin objetivo Enumeran todas las posibles formas de dividir los puntos dentro de un cluster y evalan la bondad de cada conjunto potencial de clusters usando una funcin objetivo dada (NP Hard)

Caractersticas importantes de la entradas de datos


Tipo de proximidad o medida de la densidad
Es una medida derivada, pero bsica para el agrupamiento.

Poca densidad
Dicta el tipo de similitud Agrega eficiencia

Tipo de atributo
Dicta el tipo de similitud

Tipo de Datos
Dicta el tipo de similitud Otra caracterstica: auto-correlacin

Dimensionalidad Ruido y datos atpicos (Outliers) Tipo de Distribucin

227

Algoritmos de Agrupamiento
K-means y sus variantes Agrupamiento jerrquico Agrupamiento basado en densidad

Agrupamiento K-means
Aproximacin al agrupamiento por particin Cada cluster est asociado con un centroide (punto central) Cada punto es asignado al cluster ms cercano al centroide El nmero de clusters K debe ser especificado El algoritmo bsico es muy simple
1: Seleccionar K puntos como los centroides iniciales 2: Repetir 3: Desde K clusters asignar todos los puntos al centroide ms 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. El centroide generalmente es igual al nmero de puntos en el cluster. La proximidad es medida por la distancia Euclidiana, la similitud por coseno, correlacin, etc. K-means converger a una medida de similitud comn mencionada anteriormente. La mayora de la convergencia ocurre en las primeras iteraciones: La complejidad es: O( n * K * I * d )
Frecuentemente la condicin para parar es cambiada por Hasta que algunos puntos cambien de cluster n = nmero de puntos, K = nmero de clusters
I = nmero de iteraciones, d = nmero de atributos

Los clusters generados varan de una ejecucin a otra.

Dos Agrupamientos diferentes con K-means


3 2.5 2 1.5

Puntos Originales

y
1 0.5 0 -2

-1.5

-1

-0.5

0.5

1.5

x
3 2.5 2 1.5
3 2.5 2 1.5

y
1 0.5 0
1 0.5 0 -2

-2

-1.5

-1

-0.5

0.5

1.5

-1.5

-1

-0.5

0.5

1.5

Agrupamiento ptimo

Agrupamiento Sub- ptimo

229

Importancia de la eleccin de los centroides iniciales


33
2.5 2.5

Iteration 2 6 Iteration 1 5 4 3

22
1.5 1.5

yy
1
1 0.5 0.5

-2 -2

-1.5 -1.5

-1 -1

-0.5 -0.5

x x

0 0

0.5 0.5

1 1

1.5 1.5

2 2

Importancia de la eleccin de los centroides iniciales


Iteration 1
3 2.5 2 1.5 3 2.5 2 1.5

Iteration 2
3 2.5 2 1.5

Iteration 3

1 0.5 0

1 0.5 0

y
1 0.5 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2

-2

-1.5

-1

-0.5

0.5

1.5

-1.5

-1

-0.5

0.5

1.5

Iteration 4
3 2.5 2 1.5 3 2.5 2 1.5

Iteration 5
3 2.5 2 1.5

Iteration 6

1 0.5 0

1 0.5 0

y
1 0.5 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2

-2

-1.5

-1

-0.5

0.5

1.5

-1.5

-1

-0.5

0.5

1.5

230

Evaluando los Clusters K-means


La medida ms comn es la suma del Error Cuadrtico (SSE)
Cada punto, el error es la distancia del cluster ms cercano. Para obtener el SSE, se elevan al cuadrado los errores y se suman.

SSE

dist
i

i = 1 x C

(m i, x )

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 fcil de reducir el SSE es incrementar K, el nmero de clusters
Se puede mostrar que mi corresponde al centro (promedio) del cluster

Un buen agrupamiento con K pequeo, puede tener un SSE ms bajo que un agrupamiento con un K grande

Importancia de la eleccin de los centroides iniciales


Iteration 1 5 4 3 2
3 2.5 2 1.5

y
1 0.5 0 -2

-1.5

-1

-0.5

0.5

1.5

231

Importancia de la eleccin de los centroides iniciales


Iteration 1
3 2.5 2 1.5 3 2.5 2 1.5

Iteration 2

1 0.5 0

y
1 0.5 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2

-1.5

-1

-0.5

0.5

1.5

Iteration 3
3 2.5 2 1.5 3 2.5 2 1.5

Iteration 4
3 2.5 2 1.5

Iteration 5

1 0.5 0

1 0.5 0

y
1 0.5 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2

-2

-1.5

-1

-0.5

0.5

1.5

-1.5

-1

-0.5

0.5

1.5

Problemas con Seleccin Inicial de Puntos


Si hay K clusters reales, luego la posibilidad de seleccionar un centroide desde cualquier cluster es pequea
La probabilidad es relativamente pequea cuando K es grande. Si los clusters son del mismo tamao, n, entonces
P= P= nmero de formas para selecciona r un centroide desde cada cluster nmero de formas para selecciona r K centroides 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 reajustarn solos en la forma adecuada, y a veces no.

232

Ejemplo con 10 Clusters


Iteration 1 4 3 2
8 6 4 2

Comenzando con dos centroides iniciales en un cluster para cada par de clusters

0 -2 -4 -6 0 5 10 15 20

Ejemplo con 10 Clusters


Comenzando con dos centroides iniciales en un cluster para cada par de clusters
Iteration 1
8 6 4 2 8 6 4 2

Iteration 2

0 -2 -4 -6 0 5 10 15 20

0 -2 -4 -6 0 5 10 15 20

Iteration 3
8 6 4 2 8 6 4 2

Iteration 4

0 -2 -4 -6 0 5 10 15 20

0 -2 -4 -6 0 5 10 15 20

233

Ejemplo con 10 Clusters


Comenzando con algunos pares de clusters teniendo tres centroides iniciales, mientras los otros tienen solo uno

Iteration 1 4 3 2
8 6 4 2

0 -2 -4 -6 0 5 10 15 20

Ejemplo con 10 Clusters


Comenzando con algunos pares de clusters teniendo tres centroides iniciales, mientras los otros tienen solo uno
Iteration 1
8 6
4

Iteration 2

8 6

4
2

0 -2

0 -2
-4

-4
-6

-6
0 5 10 15 20

10

15

20

x Iteration 4
8 6 4 2

Iteration 3
8 6 4 2

0 -2

0 -2

-4
-4

-6
-6 0 5 10 15 20

10

15

20

234

Soluciones al problema de los centroides iniciales


Mltiples ejecuciones
Ayuda, pero la probabilidad no est de su lado

Agrupamiento de prueba y agrupamiento jerrquico para determinar los centroides iniciales Seleccionar mas de un K inicial de centroides y luego seleccionar entre estos los centroides iniciales
Seleccionarlos ampliamente separados

Postprocesamiento Bisectar K-means


No se recomienda para inicializacin

Manejo de Clusters vacos


El algoritmo bsico K-means puede eliminar clusters vacos. Algunas estrategias
Elegir el punto que contribuya ms al SSE Elegir el punto desde el cluster con el mayor SSE Si hay varios clusters vacos, el paso anterior puede repetirse varias veces.

235

Pre-procesamiento y Post-procesamiento
Pre-procesamiento
Normaliza los datos Elimina los datos atpicos (outliers)

Post-procesamiento
Elimina los clusters pequeos que pueden representar los datos atpicos Divide los clusters flojos, es decir, los que tienen un SSE relativamente alto Combina los clusters que estn 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
Variacin del K-means que produce un agrupamiento de particin o jerrquico
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 nmero_de_iteraciones Hacer 5: Bisectar el cluster seleccionado usando el K-means 6: Fin_para 7: Adicionar los dos clusters de la biseccin 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:
Tamao Densidad Formas no globulares

K-means tiene problemas cuando los datos tienen datos atpicos

237

Limitaciones del K-means: Diferentes Tamaos

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)

Limitacin del K-means superada

Puntos Originales

K-means Clusters

Una solucin es usar muchos clusters. Encontrar partes de clusters, pero se necesita ponerlas todas

239

Limitacin del K-means superada

Puntos Originales

K-means Clusters

Limitacin del K-means superada

Puntos Originales

K-means Clusters

240

Agrupamiento Jerrquico
Produce un conjunto de clusters anidados organizados como rboles jerrquicos Puede ser visualizado como un dendrograma
Un rbol como un diagrama que recuerda la secuencia de combinacin o divisin
6
0.2

4 3 2 5 2 1 3
1 3 2 5 4 6

0.15

0.1

0.05

Fortalezas del Agrupamiento Jerrquico


No se asume un nmero particular de clusters
El nmero deseado de clusters se obtiene seleccionando el nivel adecuado del dendograma

Puede corresponder a taxonomas significativas


Ejemplo: en biologa (reino animal, reconstruccin de filogenia)

241

Agrupamiento Jerrquico
Los dos tipos principales de agrupamiento jerrquico:
Aglomerado:
Comienza con los puntos como clusters individuales En cada paso, se combinan los pares de clusters ms cercanos hasta que solo uno (o k clusters) queda

Divisivo:
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 jerrquicos tradicionales usan una similitud o matriz de distancia


Combina o divide un cluster a la vez

Algoritmo de Agrupamiento Aglomerado


Es la tcnica ms popular de agrupamiento jerrquico El algoritmo bsico 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 ms cercanos Actualizar la matriz de proximidad Hasta solo un cluster simple se obtiene

La operacin clave es el clculo de la proximidad de dos clusters


Los diversos acercamientos a definir la distancia entre los clusters distingue a los distintos algoritmos

242

Situacin Inicial
Comienza con los clusters individuales y la matriz de proximidad
p1 p2 p3 p4 p5

...

p1 p2 p3 p4 p5
. . .

Matriz de Proximidad

Situacin Intermedia
Luego de algunos pasos de combinacin, se obtienen algunos clusters
C3 C4 C1 C1 C2 C3 C4 C5 C1 C2 C3 C4 C5

Matriz de Proximidad
C2 C5

243

Situacin Intermedia
Se necesita combinar dos de los clusters ms cercanos (C2 y C5 y actualizar la matriz de proximidad)
C3 C4 C1 C1 C2 C3 C4 C5 C2 C3 C4 C5

Matriz de Proximidad
C1

C2

C5

Despus de Combinar
La pregunta es Cmo se puede actualizar la matriz de proximidad?
C1 C1 C2 U C5 C3 C3 C4 C4 ? C2 U C5 ? ? ? ? ? ? C3 C4

Matriz de Proximidad

C1

C2 U C5

244

Cmo definir la similitud entre clusters?


p1 p2 p3 p4 p5

...

Similitud?

p1 p2 p3

MIN MAX Promedio del Grupo Distancia entre Centroides Otros mtodos se guan por una funcin objetivo
El mtodo de Ward usa el error cuadrtico

p4 p5

. . .

Matriz de Proximidad

Cmo definir la similitud entre clusters?


p1 p1 p2 p3 p4 p2 p3 p4 p5

...

MIN MAX Promedio del Grupo Distancia entre Centroides Otros mtodos se guan por una funcin objetivo
El mtodo de Ward usa el error cuadrtico

p5

. . .

Matriz de Proximidad

245

Cmo definir la similitud entre clusters?


p1 p1 p2 p3 p2 p3 p4 p5

...

MIN MAX Promedio del Grupo Distancia entre Centroides Otros mtodos se guan por una funcin objetivo
El mtodo de Ward usa el error cuadrtico

p4 p5

. . .

Matriz de Proximidad

Cmo definir la similitud entre clusters?


p1 p1 p2 p3 p4 p2 p3 p4 p5

...

MIN MAX Promedio del Grupo Distancia entre Centroides Otros mtodos se guan por una funcin objetivo
El mtodo de Ward usa el error cuadrtico

p5

. . .

Matriz de Proximidad

246

Cmo definir la similitud entre clusters?


p1 p1 p2 p3 p4 p2 p3 p4 p5

...

MIN MAX Promedio del Grupo Distancia entre Centroides Otros mtodos se guan por una funcin objetivo
El mtodo de Ward usa el error cuadrtico

p5

. . .

Matriz de Proximidad

Similitud de Cluster: MIN o Enlace simple


La similitud de dos cluster se basa en los dos puntos ms similares (cercanos) en dos clusters
Es determinado por un par de puntos, es decir, un enlace en la grfica de proximidad
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

I1 I2 I3 I4 I5

247

Agrupamiento Jerrquico: MIN


3 5 2 4
0 3 6 2 5 4 1

0.2

2 3

1 6

0.15

0.1

0.05

Clusters Anidados

Dendrogram

Fortaleza de MIN

Puntos Originales

Dos Clusters

Puede manejar formas no elpticas

248

Limitaciones de MIN

Puntos Originales

Dos Clusters

Sensitivo al ruido y a los datos atpicos (outliers)

Similitud de Cluster: MAX o Enlace completo


La similitud de dos clusters se basa en al menos los dos puntos similares (ms 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

249

Similitud de Cluster: MAX


4 2 5 2 3 4 3 1 6 1 5
0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 3 6 4 1 2 5

Clusters Anidados

Dendrograma

Fortaleza de MAX

Puntos Originales

Dos Clusters

Menos susceptible al ruido y a los datos atpicos

250

Limitaciones de MAX

Puntos Originales Tiende a romper los clusters grandes Predispuesto para clusters globulares

Dos Clusters

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 ) =
piClusteri p jClusterj

|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 2 5 2
0.15

1
0.25 0.2

3 1 4 3

0.1 0.05 0

Clusters Anidados

Dendrograma

Similitud de Cluster: Promedio de Grupo


Compromete tanto el acoplamiento singular como el completo.

Fortalezas
Menos susceptible al ruido y a los datos atpicos

Limitaciones
Predispuesto para clusters globulares

252

Similitud de Cluster: Mtodo de Ward


La similitud de dos clusters se basa en el incremento del error cuadrtico cuando dos clusters se combinan
De igual manera que el promedio de grupo, si la distancia entre puntos es la distancia cuadrtica

Menos susceptible al ruido y a los datos atpicos

Predispuesto para clusters globulares


Jerarqua anloga al K - means
Puede ser usada para inicializar K- means

Agrupamiento Jerrquico: Comparacin


3 5 2 4 2 3 1 1 6 5 4 MIN MAX 2 5 2 3 4 5 Mtodo de Ward 6 1 4 Promedio de Grupo 4 3 1 6 1 5

1 2 5 2 3 3

5 2 5 2

3 1 3

253

Agrupamiento Jerrquico: Requerimientos de Tiempo y Espacio


Espacio de orden O(N2) debido a que usa la matriz de proximidad.
N es el nmero de puntos.

El tiempo es de orden O(N3) en muchos casos


Hay N pasos y cada paso tiene un tamao 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 Jerrquico:

Problemas y Limitaciones
Una vez que se toma una decisin para combinar dos clusters, no puede ser deshacerse La funcin objetivo no es directamente minimizada Los esquemas diferentes tienen problemas con uno o ms de los siguientes factores:
Sensibilidad al ruido y a los datos atpicos Dificultad para manejar clusters de diferente tamao y formas convexas Rompimiento de clusters grandes

254

MST: Agrupamiento Jerrquico Divisivo


Construir MST (Minimum Spanning Tree, rbol de Mnima cobertura)
Comenzar con un rbol que consiste en cualquier punto En los pasos sucesivos, buscar el par de puntos ms 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 Jerrquico Divisivo


Se usa el MST para construir jerarquas de clusters
Algoritmo para el MST Agrupamiento Jerrquico Divisivo 1: Calcular el rbol de mnima cobertura para la grfica de proximidad 2: Repetir 3: Crear un nuevo cluster por rompimiento de enlace correspondiente a la distancia ms grande (menor similitud) 4:Hasta Solo queda un cluster con un nico elemento

255

DBSCAN
DBSCAN es un algoritmo basado en densidad
Densidad = nmero de puntos dentro de un radio especfico(Eps) Un punto es un punto nuclear si este tiene mas de un nmero especfico de puntos (MinPts) dentro del Eps Estos son puntos que estn 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

Cundo funciona mejor DBSCAN?

Puntos Originales Resistencia al Ruido

Clusters

Puede manejar clusters de diferentes formas y tamaos

Cundo no funciona bien DBSCAN?

Puntos Originales

(MinPts=4, Eps=9.75).

Densidades que varan 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 ms cercanas estn a la misma distancia. Los puntos de ruido tienen la k-sima vecindad ms cercana a una distancia ms lejana. Se grafica la distancia ordenada de cada punto a su k-sima vecindad ms cercana

Bibliografa
Data Mining: Cluster Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 8: Introduction to Data Mining by Tan, Steinbach, Kumar

259

Minera de Datos II - 2007

AGRUPAMIENTO EVALUACIN Y SOM

260

Agenda
Validacin de agrupamiento (clustering) Self Organizing Maps (SOM)

Agenda
Validacin de agrupamiento (clustering) Self Organizing Maps (SOM)

261

Validacin de clusters
Diferentes medidas para evaluar modelos supervisados: accuracy, precision, recall Para anlisis de clusters, la pregunta es: Cmo evaluar la bondad de los clusters resultantes? Pero los clusters estn 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

1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1


0 0.2 0.4 0.6 0.8 1

Puntos Aleatorios
y

0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

DBSCAN

0.2

0.4

0.6

0.8

x
1 0.9 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.2 0.4 0.6 0.8 1 0 0 0.2 0.4

K-means

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

Enlace Completo

0.6

0.8

262

Aspectos principales para la Validacin 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 anlisis de cluster con resultados externos conocidos, e.g, con etiqeutas de clases dadas externamente. Evaluar que tan bien los resultados de un anlisis de cluster se ajustan a los datos sin referirse a informacin externa. Comparar los resultados de dos conjuntos diferentes de anlisis de cluster para determinar cul es mejor. Determinar el nmero correcto de clusters

Para 2, 3 y 4 podemos adems distinguir si se quiere evaluar el agrupamiento completo o solo unos clusters individuales

Medidas de Validacin de Cluster


Las medidas numricas que son aplicadas para juzgar varios aspectos de la validacin 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. Entropa ndice Interno: usado para medir la bondad de un estructura agrupada sin tener informacin 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 funcin, e.g., SSE o Entropa

263

Medidas de Validacin de Cluster a travs de Correlacin


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 correlacin entre dos matrices


n (n-1)/2 entradas necesita ser calculada.

Si dos matrices son simtricas, solo la correlacin entre

Una alta correlacin 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 cercana.

Medidas de Validacin de Cluster a travs de Correlacin


Correlacin para las matrices de incidencia y de proximidad para agrupamientos con K means para los siguientes conjuntos
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1

y x

0.2

0.4

0.6

0.8

Corr = -0.9235

Corr = -0.5810

264

Usando Matriz de Similitud para Validacin de Cluster


Ordenar la matriz de similaridad respecto a las etiquetas de agrupamiento e inspeccionar visualmente.
1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1 10 20 30 40 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 20 40 60 80 0 100Similarity

Points

50 60 70 80 90 100

Points

Usando Matriz de Similitud para Validacin de Cluster


Los agrupamientos en datos aleatorios no son tan bien definidos.
1 10 20 30 40 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 20 40 60 80 0 100 Similarity 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1

Points

50 60 70 80 90 100

Points

DBSCAN

265

Usando Matriz de Similitud para Validacin de Cluster


Los agrupamientos en datos aleatorios no son tan bien definidos.
1 10 20 30 40 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 20 40 60 80 0 100 Similarity 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1

Points

50 60 70 80 90 100

Points

K-means

Usando Matriz de Similitud para Validacin de Cluster


Los agrupamientos en datos aleatorios no son tan bien definidos
1 10 20 30 40 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 20 40 60 80 0 100 Similarity 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1

Points

50 60 70 80 90 100

Points

Complete Link

266

Usando Matriz de Similitud para Validacin de Cluster


1 0.9 500 0.8 0.7 0.6
4 3

1000

1500

0.5 0.4

2000

0.3 0.2 0.1

2500

3000

500

1000

1500

2000

2500

3000

DBSCAN

Medidas Internas: SSE


Los clusters en figuras ms complicadas no son bien separados ndice interno: se usa para medir la bondad de una estructura de agrupamiento sin tener informacin de referencia externa
SSE (suma de errores cuadrticos)

SSE es una bueno para comparar dos agrupamientos o dos grupos (SSE promedio) Puede usarse para estimar el nmero de clusters
10
6 4 2 0 -2 -4 -6 5 10 15

9 8 7 6

SSE

5 4 3 2 1 0 2 5 10 15 20 25 30

267

Medidas Internas: SSE


Curva SSE para conjuntos de datos ms complicados
1 2 6

SSE de clusters encontrados usando K-means

Marco para Validacin de Cluster


Se necesita un marco para interpretar cualquier medida La estadstica provee un marco para validacin de clusters
Por ejemplo, si nuestras medidas de evaluacin tienen el valor, 10, es bueno, justo o pobre?

Entre ms atpico es el resultado del agrupamiento, es ms probable que represente una estructura vlida 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 vlidos Estas aproximaciones son ms complicadas y difciles 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 Estadstico 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 tamao 100 distribuidos en un rango de 0.2 0.8 para valores de X y Y

1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1

50 45 40 35 30

Count

25 20 15 10 5 0 0.016 0. 018 0.02 0.022 0.024 0.026 0.028 0.03 0.032 0.034

SS E

Marco Estadstico para Correlacin


En las siguientes grfica se muestra la correlacin de las matrices de incidencia y proximidad para los agrupamientos de con K Means, para dos conjuntos de datos.
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1

Corr = -0.9235

Corr = -0.5810

269

Medidas Internas: Cohesin y Separacin


Cohesin del Cluster: Medidas de qu tan estrechamente relacionados estn los objetos dentro de un cluster
Ejemplo: SSE

Separacin del Cluster: Medida de que tan distinto o separado est un cluster de otros clusters
Ejemplo: Error cuadrtico
La cohesin es medida por la suma de los cuadrados dentro del cluster (SSE) 2 i i xCi La separacin es medida por la suma de los cuadrados entre clusters

WSS= (x m )

BSS = |Ci |(m mi )2


i

Donde |Ci| es el tamao del cluster i

Medidas Internas: Cohesin y Separacin


Ejemplo: SSE
BSS + WSS = constante
m 3 4
2 2

m1

m2
2

K=1 cluster:

WSS=(13) +( 2 3) +( 4 3) +( 5 3)2 =10 BSS= 4( 33)2 = 0 Total=10+0=10

K=2 clusters:

WSS= (11.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: Cohesin y Separacin


Una grfica de proximidad puede tambin ser usada para cohesin y separacin.
Cohesin de cluster es la suma de los pesos de todos los enlaces dentro del cluster.

La separacin del cluster es la suma de los pesos entre los nodos en el cluster y los nodos fuera del cluster

cohesin

separacin

Medidas Internas: Coeficiente de Perfil


Combina ideas tanto de cohesin como de separacin, 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
a

si, a b,
b

no es el caso usual)

Tpicamente entre 0 y 1 El que es cercano a 1 es mejor

Medidas Internas: Coeficiente de Perfil

Se puede calcular la amplitud del Perfil Promedio para un cluster o un agrupamiento.

272

Comentario Final
La validacin de estructuras de agrupamiento es la parte de mayor dificultad y frustracin del anlisis de cluster. Sin un esfuerzo fuerte en esta direccin, el anlisis 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
Validacin de agrupamiento (clustering) Self Organizing Maps (SOM)

273

Modelo de una red de Kohonen


Tambin llamadas Mapas Autoorganizativos Self Organizing Maps = SOM
u Ne s na ro

Entradas

Caractersticas de la Red de Kohonen


Los nodos de entrada estn conectados a cada neurona. La neurona ganadora es la que cuyos pesos son ms similares a la entrada. Las neuronas funcionan con un comportamiento la ganadora toma todo
La salida de la ganadora es un 1 y las dems 0 Solo los pesos de la ganadora y sus vecinas son adaptadas

274

Topologa
Las neuronas de la capa de salida estn conectadas de acuerdo con la topologa que se quiere inducir en el espacio Generalmente se trabaja con topologas en 1-D o 2-D La topologa 1-D ms usual es la lineal, cada neurona tiene 1 o dos vecinas Las topologas 2-D corresponden a retculos que pueden tener vecindades cuadradas o hexagonales

Ecuaciones de la Red: Similitud


La similitud es cuantificada usando la distancia Euclidiana desde un vector patrn 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 unin de la entrada j con la neurona i.

s p [i ] =|| w[i ] entrada p ||=

(w[i][ j ] entrada [ j ])
p j

La ganadora tiene el valor ms pequeo de s

275

Ecuaciones de la Red: Adaptacin 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 funcin de peso de la vecindad

Ecuaciones de la Red: Funcin de Peso de la Vecindad


La funcin de peso de la vecindad tiene la siguiente forma:

NbdWt ( , i ) =

1 d ( , i ) 1+ s
d ( ,i ) s
2

NbdWt

( , i ) = e

Donde s es un escalar que establece la amplitud de la funcin de peso.

276

Vecindad On-center Off-surround


Es un campo que:
Refuerza el estmulo junto al centro. Atena los efectos en una regin alrededor del centro. Disminuye rpidamente el exterior la regin atenuante

Contribuye al control de ruido y localiza la representacin Complementario al off- center onsurround

Vecindad On-center Off-Surround


On-center Off-surround Neighborhood Weighting
1,5 1 0,5 0 -0,5 -1 1 8 15 22 29 36 43 50 57 64 71 78 g1 g2 dog OCOS

277

Vecindad Sombrero mejicano


Consideran dos funcionesGaussianas do g1 ( x) = e
x s 1
2

y g2 ( x) = e

x s 2

dondes2 > s1 > 0. Siendoh( x) = g1 ( x) g2 ( x), una diferencia Gaussiana. Una funcinde sombreromejicanopuedeser dada por : SobreroMej icano(x)= gi ( x) + h( x) donde > 0.

Algoritmo Bsico de Entrenamiento


Se inicializan los pesos desde los nodos de entrada a las neuronas. Se escoge la funcin de vecindad Mientras (los patrones de entrada tengan pesos desajustados)
Encontrar una ganadora Adaptar los pesos en la vecindad de la ganadora

Desarrollar una interpretacin para la codificacin identificando cuales neuronas codifican que patrones

278

Visualizacin
Las rede se Kohonen son muy tiles como herramienta para visualizar datos multidimensionales La capa de salida sirve como una representacin en 1D-2D de los datos de entrada

Bibliografa
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

Vous aimerez peut-être aussi