Está en la página 1de 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 bibliografía.

Si usted es autor de los documentos que se tomaron como bibliografía y


considera que las referencias a su trabajo no están adecuadamente
descritas, por favor comuníquese con el profesor Jonatan Gómez
Perdomo a través del correo electrónico: jgomezpe@unal.edu.co.
CONTENIDO MÓDULO 3: MINERÍA DE DATOS

Pág.

1. Introducción a la Minería de Datos 1


1.1 Proceso de descubrimiento de conocimiento
1.2 Aplicaciones de la minería de datos
1.3 Análisis exploratorio de datos

2 CRISP 42
2.1 Elección de un sistema de Minería de Datos
2.2 Ejemplos de Sistemas de Minería de Datos
2.3 CRISP-DM

3 Preparación de datos 56
3.1 Introducción
3.2 Limpieza de Datos
3.3 Integración de Datos
3.4 Transformación de Datos
3.5 Reducción de datos
3.6 Principal Component Analysis PCA

4. Reglas de Asociación 102


4.1 Introducción
4.2 Conceptos Básicos
4.3 El algoritmo “A priori”
4.4 Generación de canidatos
4.5 Ejemplo de generación de candidatos
4.6 Generando Reglas de Asociación desde conjuntos de ítems frecuentes
4.7 Reglas de asociación Múltiple-Nivel
4.8 Minando Multi-nivel con soporte reducido
4.9 Método FP-GROWTH
4.10 Reglas de asociación multidimensionales

5 Análisis Supervisado I 122


5.1 Conceptos básicos de aprendizaje maquinal
5.2 Árboles de decisión y Reglas de Decisión
5.3 Medidas de desempeño

6. Análisis Supervisado II 140


6.1 Introducción
6.2 Redes multicapa
6.3 Entrenamiento
6.4 Aplicaciones
6.5 Generalización y sobre ajuste
6.5.1 Error de entrenamiento y prueba
6.5.2 Complejidad del modelo
6.5.3 Control del sobre-ajuste

7. Análisis Supervisado III 178


7.1 Modelos Bayesianos
7.1.1 Principios de probabilidad
7.1.2 Riesgo y costo
7.2 Clasificador Bayesiano
7.3 Naive Bayes
7.4 Clasificación sensible al costo
7.5 Imbalance de clases

8. Regresión y Series de Tiempo 198

9. Análisis No Supervisado: Agrupamiento de Datos (Data Clustering) 207


9.1 Conceptos básicos
9.2 Medidas de similaridad
9.3 Agrupamiento particional
9.4 Agrupamiento jerárquico
9.5 Agrupamiento basado en densidad

10 Análisis no supervisado: agrupamiento 260


10.1 Medidas de desempeño para agrupamiento
10.2 Otros métodos (en malla, SOM)
Minería de Datos
II - 2007

Introducción a la
Minería de Datos

1
Agenda
‡ Proceso de descubrimiento de
conocimiento
‡ Aplicaciones de la minería de datos
‡ Análisis exploratorio de datos

Agenda
‡ Proceso de descubrimiento de
conocimiento
‡ Aplicaciones de la minería de datos
‡ Análisis exploratorio de datos

2
Proceso de descubrimiento
de conocimiento

‡ Knowledge Discovery en BD & Minería de


Datos
„ KDD Proceso (Donde las bodegas de datos
hacen parte del proceso de minería).

Knowledge Discovery en BD &


Minería de Datos

• Grandes bases de datos contienen


información no plenamente explotada
(información valiosa (oro!)).
Esta información puede ser encontrada
entre los datos haciendo uso de minería en
los datos.

3
Knowledge Discovery en BD:
Definición

KDD: Descubrir informacion útil o conocimiento


(patrones, asociaciones) desde grandes
repositorios de datos.

KDD

Knowledge Discovery en BD:


Proceso

„ Pre-procesamiento de Datos:
Limpieza, integración y
transformación.
„ Minería de Datos: Uso de
métodos inteligentes para extraer
conocimiento (búsqueda de oro) .
1. Evaluación de patrones
encontrados y presentación

4
Proceso de KDD
Evaluación de Patrones

Minería de Datos

Seleccionar Datos Relevantes

Bodega de Datos Selección

Limpieza de Datos

Integración de datos

Bases de Datos

Preprocesamiento

‡Limpieza e Integración
„ Bodega de Datos
‡Ruido
ƒ edad de 180 años
‡Valores Perdidos
ƒ No tiene edad

5
Preprocesamiento
‡ Seleccionar datos relevantes
„ Reducir dimensiones
‡ Principal Component Analisis
‡ Entropía

„ Reducir valores
‡ Discretizar

„ Dar el mismo peso a todas las


dimensiones
‡ Normalizar

Preprocesamiento
‡ Tipos de datos
„ Numéricos
„ Categóricos (ordinales, nominales)

6
Preprocesamiento
Edad Ingresos Estudiante Crédito compra _computador
<=30 Alto no Bueno no
<=30 Alto no Excelente no
31…40 Alto no Bueno si
>40 Medio no Bueno si
>40 Bajo si Bueno si
>40 Bajo si Excelente no
31…40 Bajo si Excelente si
<=30 Medio no Bueno no
<=30 Bajo si Bueno si
>40 Medio si Bueno si
<=30 Medio si Excelente si
31…40 Medio no Excelente si
31…40 Alto si Bueno si
>40 Medio no Excelente no

Agenda
‡ Proceso de descubrimiento de
conocimiento
‡ Aplicaciones de la minería de datos
‡ Análisis exploratorio de datos

7
Tareas de la
Minería de Datos &
Aplicaciones

Descripción de clases

Sumarizacion/ caracterización de la
colección de datos
OLAP (On Line Analitical Process)
Tendencias
Reportes

8
Tareas de la minería de datos

Encontrar Asociaciones
‡ Descubrir asociaciones, relaciones / correlaciones
entre un conjunto de “ítems”
Interé
Interés en analizar
Id Ítems los datos para
1 {pan, leche} aprender
2 {pan,pañales,cerveza,huevos} el comportamiento de
3 {leche, pañales, cerveza, las compras de sus
gaseosa} clientes
4 {pan,leche,pañales,cerveza}
5 {pan,leche,pañales,gaseosa}
•Promociones de mercadeo
•Manejo de inventario
•Relación con el cliente

9
Encontrar Asociaciones
‡ Asociaciones, relaciones / correlaciones en
forma de reglas:
reglas X⇒Y
(registros en BD que satisfacen X, también satisfacen Y)

Transaction ID Items Bought Min. support 50%


2000 A,B,C Min. confidence 50%
1000 A,C Frequent Itemset Support
4000 A,D {A} 75%
5000 B,E,F {B} 50%
{C} 50%
{A,C} 50%

For rule A ⇒ C: support = support({A ∪ C}) = 50%


confidence = support({A ∪ C})/support({A}) = 66.6%

Encontrar Asociaciones
(Aplicaciones)

„ Supermercados (Canasta de mercado)


„ Contratos de Mantenimiento (Que debe
hacer el almacén para potenciar las
ventas de contratos de mantenimiento)
‡ 98% de la gente que compra llantas y
accesorios de autos también obtiene servicios
de mantenimiento
„ Recomendaciones de paginas Web (URL1
& URL3 -> URL5)
‡ 60% de usuarios de la Web quien visita la
Pagina A y B compra el ítem T1

10
Clasificación y Predicción

‡ Clasificación: Construir un modelo por


cada clase de dato etiquetado usado en el
entrenamiento del modelo. Basado en sus
características y usado para clasificar
futuros datos
‡ Predicción: Predecir valores posibles de
datos/atributos basados en similar objetos.

Proceso de Clasificación (Paso 1):


Construcción del Modelo
(Problema de Segunda Clase)
Algoritmos de
Datos de
Clasificación
Entrenamiento

Clasificador
NOMBRE Rango Años Ocupado
Mike Profesor Asistente 3 no (Modelo)
Mary Profesor Asistente 7 si
Bill Profesor 2 si
Jim Profesor Asociado 7 si IF rango = ‘profesor’
Dave Profesor Asistente 6 no OR años > 6
Anne Profesor Asociado 3 no THEN ocupado = ‘yes’

11
Proceso de Clasificación (Paso 2):
Uso del Modelo en la Predicción

Clasificador

Datos de
Prueba Datos no vistos

(Jeff, Profesor, 4)
Nombre Rango Años Ocupado
Tom Profesor Asiste 2 no ¿Ocupado?
Mellisa Profesor Asoci 7 no
George Profesor 5 si
Joseph Profesor Asiste 7 si

Clasificación y Predicción
(árboles de decisión)
„ Determinar si clientes compraran determinado
producto.
age income student credit_rating buys_computer
¿Edad?
<=30 high no fair no
<=30 high no excellent no
30…40 high no fair yes
>40 medium no fair yes
>40 low yes fair yes <=30 overcast
30..40 >40
>40 low yes excellent no
31…40 low yes excellent yes
<=30 medium no fair no
<=30 low yes fair yes
>40
<=30
medium
medium
yes fair
yes excellent
yes
yes
¿Estudiante? si ¿Crédito?
31…40 medium no excellent yes
31…40 high yes fair yes
>40 medium no excellent no

no si excelente bueno

no si no si

12
Evaluación del modelo
‡ Basado en el número Clase predicción

de registros que Clase =1 Clase =2


fueron clasificados Clase Clase =1 f11 f10
correcta e
incorrectamente. Clase =2 f01 f00
‡ Confusion Matrix

Número correctos f 11 +f 00
Accuracy= =
Total f 11 +f 10 +f 01 +f 00

Número incorrectos f 10 +f 10
Error rate = =
Total f 11 +f 10 +f 01 +f 00

Clasificación y Predicción
(Aplicaciones)
„ Aprobación de créditos
„ Diagnóstico médico
„ Clasificación de documentos de texto
(text mining)
„ Recomendación de paginas Web
automáticamente
„ Seguridad

13
Regresión
‡ Predicción de una variable real (no
categórica )
„ Variable real -> regresión
„ Variable categórica -> clasificación

Series de tiempo
‡ Predecir valores futuros de acuerdo al
tiempo

14
Agrupación
Dividir datos sin etiqueta en grupos (clusters)
de tal forma que datos que pertenecen al
mismo grupo son similares, y datos que
pertenecen a diferentes grupos son diferentes

10

9 .7 5

9 .5

9 .2 5

8 .7 5

8 .5

8 .2 5

7 .7 5

7 .5

Similaridad
‡ Medidas de similaridad/distancia
„ Dependen de los tipos de datos
‡ Numéricos:
ƒ Distancia Euclidean
‡ Binarios
ƒ Jaccard
ƒ Cosine

15
Agrupación - Aplicaciones
‡ Procesamiento de Imágenes
(segmentar imágenes a
color en regiones)
‡ Indexamiento de texto
e imágenes
‡ WWW
„ Clasificación de paginas Web (usados
por motores de búsqueda -Google)
„ Agrupar web log para descubrir
grupos de patrones de acceso
similares (web usage profiles)

Agrupación - Aplicaciones
‡ Seguridad: Descubriendo patrones de
acceso a redes (Detección de intrusos)

16
Aplicaciones
de “Web Mining”
‡ Personalización automática: Sitios
adaptativos facilitan navegación,
búsqueda, etc.
‡ E-commerce: Sitios Web pueden ser
construidos mas amigables
‡ Mercadeo Optimizado (publicidad)
para negociar productos, servicios e
información
‡ Mejores Motores de Búsqueda

•Medidas de Similaridad
•Modelo de Datos Relacional •Agrupamiento Jerárquico
•SQL •Sistemas IR
•Algoritmos de asociacion de •Consultas Imprecisas
reglas •Datos Textuales
•Bodegas de Datos
•Técnicas escalables •Motores de Búsqueda
Web

•Teorema de Bayes
•Análisis de Regresión
•Técnicas de Diseño de •Algoritmo EM
Algoritmos •Agrupamiento K-Means
•Análisis de Algoritmos •Análisis de Series de
•Estructuras de datos Tiempo
•Redes Neuronales
•Algoritmos de Árboles de
Decisión

17
Técnicas usadas en Minería de
Datos
age?

‡ Estadística
<=30

Árboles de Decisión
overcast >40
30..40

‡
Redes Neuronales
student? yes credit rating?

‡
Algoritmos Genéticos
no yes excellent fair

‡
Lógica Difusa
no yes no yes

‡
- Θj

x0 w0

x1 w1
∑ f

output y

xn
wn

Input weight weighted Activation


vector x vector w sum function

Naïve Bayes
‡ Teorema de Bayes
P(Y|X) = P(X|Y)·P(Y) / P(X)
‡ Supuesto “Naïve”: independencia de
atributos
P(x1,…,xk|Y) = P(x1|Y)·…·P(xk|Y)

18
Redes Bayesianas
D=Healthy
0.25
E=yes
0.7 Hb=yes
exercise diet
D=healthy 0.2
D=unhealthy 0.85
Hd=yes
E=yes 0.25
D=healthy
E=yes 0.45 Heart disease Heart burn
D=unhealthy
E=no 0.55
D=healthy CP=yes
E=no 0.75 HD=yes 0.8
D=unhealthy Hb=yes
HD=yes 0.6
Blood pressure Chest pain Hb=no

HD=no 0.4
Bp=high
Hb=yes
HD=yes 0.85
HD=no 0.2 HD=no 0.1
Hb=no

Redes Neuronales

19
Ejemplo: Red neuronal

Ejemplo: Red neuronal

20
Algoritmos genéticos
‡ Niches (Optimización multimodal)
„ Algoritmo ECSAGO (no supervisado) para
agrupamiento

Agenda
‡ Proceso de descubrimiento de
conocimiento
‡ Aplicaciones de la minería de datos
‡ Análisis exploratorio de datos

21
Motivaciones para el Análisis
Exploratorio de Datos (AED)
‡ Ayudar a seleccionar la herramienta
adecuada para el preprocesamiento o
análisis
‡ Hacer uso de las habilidades humanas
para el reconocimiento de patrones
„ Las personas pueden reconocer patrones no
capturados por las herramientas de análisis
‡ “Una imagen vale más que mil palabras”

Ejemplo: temperatura de la
superficie del mar
‡ La siguiente imagen muestra la temperatura de la superficie
del mar para julio de 1982
„ Decenas de miles de puntos de datos son resumidos en una
figura simple.

22
¿Qué es el Análisis Exploratorio
de Datos (AED)?
‡ Es una aproximación / filosofía para el análisis
de datos que emplea una variedad de técnicas
en su mayoría gráficas para:
„ Maximizar el entendimiento de un conjunto de datos
„ Descubrir estructuras subyacentes
„ Extraer variables importantes
„ Detectar valores atípicos y anomalías
„ Probar suposiciones subyacentes

Historia del AED


‡ El trabajo original en AED es Exploratory Data Analysis,
Tukey, (1977).

‡ Trabajos destacados:
„ Data Analysis and Regression, Mosteller and Tukey (1977),
„ Interactive Data Analysis, Hoaglin (1977),
„ The ABC's of EDA, Velleman and Hoaglin (1981)

‡ La mayoría de las técnicas para AED son gráficas con pocas


técnicas cuantitativas.

‡ Las gráficas proveen las facilidades al analista de poder


revelar los secretos estructurales de los datos y obtener otros
nuevos insospechados dentro del estudio de los datos con la
combinación de las habilidades reconocimiento natural de
patrones que todos poseemos.

23
Técnicas cuantitativas
‡ son un conjunto de procedimientos
estadísticos que proveen salidas
numéricas o tabulares. Ejemplos de
técnicas cuantitativas incluyen:
„ Pruebas de Hipótesis
„ Análisis de varianza
„ Puntos estimados e intervalos de confianza
„ Mínima regresión cuadrada

El enfoque del AED


‡ Las preguntas de análisis son relevantes en la
aproximación clásica estadística.

‡ Lo que distingue a la aproximación del AED es el


énfasis en las técnicas gráficas para ganar
entendimiento lo que se opone a la aproximación
clásica de las pruebas cuantitativas.

‡ La mayoría de los analistas de datos usarán una


mezcla de de técnicas gráficas y clásicas
cuantitativas para encaminar sus problemas.

24
Técnicas del AED
‡ Las técnicas gráficas que se emplean en AED son
simples, y consisten en técnicas de:
„ Graficar los datos crudos como: histogramas, diagramas
de dispersión, etc.

„ Graficar estadísticas simples como: gráficas de promedio,


gráficas de desviación estándar, gráficas de cajas, etc.

„ Organización de tales diagramas para maximizar la


habilidad de reconocimiento natural de patrones, como
puede ser la utilización de múltiples gráficas por página.

Objetivos del AED (I)


Objetivo primario:
‡ Maximizar el entendimiento del analista de un
conjunto de datos, capturando la estructura
subyacente del conjunto de datos mientras se
proveen todos los ítems que un analista quiere
extraer del conjunto de datos como:
„ Una lista de valores atípicos
„ Una interpretación robusta de conclusiones
„ Estimados para parámetros
„ Incertidumbres para esos estimados
„ Una lista ordenada de los factores importantes

25
Preguntas de Análisis (I)
Preguntas que responde la exploración de datos :
1. ¿Qué es un valor típico?
2. ¿Cuál es la incertidumbre para un valor típico?
3. ¿Cuál es la distribución que mejor se ajusta a un conjunto de
números?
4. ¿Qué es un percentil?
5. ¿Tiene el factor algún efecto?
6. ¿Cuáles son los factores más importantes?
7. ¿Cuál es la mejor función para relacionar una variable de
respuesta a un conjunto de factores de variables?
8. ¿Cuáles son los valores óptimos para los factores?
9. ¿Se puede separar la señal del ruido en datos dependientes del
tiempo?
10. ¿Podemos extraer alguna estructura desde datos multivariados?
11. ¿En los datos hay datos atípicos?

Preguntas de Análisis (II)


‡ El analista debe identificar las preguntas relevantes para su
problema
‡ Se necesita identificar cuales preguntas necesitan ser
respondidas y cuales preguntas no tienen que ver con el
problema.
‡ Se debe dar prioridad a las preguntas en orden decreciente
de importancia.
‡ Las técnicas de AED están vinculadas a cada una de éstas
preguntas.

26
Estadísticas Descriptivas

‡ Son números que resumen las propiedades de los


datos
‡ Las propiedades resumidas incluyen:
„ Ubicación: promedio, mediana, moda
„ Dispersión: desviación estándar
‡ La mayoría de las estadísticas descriptivas
pueden ser calculadas en un solo paso a través
de los datos

Frecuencia y moda

‡ La frecuencia de un valor de un atributo es el


porcentaje de veces que el valor aparece en un
conjunto de datos
‡ Por ejemplo, dado un atributo “género” y una
población representativa de gente, el género
“femenino” aparece alrededor del 50% de las
veces.
‡ La moda es el valor del atributo más frecuente
‡ Las nociones de frecuencia y la moda son usadas
tipicamente con datos categoricos.

27
Percentiles (I)

‡ La noción de un percentil es más útil para


datos continuos
‡ Dado un ordinal o un atributo continuo x y
un número p entre 0 y 100, el p percentil
es un valor xp de x tal que el p% de los
valores observados de x son menores a xp
‡ Para el 50 percentil es el valor de x50%
donde el 50% de todos los valores de x
son menores a x50%

Percentiles (II)

28
Medidas de Ubicación:
Media y Mediana
‡ La media es la medida más común de la
ubicación de un conjunto de datos
‡ La media es muy sensible a los datos
atípicos
‡ La mediana es comúnmente usada

Medidas de dispersión:
Rango y Varianza
‡ Rango es la diferencia entre el máximo y el mínimo
‡ La varianza o desviación estándar es la medida más común
de dispersión de un conjunto de puntos.

‡ Este es sensitivo a los datos atípicos, así como las demás


medidas que son frecuentemente usadas.

29
Gráfica de Ejecución de Secuencia
‡ Definición: y(i)
Vs. i
‡ La gráfica se
constituye por:
„ Eje vertical:
variable de
respuesta Y(i)
„ Eje horizontal:
índice i
(i = 1, 2, 3, ... )

Gráfica de Ejecución de Secuencia


Preguntas
‡ La Gráfica de Ejecución de Secuencia
puede ser usada para responder las
siguientes preguntas:
„ ¿Hay cambios de localización?
„ ¿Hay cambios en la variación?
„ ¿Hay cambios en la escala?
„ ¿Hay cambios en los valores atípicos?

30
Histogramas
‡ Histograma
„ Muestra la distribución usual de valores de una variable
simple.
„ Divide los valores en clases y muestra una gráfica de una
barra del número de objetos en cada clase.
„ La altura de cada barra indica el número de objetos
„ La forma del histograma depende del número de clases
‡ Ejemplo: Anchura del pétalo (10 y 20 clases, respectivamente)

Histogramas de dos dimensiones


‡ Muestra la unión de distribución de valores
de dos atributos
‡ Ejemplo: Anchura del pétalo y largo del pétalo
„ ¿Qué nos está diciendo?

31
Histograma
El histograma puede ser usado para
responder las siguientes preguntas:
• ¿De qué tipo es la distribución de la
población de donde vienen los datos?
• ¿Dónde están ubicados los datos?
• ¿Son los datos simétricos o asimétricos?
• ¿Hay valores atípicos?

Gráfica de Dispersión
‡ Propósito: verifica la relación entre
variables
‡ Un gráfico de dispersión revela la relación
o asociación entre dos variables. Como las
relaciones se manifiestan por si solas por
una estructura no aleatoria en la gráfica.

32
Gráfica de Dispersión
‡ Relación lineal entre
las variables Y y X
‡ Esta gráfica de
ejemplo revela la
relación lineal entre
dos variables
indicando que un
modelo de regresión
lineal puede ser
apropiado.

Gráfica de Dispersión
‡ Preguntas:
• ¿Están las variables X y Y relacionadas?
• ¿Están las variables X y Y relacionadas
linealmente?
• ¿Están las variable X y Y relacionadas de
manera no lineal?
• ¿La variación de Y cambia dependiendo a
X?
• ¿Hay valores atípicos?

33
Combinación de gráficas de
dispersión

‡ Las gráficas de dispersión pueden ser


combinadas en múltiples gráficas por
página para ayudar a entender la
estructura en un nivel más alto en
conjuntos de datos con más de dos
variables

Scatter Plot Array of Iris


Attributes

34
Gráfica de Dispersión

‡ La gráfica de dispersión descubre las


relaciones en los datos.
‡ “Relaciones” significa que hay algunas
asociaciones estructuradas (lineales,
cuadráticas, etc.) entre X y Y.
‡ Se tiene en cuenta que:
„ Causalidad implica asociación
„ Asociación no implica causalidad.

Gráficas de caja
‡ Propósito: Verificar la ubicación y la
variación de los cambios
‡ Las gráficas de bloque son una excelente
herramienta para trasmitir información de
la ubicación y la variación de los conjuntos
de datos, particularmente para detectar e
ilustrar la ubicación y los cambios de
variación entre diferentes grupos de
datos.

35
Gráficas de caja
‡ Inventadas por J. Tukey
‡ Son otra forma de mostrar la distribución de los
datos
‡ La siguiente figura muestra la parte básica de una
gráfica de caja outlier

10th percentile

75th percentile

50th percentile
25th percentile

10th percentile

Gráficas de caja
Las gráficas de caja se conforman por:
„ Eje Vertical: valores del factor
„ Eje Horizontal: El factor de interés
‡ Mas específicamente:
„ Se calcula la mediana y los quartiles (el menor quartil es
el percentil 25 y el quartil superior es el percentil 75)
„ Se grafica un símbolo en la mediana (o una línea) y se
dibuja la gráfica de caja entre el menor y mayor quartil;
ésta caja representa el 50% de los datos.
„ Se dibuja una línea desde el menor quartil al punto
mínimo y otra línea desde el quartil mayor al máximo
punto.

36
Ejemplo de gráficas de caja
‡ Las gráficas de caja pueden ser usadas
para comparar atributos

Otras técnicas de visualización


‡ Gráfica de coordenadas paralelas:
„ Cada dato se grafica como una linea, con los puntos
ubicados de acuerdo al valor de los atributos
‡ Gráficas de estrella
„ Aproximación similar a las coordenadas paralelas, pero
con un eje radial desde un punto central
„ La línea que conecta los valores de un objeto es un
polígono
‡ Chernoff Faces
„ Esta aproximación asocia cada atributo con una
característica de la cara
„ Los valores de cada atributo determinan la apariencia de
las características faciales.
„ Cada objeto se convierte en una cara separada
„ Depende de la habilidad humana para distinguir las caras

37
Gráfica de Coordenadas Paralelas
para el Conj. IRIS

Gráfica de estrella
‡ Muestra datos
multivariados
‡ Usa un formato de
gráficas múltiples
con muchas
estrellas en cada
página y cada
estrella muestra
una observación
‡ La gráfica de
estrella es usada
para examinar los
valores relativos
para un punto de
un dato simple y la
ubicación de puntos
similares o
distintos.

38
Gráfica de estrella
Preguntas
‡ La gráfica de estrella puede ser usada
para responder las siguientes preguntas:
„ ¿Qué variables son dominantes para la
observación dada?
„ ¿Cuáles observaciones son más similares, i.e.,
hay agrupamiento de observaciones?
„ ¿Hay valores atípicos?

Chernoff Faces for Iris Data

Setosa

Versicolour

Virginica

39
Visualization of the Iris Std.
Deviation Matrix

standard
deviation

Visualization of the Iris


Correlation Matrix

40
Bibliografía
NIST/SEMATECH e-Handbook of
Statistical Methods,
http://www.itl.nist.gov/div898/hand
book/

‡ Introduction to Data Mining by Tan,


Steinbach, Kumar

NOTAS

41
Minería de Datos
II - 2007

Proceso de
Minería de Datos

42
Agenda
‡ Elección de un sistema de Minería de
Datos
‡ Ejemplos de Sistemas de Minería de
Datos
‡ CRISP-DM

Agenda
‡ Elección de un sistema de Minería
de Datos
‡ Ejemplos de Sistemas de Minería de
Datos
‡ CRISP-DM

43
¿Cómo elegir un sistema de Minería
de Datos?
‡ Los sistemas comerciales de Minería de Datos tienen pocas
características comunes:
„ Diferentes funciones y métodos de minería de datos.
„ Casi siempre manejan diferentes tipos de conjuntos de datos.
‡ Para elegir se necesita tener en cuenta múltiples dimensiones
‡ ¿Qué tipos de datos se usarán: relacional, transaccional,
texto, series de tiempo, espacial?
‡ Configuración del sistema:
„ ¿Se utilizará en uno o varios sistemas operativos?
„ ¿Proveerá interfaces basadas en Web y permitirá datos XML
como entrada y / o salida?
„ ¿Arquitectura Cliente / Servidor?

¿Cómo elegir un sistema de Minería


de Datos?
‡ Fuentes de Datos
„ ¿Archivos de texto ASCII, múltiples fuentes de datos
relacionales?
„ ¿Soporte para conexiones ODBC (OLE DB, JDBC)?
‡ Funciones de Minería de Datos y metodologías
„ Función única Vs. Múltiples funciones de minería
„ Métodos único Vs. Varios métodos por función
‡ Más funciones y métodos por función proveen al usuario
mayor flexibilidad y poder de análisis
‡ Acoplamiento con sistemas de bases y bodegas de datos.
„ Cuatro formas de acoplamiento:
1. No acoplado
2. Acoplamiento débil
3. Acoplamiento Semi – fuerte
4. Acoplamiento Fuerte

44
¿Cómo elegir un sistema de Minería
de Datos?
‡ Escalabilidad
„ Por Filas (ó tamaño de la base de datos)‫‏‬
„ Por Columnas (ó dimensión)‫‏‬
„ Maldición de la dimensionalidad: es más difícil hacer un sistema
escalable por columnas que por filas
‡ Herramientas de Visualización
„ “Una imagen vale más que mil palabras”
„ Categorías de visualización:
‡ Visualización de datos
‡ Visualización de resultados de minería
‡ Visualización del proceso de minería
‡ Minería de datos visual
‡ Lenguaje de Consulta de Minería de Datos e interfaz de usuario:
„ Fácil de usar y alta calidad en la interfaz gráfica de usuario
„ Esencial para guiar al usuario
„ Minería de datos muy interactiva

Agenda
‡ Elección de un sistema de Minería de
Datos
‡ Ejemplos de Sistemas de Minería de
Datos
‡ CRISP-DM

45
Ejemplos de Sistemas de Minería de
Datos
‡ IBM Intelligent Miner
„ Tiene una amplia gama de algoritmos de minería
„ Algoritmos de Minería escalables
„ Toolkits: algoritmos de redes neuronales, métodos estadísticos,
preparación de datos, y herramientas de visualización de datos.
„ Acoplamiento ajustado con sistemas de bases de datos relacionales de
IBM.
‡ SAS Enterprise Miner
„ Variedad de herramientas de análisis
„ Herramientas de Bodegas de Datos y algoritmos múltiples de minería
de datos.
‡ Microsoft SQLServer 2000
„ Bases de datos integradas y OLAP con Minería
„ Soporte para OLEDB para DM estándar

Ejemplos de Sistemas de Minería de


Datos
‡ SGI MineSet
„ Algoritmos múltiples de minería de datos y estadísticas avanzadas.
„ Herramientas de visualización avanzadas
‡ Clementine (SPSS)‫‏‬
„ Ambiente integrado de minería de datos para usuarios finales y
desarrolladores.
„ Algoritmos múltiples de minería de datos y herramientas de
visualización.
‡ DBMiner (DBMiner Technology Inc.)‫‏‬
„ Múltiples módulos de Minería de Datos: discovery - driven OLAP
analysis, asociación, clasificación y agrupamiento.
„ Eficiente en: asociación y funciones para reconocimiento de patrones y
herramientas visuales para clasificación.
„ Minería tanto en bases de datos relacionales como en bodegas de
datos.

46
Agenda
‡ Elección de un sistema de Minería de
Datos
‡ Ejemplos de Sistemas de Minería de
Datos
‡ CRISP-DM

CRISP-DM:
Proceso de Minería de Datos
‡ Cross-Industry Standard Process for Data Mining
(CRISP-DM)‫‏‬
‡ Iniciativa financiada por la Comunidad Europea
ha unido para desarrollar una plataforma para
Minería de Datos.
‡ Objetivos:
„ Fomentar la interoperabilidad de las herramientas a
través de todo el proceso de minería de datos
„ Eliminar la experiencia misteriosa y costosa de las tareas
simples de minería de datos.

47
¿Por qué el proceso debe ser estándar?
‡ Plataforma para
almacenar experiencia:
„ Permite que los proyectos El proceso de minería de
sean replicados. datos debe ser confiable y
‡ Ayuda a la planeación y repetible por personas con
gerencia del proyecto. poco conocimiento de
minería de datos.
‡ “Factor de Comodidad”
para nuevos usuarios:
‡ Demuestra la madurez de la
minería de datos.
‡ Reduce la dependencia en
“estrellas”

Estandarización del Proceso


‡ CRoss Industry Standard Process for Data Mining (CRISP-
DM)‫‏‬
‡ Inicia en Sept. de 1996
‡ SPSS/ISL, NCR, Daimler-Benz, OHRA
‡ Financiado por la Comisión Europea:
‡ Red mundial de aproximadamente 200 miembros CRISP-
DM:
„ Proveedores de herramientas de Minería de Datos: SPSS, NCR,
IBM, SAS, SGI, Data Distilleries, Syllogic, Magnify, ..
„ Proveedores de Sistemas / consultores: Cap Gemini, ICL
Retail, Deloitte & Touche, …
„ Usuarios Finales: BT, ABB, Lloyds Bank, AirTouch, Experian, ...

48
CRISP-DM
‡ No - propietario
‡ Independiente de la
aplicación o la industria.
‡ Neutral con respecto a
herramientas
‡ Enfocado en problemas de
negocios así como en el
análisis técnico.
‡ Plataforma guía
‡ Experiencia Base
‡ Plantillas para Análisis

CRISP-DM: Descripción

49
CRISP-DM: Fases
1. Comprensión del negocio
‡ Entendimiento de los objetivos y requerimientos del proyecto.
‡ Definición del problema de Minería de Datos
2. Comprensión de los datos
‡ Obtención conjunto inicial de datos.
‡ Exploración del conjunto de datos.
‡ Identificar las características de calidad de los datos
‡ Identificar los resultados iniciales obvios.
3. Preparación de Datos
„ Selección de datos
„ Limpieza de datos
4. Modelamiento
„ Implementación en herramientas de Minería de Datos
5. Evaluación
‡ Determinar si los resultados coinciden con los objetivos del negocio
‡ Identificar las temas de negocio que deberían haberse abordado
6. Despliegue
‡ Instalar los modelos resultantes en la práctica
‡ Configuración para minería de datos de forma repetida ó continua

Fases y Actividades
Comprensión Comprensión Preparación de
del Negocio de Datos Modelamiento Evaluación Despliegue
Datos

Determinar los • Conjunto de



• Obtener los Seleccionar
Objetivos del Datos • • Evaluar
datos Técnica de • Desplegar el
Negocio • Descripción de Resultados
iniciales Modelamiento Plan
9 Antecedentes los Datos 9 Hipótesis de
9 Reporte de 9 Técnica de 9 Plan de
9 Objetivos del Minería de
la obtención Modelamiento Despliegue
Negocio Datos
de los datos
9 Criterio de Éxito • Seleccionar los 9 Modelamiento 9 Resultados
iniciales 9
Datos Hipótesis w.r.t.
9 • Monitorear y
• Evaluar la situación Justificación de la 9 Criterio de
Generar el Mantener
9 Inventario de Describir los
inclusión / • éxito del

Exclusión Diseño de 9 Plan de
requerimientos de negocio
Datos Prueba monitoreo y
Recursos, Hipótesis 9 Modelos
9 Reporte con 9 mantenimiento
y Limitaciones • Limpiar Datos Diseño de aprobados
la descripción
9 Riesgos y 9 Reporte de Prueba
de los datos
Limpieza de z Desarrollar el
Contingencias
Construir el reporte final
9 Terminología Datos • • Revisar el
Modelo Proceso 9 Reporte Final
9 Costos y Beneficios Explorar de

Construir Datos 9 9 Presentación
• Configuración 9 Revisión del
Determinar el Datos Final
• 9 Atributos de los Proceso
objetivo de Minería 9 Reporte de la parámetros del
Derivados
de Datos Exploración
9 z Revisión del
Registros Modelo • Determinar
9 Objetivos de Minería de Datos
Generados 9 Descripción del los Proyecto
de Datos 9 Documentación
Modelo siguientes
9 Criterio de Éxito de • Integrar Datos pasos de las
• Verificar de Evaluar el experiencias
Minería de Datos 9 Datos • 9 Lista de
la calidad de Modelo
Combinados Posibles
• Desarrollar el Plan los Datos 9 Evaluación del Acciones
de Proyecto 9 Reporte de la
• Dar formato a Modelo 9 Decisión
9 Plan de proyecto calidad de los
los Datos 9 Revisión de la
9 Evaluación inicial de datos
9 Datos configuración
herramientas y Formateados de los
técnicas parámetros del
modelo

50
Fases en el proceso de DM
(1 y 2)
‡ Comprensión del
negocio:

„ Enunciar los
objetivos del
negocio
„ Enunciar los
objetivos de Minería
de Datos
„ Enunciar el criterio ‡ Comprensión de datos
de éxito „ Explorar los datos y
verificar su calidad
„ Encontrar datos atípicos

Fases en el proceso de DM(3)


Preparación de Datos:
‡ Usualmente consume alrededor
del 90% del tiempo
‡ Obtención
‡ Evaluación
‡ Consolidación y Limpieza
‡ Tablas enlazadas, nivel de
agregación, valores perdidos, etc.
‡ Selección de Datos
‡ ¿Se ignoran los datos de
carácter no contributivo?
‡ ¿Datos atípicos?
„ Usar ejemplos
„ Herramientas de Visualización
„ Transformaciones - crear nuevas
variables

51
Fases en el proceso de DM(4)
‡ Construir el Modelo
„ Selección de las técnicas de
modelamiento basándose en
el objetivo de minería de
datos.
„ El modelamiento es un
proceso iterativo (no es igual
para el aprendizaje
supervisado y no -
supervisado)‫‏‬
„ Se puede modelar
descripción o predicción

Tipos de Modelos
‡ Modelos Predictivos ‡ Modelos Descriptivos
para Regresión y para Agrupamiento y
Clasificación Búsqueda de
„ Algoritmos de Asociaciones:
Regresión (Predicción ‡ Algoritmos de
de resultados Agrupamiento: K-
numéricos): redes means, Kohonen.
neuronales, Reglas
inductivas, CART OLS ‡ Algoritmos de
regression, GLM. Asociación:
„ Algoritmos de ‡ A priori, GRI.
clasificación (Predicen
resultados simbólicos):
CHAID, C5.0
(discriminant analysis,
logistic regression).

52
Fases en el proceso de DM(5)
‡ Evaluación del Modelo
„ ¿Qué tan bien funciona
con datos de prueba?
„ Los métodos y el criterio
depende del tipo de
modelo:
„ Ejemplo: Matriz de
confusión en los modelos
de clasificación, rata de
error promedio en los
modelos de regresión.
„ Interpretación del
Modelo:
„ ¿Es importante o no?
„ Puede ser fácil o difícil
depende del algoritmo.

Fases en el proceso de DM(6)


‡ Despliegue
‡ Determinar la forma en
que los resultados deben
ser utilizados
„ ¿Quién necesita usarlos?
„ ¿Qué tan frecuentemente
se necesita usarlos?

‡ Despliegue de los
resultados de Minería de
Datos por:
‡ Puntuación de la base de
datos.
‡ Utilización de los
resultados como reglas del
negocio
‡ on-line scoring interactivo.

53
CRISP-DM: Detalles
‡ Disponible en línea: www.crisp-dm.org
„ 20 páginas del modelo (descripción)‫‏‬
„ 30 páginas de guía para el usuario (proceso
paso a paso)‫‏‬
„ 10 páginas “salida” (esbozo de un informe
sobre un proyecto de minería de datos)‫‏‬
‡ Tiene SPSS por todo lado
„ Pero no es dependiente de las herramientas de
SPSS

¿Por qué CRISP-DM?


‡ El proceso de minería de datos debe ser confiable
y reproducible por personas con poco
conocimiento sobre minería de datos.
‡ CRISP-DM provee una plataforma uniforme para:
„ Directrices
„ Documentación de experiencias
‡ CRISP-DM es flexible para tener en cuenta las
diferencias:
„ Problema de Negocios y organizaciones diferentes
„ Datos Diferentes

54
Bibliografía
‡ Clifton, Chris. “CS590D: Data Mining”
http://www.cs.purdue.edu/homes/clifton/cs590d/
‡ “The CRISP-DM Model: The New Blueprint for
DataMining”, Colin Shearer, JOURNAL of Data
Warehousing, Volume 5, Number 4, p. 13-22,
2000
‡ P. Chapman et al., “CRISP-DM 1.0: Step-by-step
data mining guide,” SPSS Inc (2000),
http://www.crisp-dm.org/CRISPWP-0800.pdf

NOTAS

55
Minería de Datos
II - 2007

Preparación de datos

56
Introducción

Evaluación
de Patrones
Datos Pre-
procesdados
Fuente
de Datos

PROBLEMA DE KDD

Introducción
‡ D. Pyle, 1999, pp. 90:
“El propósito fundamental de la
preparación de los datos es la
manipulación y transformación de los
datos sin refinar para que la información
contenida en el conjunto de datos pueda
ser descubierta o estar accesible de forma
más fácil.”

57
Introducción
Preparación de
60 Datos

50

40
Esfuerzo %

Determinación de
Objetivos
30
Minería de Evaluación de
20 Datos Modelos

10

0
Determinación Minería de
de Ojetivos Datos

Importancia
‡ Datos malos Æ extracción de
patrones/reglas malas (poco útiles).
„ Datos Incompletos: falta de valores de
atributos, …
„ Datos con ruido
„ Datos inconsistentes (incluyendo
discrepancias)

58
Importancia
‡ Reducción del tamaño del conjunto de
datos Æ posible mejora de la eficiencia
del proceso de Minería de Datos.
„ Selección de datos relevantes: eliminando
registros duplicados, eliminando anomalías, …
„ Reducción de Datos: Selección de
características, muestreo o selección de
instancias, discretización.

Importancia
‡ Datos de calidad Æ posible generación de
patrones/reglas de calidad.
„ Recuperar información incompleta.
„ Eliminar outliers
„ Resolver conflictos, …

‡ Decisiones de calidad deben ser basadas en


datos de calidad.

‡ Hecho: La preparación de datos (limpieza,


transformación, ….) puede llevar la mayor parte
del tiempo de trabajo (hasta un 90%).

59
Componentes de la Preparación de
Datos

‡ Engloba
„ Técnicas de análisis de datos
‡ que permiten
„ Mejorar la calidad de un conjunto de datos
‡ Con el objetivo de
„ Permitir a las técnicas de minería de datos
obtener mayor y mejor información (mejor
porcentaje de clasificación, reglas con más
completitud, etc.)

Componentes de la Preparación de
Datos
Limpieza
de Datos

Integración
de Datos

Transformación
Uno, dos, tres, cuatro, 1, 2, 3, 4, 5
cinco de Datos

Reducción de
Datos

60
Limpieza de Datos
‡ Resuelve redundancias consecuencia de la
integración
‡ Chequea y resuelve problemas de ruido, valores
perdidos, elimina outliers, …
‡ Resuelve inconsistencias/conflictos entre datos

Bibliografía:
‡ W. Kim, B. Choi, E-K. Hong, S-K. Kim. A
Taxonomy of Dirty Data.
‡ Data Mining and Knowledge Discovery7, 81-
99, 2003.

Limpieza de Datos:
Valores Perdidos
‡ Existen muchos datos que no contienen
todos los valores para las variables.
„ Inferirlos
„ Ignorarlos
‡ Ignorarlos: No usar los registros con
valores perdidos
„ Ventaja: Es una solución fácil
„ Desventajas:
‡ Perdida de mucha información disponible en esos
registros
‡ No es efectiva cuando el porcentaje de valores perdidos
por variable es grande.

61
Limpieza de Datos:
Valores Perdidos
‡ Inferirlos: Usar algún análisis estadístico
„ Valor medio del atributo para todos los ejemplos
pertenecientes a la misma clase: missing value
„ Valor más probable: se realiza una
estimación/imputación del valor
‡ Frecuencia
‡ Distancia
‡ Otros..
„ Ejemplo: el valor del patrón mas cercano de la
misma clase.
„ Asignar un valor especial exclusivo.

Limpieza de Datos:
Outliers
‡ Objetos/datos con características que son
considerablemente diferentes de la mayoría del
conjunto.

62
Limpieza de Datos:
Ruido
‡ Suavizamiento (Smoothing)

Limpieza de Datos:
Ruido
‡ Inconsistencia

Número de hijos = 3
Edad = 2

63
Integración de Datos
‡ Obtiene los datos de diferentes fuentes de
información
‡ Resuelve problemas de representación y
codificación
‡ Integra los datos desde diferentes tablas para
crear información homogénea, ...

Bibliografía:
E.Schallehn, K. Sattler, G. Saake. Efficient
Similarity
Based Operations for Data Integration. Data
And Knowledge Engineering 48:3, 351-387,
2004.

Integración de Datos
‡ Diferentes escalas
„ Pesos vs Dolares
‡ Atributos derivados
„ Salario Mensual vs Salario Anual
‡ Solución
„ Procedimientos semi-automáticos
„ ETL
„ Minería

64
Transformación de Datos
‡ Los datos son transformados o
consolidados de forma apropiada para la
extracción de información. Diferentes
vías:
„ Sumarización de datos
„ Operaciones de agregación, etc.

Bibliografía:
T. Y. Lin. Attribute Transformation for Data Mining I:
Theoretical Explorations.
International Journal of Intelligent Systems 17, 213-
222, 2002.

Transformación de Datos:
Normalización

‡ Normalización min-max

‡ Normalización z-score

65
Transformación de Datos:
Normalización
‡ Normalización por escala decimal

‡ Donde j es el entero más pequeño tal que


Max (| v’|) < 1

Reducción de Datos
‡ Agrupamiento – Compactación
‡ Discretización
‡ Selección de características
‡ Selección de Instancias

66
Reducción de Datos
‡ Agrupamiento – Compactación
‡ Discretización
‡ Selección de características
‡ Selección de Instancias

Reducción de Datos:
Agrupamiento
‡ Compactación vía análisis de clusters

67
Reducción de Datos
‡ Agrupamiento – Compactación
‡ Discretización
‡ Selección de características
‡ Selección de Instancias

Bibliografía:
‡ H. Liu, F. Hussain, C.L. Tan, M. Dash. Discretization: An Enabling
Technique. Data mining and Knowledge Discovery 6, 393-423, 2002.
‡ F. Berzal, J.C. Cubero, N. MarinD. Sánchez. Buildingmulti-way decision
trees with numerical attributes. Information Sciences 165 (2004) 73–
90.

Reducción de Datos:
Discretización
‡ Divide el rango de atributos continuos en
intervalos
‡ Almacena solo las etiquetas de los intervalos
‡ Importante para reglas de asociación y
clasificación, algunos algoritmos solo aceptan
datos discretos.

68
Reducción de Datos:
Discretización
‡ Ejemplo:

Edad (0-14 años) Edad (16-24 años) Edad (25 - 65 años)

Edad 1 1 … 1 2 2 2 … 2 2 2 3 4 5 … 6
# de 0
0 4
0 … 5
1 0
0 3
1 4
0 … 5
1 7
0 9
2 1
1 3
3 0
2 … 5
4
Autos

Reducción de Datos:
Discretización
Distribución de Peso

20
Frecuencia

15

10

0
50
52
54
56
58
60
62
64
66
68
70
72
74

Peso
Peso (50 – 58 Kg) Peso (59 – 67 Kg) Peso ( > 68 Kg)

69
Reducción de Datos:
Discretización
‡ Igual amplitud
Distribución de Temperatura

8
Frecuencia

6
4
2
0
[64,,,67) [67,,,70) [70,,,73) [73,,,76) [76,,,79) [79,,,82) [82,,,85]
Temperatura

Valores de Temperatura:
63, 65, 66, 67, 70,70, 71, 71, 72, 72, 73, 73, 74, 75, 76, 76, 82, 82, 83, 84,85, 85

Reducción de Datos:
Discretización
‡ Problemas Igual Amplitud
Ingresos Mensuales

25
20
Frecuencia

15
10
5
0
[0 - 5'000,000) [5'000,000 - [10'000,000 -
10'000,000) 15'000,000]
Ingresos

70
Reducción de Datos:
Discretización
‡ Igual Frecuencia

Distribución de Temperatura

6
4
Frecuencia
2
0
63,,,70 71,,,73 74,,,82 83,,,85
Temperatura en ºC

Valores de Temperatura:
63, 65, 66, 67, 70,70, 71, 71, 72, 72, 73, 73, 74, 75, 76, 76, 82, 82, 83, 84,85, 85

Reducción de Datos:
Discretización
‡ Ventajas de la igualdad en frecuencia
„ Evita desequilibrios en el balance o entre valores
„ En la práctica permite obtener puntos de corte
mas intuitivos.
‡ Consideraciones adicionales:
„ Se deben crear cajas para valores especiales
„ Se deben tener puntos de corte interpretables

71
Reducción de Datos:
Discretización - BIN
‡ Valores numéricos que pueden ser ordenados de
menor a mayor
‡ Particionar en grupos con valores cercanos
‡ Cada grupo es representado por un simple valor
(media, la mediana o la moda)
‡ Cuando el numero de bins es pequeño, el limite
mas cercano puede ser usado para representar el
bin

Reducción de Datos:
Discretización - BIN
‡ Ejemplo:
f = {3, 2, 1, 5, 4, 3, 1, 7, 5, 3}
ordenado f= {1, 1, 2, 3, 3, 3, 4, 5, 5, 7}
particionando en 3 BINs:
{1, 1, 2, 3, 3, 3, 4, 5, 5, 7}
representacion usando la moda:
{1, 1, 1, 3, 3, 3, 5, 5, 5, 5}

72
Reducción de Datos:
Discretización - BIN
‡ usando media:
{1.33, 1.33, 1.33, 3, 3, 3, 5.25, 5.25, 5.25, 5.25}
Remplazando por el limite mas cercano:
{1, 1, 2, 3, 3, 3, 4, 4, 4, 7}

‡ Problema de optimización en la selección de k


bins, dado el numero de bins k: distribuir los
valores en los bins para minimizar la distancia
promedio entre un valor y la media o mediana
del bin.

Reducción de Datos:
Discretización - BIN
‡ Algoritmo
„ Ordenar valores
„ Asignar aproximadamente igual numero de
valores (vi) a cada bin (el numero de bins es
parámetro)
„ Mover al borde el elemento vi de un bin al
siguiente (o previo) si la distancia de error
(ER) es reducida. (ER es la suma de todas las
distancias de cada vi a la media o moda
asignada al bin)

73
Reducción de Datos:
Discretización - BIN
‡ 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. f ordenado ={1, 1, 2, 2, 2, 5, 6, 8, 8, 9}
2. Bins iniciales = {1, 1, 2, 2, 2, 5, 6, 8, 8, 9}
3. Modas = {1, 2, 8}
4. Total ER = 0+0+1+0+0+3+2+0+0+1 = 7
‡ Después de mover dos elementos del bin2 al
bin1, y un elemento del bin3 al bin2:
f ={1, 1, 2, 2, 2 5, 6, 8, 8, 9}
Modas = {2, 5, 8}
ER = 4
‡ Cualquier movimiento de elementos incrementa
ER

Reducción de Datos:
Discretización
‡ Mas allá de los intervalos de igual amplitud o
frecuencias:
„ Algoritmos no supervisados:
‡ Intervalores de igual amplitud

‡ Intervalos de igual frecuencia

‡ Clustering …..

„ Algoritmos supervisados:
‡ Basados en Entropía [Fayyad & Irani and
others, 1993]
‡ Metodos Chi-square [Kerber 92]

74
Reducción de Datos:
Discretización
Discretización sin el uso de clases

DATOS
Intervalo de Igual
Amplitud

Reducción de Datos:
Discretización
Discretización sin el uso de clases

DATOS

Intervalo de Igual
Frecuencia

75
Reducción de Datos:
Discretización
Discretización sin el uso de clases

DATOS

K - Means

Reducción de Datos:
Discretización
‡ Discretización utilizando clases (basado en
entropía)

5 Clases para las variables X y Y 3 Clases para las variables X y Y

76
Reducción de Datos
‡ Agrupamiento – Compactación
‡ Discretización
‡ Selección de características
‡ Selección de Instancias

Bibliografía:
‡ H. Liu, H. Motoda. Feature Selection for Knowledge Discovery and Data
Mining. Kluwer Academic, 1998.
‡ H. Liu, H. Motoda (Eds.) Feature Extraction, Construction, and
Selection: A Data Mining Perspective, Kluwer Ac., 1998.

Reducción de Datos:
Selección de Características
‡ La SC pretende elegir atributos que sean relevantes
para una aplicación y lograr el máximo rendimiento
con el mínimo esfuerzo. El resultado de la SC sería:
„ Menos datos → los algoritmos pueden aprender más
rápidamente
„ Mayor exactitud → el clasificador generaliza mejor
„ Resultados más simples → más fácil de entender

‡ SC y Transformación (extracción y construcción)

77
Reducción de Datos:
Selección de Características
Variable Variable
1 6

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

Reducción de Datos:
Selección de Características
‡ La SC se puede considerar como en
problema de búsqueda

{}

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

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

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

{1,2,3,4}

78
Reducción de Datos:
Selección de Características
‡ Distintas Clasificaciones.

Reducción de Datos:
Selección de Características
Algoritmos de Ranking

‡ Devuelven una lista de atributos ordenados según


algún criterio de evaluación.
ENTRADA: X Atributos, C criterio de Evaluación
LISTA = {}
PARA

CADA ATRIBUTO xi, i Є {1, …, N}

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

79
Reducción de Datos:
Selección de Características
Algoritmos Subconjunto de Atributos

‡ Devuelven un subconjunto de atributos optimizado


según algún criterio de evaluación.
ENTRADA: X Atributos, U criterio de Evaluación
SUBCONJUNTO = {}
REPETIR
SK = GenerarSubconjunto(x)
Si existeMejora (S, SK , U)
Subconjunto = SK
HASTA (Criterio de Parada )
SALIDA: Lista (ordenada por releavancia de atributos)

Reducción de Datos:
SC usando Entropía
‡ Para enumerar dimensiones (ranking)
‡ Basado en la medida de similaridad (inversa a la
distancia)
−αD ij
S ij = e where Dij es la dis tan cia euclidiana α = −(ln 0.5) / D

⎛ n ⎞
S ij = ⎜ ∑ x ik = x jk ⎟ / n Hamming similarity (variables nominales)
⎝ k =1 ⎠
F1 F2 F3 R1 R2 R3 R4 R5
R1 A X 1 R1 0/3 0/3 2/3 0/3
R2 B Y 2 R2 2/3 2/3 0/3
R3 C Y 2 R3 0/3 1/3
R4 B X 1 R4 0/3
R5 C Z 3
similaridades

80
Reducción de Datos:
SC usando Entropía
‡ Distribución de las similaridades es una
característica de la organización y orden de
los datos en el espacio de n-dimensiones
‡ Criterio para excluir dimensiones: cambios
en el nivel del orden en los datos
‡ Cambios medidos con entropía
‡ Entropía es una medida global que es
menor para configuraciones ordenadas y
grande para configuraciones desordenadas

Reducción de Datos:
SC usando Entropía
‡ Compara la entropía antes y después de remover una dimensión
‡ Si las medidas son cercanas, el conjunto de datos reducido
aproxima el original conjunto de datos
‡ Entropía:
N −1

∑ ((S × log(Sij )) + ((1 − Sij ) × log(1 − Sij )) )


N
E = −∑ ij
i =1 j =i +1

Similaridad entre xi y xj

‡ El algoritmo esta basado en “sequential backward ranking”


‡ La entropía es calculada en cada iteración para decidir el
“ranking” de las dimensiones.
‡ Las dimensiones son gradualmente removidas

81
Reducción de Datos:
SC usando Entropía
„ Algoritmo
1. Comienza con todo el conjunto de datos F
2. EF = entropía de F
3. Por cada dimensión f Є F,
„ Remover una dimensión f de F y obtener el subconjunto
Ff
„ EFf = entropía de Ff
„ Si (EF - EFf ) es mínima
Actualizar el conjunto de datos F = F – f
f es colocada en la lista “rankeada”
4. Repetir 2-3 hasta que solo haya una dimensión
en F

Reducción de Datos:
SC usando Entropía
‡ El proceso puede ser parado en cualquier
iteración y las dimensiones son seleccionadas de
la lista.
‡ Desventaja: complejidad
‡ Implementación paralela

82
Principal Component Analysis - PCA
‡ Vectores propios (Eigenvectors) son casos
especiales de multiplicación de matrices:
No es múltiplo del
⎛2 3 ⎞ ⎛ 1 ⎞ ⎛11⎞ vector original
⎜⎜ ⎟×⎜ ⎟ = ⎜ ⎟
⎝2 1 ⎟⎠ ⎜⎝ 3 ⎟⎠ ⎜⎝ 5 ⎟⎠ Cuatro veces el
vector original
⎛2 3 ⎞ ⎛ 3 ⎞ ⎛12 ⎞ ⎛ 3⎞
⎜⎜ ⎟⎟ × ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ = 4 × ⎜⎜ ⎟⎟
Matriz de
⎝2 1⎠ ⎝ 2⎠ ⎝ 8 ⎠ ⎝ 2⎠
transformación Eigenvector
Vector transformado en su
posición original de
transformación

PCA: Propiedades de
eigenvectors
‡ Se encuentran para matrices cuadradas
‡ No todas las matrices cuadradas tienen
eigenvectors
‡ Si una matriz nXn tiene eigenvectors,
entonces tiene n eigenvectors
‡ Los eigenvectors son perpendiculares
(ortogonales)

83
PCA: Propiedades de
eigenvectors
‡ Escalar el eigenvector a longitud 1 (estándar)

⎛ 3⎞
⎜⎜ ⎟⎟ longitud ( )
es : 32 + 2 2 = 13
⎝ 2⎠
el vector con longitud 1 es :
⎛ 3 ⎞
⎜ 13 ⎟
⎜2 ⎟
⎜ ⎟
⎝ 13 ⎠

PCA – Valores propios (Eigenvalues)


Eigenvalue asociado con
el eigenvector

⎛ 2 3 ⎞ ⎛ 3 ⎞ ⎛12 ⎞ ⎛ 3⎞
⎜⎜ ⎟⎟ × ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ = 4 × ⎜⎜ ⎟⎟
⎝ 2 1⎠ ⎝ 2⎠ ⎝ 8 ⎠ ⎝ 2⎠

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⎞ ⎛ − 1⎞ ⎛ − 1⎞ ⎛0⎞ ⎛ 3⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜2⎟ ⎜0⎟ ⎜1⎟ ⎜1⎟ ⎜ 2⎟
⎜ − 1⎟ ⎜2⎟ ⎜3⎟ ⎜0⎟ ⎜1⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠

Principal Component Analysis


‡ Reduce el número de dimensiones (compresión)
sin mucha perdida de información

85
PCA: Método (Ejemplo)
1. Restar la media

x = 1.81 y = 1.91

PCA: Método (Ejemplo)


2. Calcular la matriz de covarianzas

⎛ 0.616555556 0.615444444 ⎞
cov = ⎜⎜ ⎟⎟
⎝ 0.615444444 0.716555556 ⎠

86
PCA: Método (Ejemplo)
3. Calcular eigenvectors y eigenvalues de la
matriz de covarianzas.

⎛ 0.0490833989 ⎞
eigenvalues = ⎜⎜ ⎟⎟
⎝ 1 . 28402771 ⎠
⎛ − 0.735178656 − 0.677873399 ⎞
eigenvectors = ⎜⎜ ⎟⎟
⎝ 0. 677873399 − 0. 735178656 ⎠

Método para calcular eigenvectors= Jacobi (Investigar)

PCA: Método (Ejemplo)

Menos
importante

Eigenvectors
Entre los puntos.
(perpendicular)
Los puntos están
relacionados con
esta línea

87
PCA: Método (Ejemplo)
4. Escoger componentes y formar vector
(feature vector)

• Ordenar de eigenvalues de mayor a menor (orden


de significancia)

Valores pequeños de eigenvalues indican que el eigenvector


es menos importante.

⎛ 0.0490833989 ⎞ ⎛ − 0.735178656 − 0.677873399 ⎞


eigenvalues = ⎜⎜ ⎟⎟ eigenvectors = ⎜⎜ ⎟⎟
⎝ 1.28402771 ⎠ ⎝ 0.677873399 − 0.735178656 ⎠
Componente Principal (mayor eigenvalue)

PCA: Método (Ejemplo)


„ Cuantos componentes principales son necesarios para tener
una buena representación de los datos?
„ Analizar la proporción de la varianza (eigenvalues).
Dividiendo la suma de los primeros m eigenvalues por la
suma de todos los eigenvalues

⎛ m ⎞
⎜ ∑ λi ⎟
R = ⎝ i =n1 ⎠
90% es considerado bueno
⎛ ⎞
⎜ ∑ λi ⎟
⎝ i =1 ⎠

88
PCA: Método (Ejemplo)
5. Derivar nuevo conjunto de datos
Datos ajustados X Matriz de eigenvectors
usando la media

PCA: Método (Ejemplo)


Nuevo conjunto usando los dos eigenvectors

89
PCA: Obtener el original
conjunto de datos
Nuevo conjunto X (eigenvector matrix)-1
Nuevo conjunto X (eigenvector matrix)T

PCA: Obtener el original


conjunto de datos

90
Reducción de Datos
‡ Agrupamiento – Compactación
‡ Discretización
‡ Selección de características
‡ Selección de Instancias

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

Reducción de Datos
Selección de Instancias

‡ La SI pretende elegir los ejemplos que sean


relevantes para una aplicación y lograr el máximo
rendimiento. El resultado de la SC sería:
‡ Menos datos → los algoritmos pueden aprender
más rápidamente
‡ Mayor exactitud → el clasificador generaliza
mejor
‡ Resultados más simples → más fácil de entender
‡ SI y Transformación
(compactación/agrupamiento)

91
Reducción de Datos
Selección de
Instancias
Diferentes tamaños:

500 Puntos 2000 Puntos 8000 Puntos

Reducción de Datos
‡ Selección de Instancias
„ Muestreo
„ Selección de Prototipos o Aprendizaje basado en
Instancias
„ Aprendizaje Activo

92
Reducción de Datos
‡ Selección de Instancias

MUESTREO
Sin
Reemplazamiento

o
e nt
i
z am DATOS
n la
Co mp ORIGINALES
e
Re

Reducción de Datos
‡ Selección de Instancias: Muestreo

DATOS ORIGINALES Reducción Simple

93
Reducción de Datos
‡ Selección de Instancias

Selección de Prototipos

Se basa en:

Eliminación Reglas Muestreo Algoritmos


Ordenada NN Aleatorio Evolutivos

Reducción de Datos
‡ Selección de Instancias

94
Reducción de Datos
‡ Selección de Instancias

Reducción de Datos
‡ Selección de Instancias

95
Reducción de Datos
‡ Selección de Instancias

Reducción de Datos
‡ Selección de Instancias. Selección de
Prototipos
„ Para Clasificación con 1-NN

Conjunto de Algoritmo de Selección de


Entrenamiento Prototipos
COJUNTO DE DATOS

(TR)

Prototipos Seleccionados (TSS)

Conjunto de Prueba
Clasificador 1 - NN
(TS)

96
Reducción de Datos
‡ Selección de Instancias. Selección de
Conjuntos de Entrenamiento.
„ Para Selección de Conjuntos de Entrenamiento

Conjunto de Algoritmo de Selección de


Entrenamiento Prototipos
COJUNTO DE DATOS

(TR)

Prototipos Seleccionados (TSS)

Algoritmo de Minería de Datos

Conjunto de Prueba Modelo


(TS) Encontrado

Reducción de Datos
Selección de Instancias. Eficiencia

‡ El orden de los algoritmos es superior a O(n2) y


suele estar en orden O(n3) .Las principales
dificultades que deben afrontar los algoritmos de
Selección de Prototipos son: Eficiencia, recursos,
generalización, representación.

‡ ¿Cómo realizar la selección de instancias


con grandes bases de datos?
Combinamos una estrategia de
estratificación con los algoritmos de
selección de instancias.

97
Reducción de Datos
‡ Selección de Instancias en grandes Bases de Datos a través de
estrategia de Estratificación. [CANO, 2005]

T1 T2 T3 … Tt
COJUNTO DE DATOS

IS IS IS IS

TSS1 TSS2 TSS3 … TSSt

TR1 TR2 TR3 … TRt

TS1 TS1 TS1 … TS1

Reducción de Datos
Selección de Instancias

Conjuntos de datos no balanceados

‡ Algunos problemas tienen una presencia de las clases desigual:


„ Diagnosis médica: 90% sin-enfermedad, 10% enfermedad
„ e-comercio: 99% no-compra, 1% compra
„ seguridad: >99.99% de conexiones no son ataques
„ La situación es similar con múltiples clases
„ La mayoría de los clasificadores obtienen un 97% de clasificación
correcta, pero no son útiles

¿Cómo se procesan las clases no balanceadas?


„ Utilizar técnicas de reducción de datos para balancear las clases
reduciendo las clases mayoritarias.
„ Realizar sobre muestreo para balancear aumentar el tamaño de las
clases minoritarias. test

98
Bibliografía
‡ Jiawei Han and Micheline Kamber
“Data Mining: Concepts and
Techniques”,
The Morgan Kaufmann Series in Data
Management Systems, Jim Gray,
Series Editor
Morgan Kaufmann Publishers, August
2000. 550 pages.
ISBN 1-55860-489-8

Bibliografía
‡ “Data Mining: Practical Machine
Learning Tools and Techniques”
(Second Edition)
Ian H. Witten, Eibe Frank
Morgan Kaufmann
June 2005
525 pages
Paper
ISBN 0-12-088407-0

99
Bibliografía
‡ Pang-NingTan, Michael Steinbach, and
VipinKumar
“Introduction to Data Mining”
(First Edition) Addison Wesley,
May 2, 2005

Bibliografía
‡ Dorian Pyle
“Data Preparation for Data Mining”
Morgan Kaufmann, Mar 15, 1999
MamdouhRefaatData
‡ Fayyad and K.B. Irani. Multi-interval
discretization of continuous-valued
attributes for classification learning.
Proc. 13th Int. Joint Conf. AI (IJCAI-93),
1022-1027. Chamberry, France, Aug./
Sep. 1993.

100
Bibliografía
‡ MamdouhRefaat
“Data Preparation for Data Mining
Using SAS”
Morgan Kaufmann, Sep. 29, 2006

Bibliografía
‡ J.R. Cano, F. Herrera, M. Lozano.
Stratification for Scaling Up
Evolutionary Prototype Selection.
Pattern Recognition Letters 26:7 (2005)
953-963.
‡ R. Kerber. ChiMerge: Discretization of
numeric attributes. Proc. 10th Nat.
Conf. AAAI, 123-128. 1992.

101
Minería de Datos
II - 2007

203

Reglas de Asociación

204

102
Introducción
‡ En base de datos transaccional, cada
transacción puede contener una lista de
ítems (comprados por un cliente)
‡ Encontrar patrones, asociaciones,
correlaciones o estructuras casuales entre
los conjuntos de “ítems” u objetos en
bases de datos transaccionales,
relacionales y otros repositorios

Introducción
‡ Transacciones “market basket”
Interé
Interés en analizar
Id Ítems los datos para
aprender
1 {pan, leche}
el comportamiento
2 {pan, pañales, cerveza, huevos} de
3 {leche, pañales, cerveza,
las compras de
gaseosa} sus
4 {pan, leche, pañales, cerveza}
clientes

5 {pan, leche, pañales, gaseosa}


•Promociones de mercadeo
•Manejo de inventario
•Relación con el cliente
Ítems comprados por cliente

103
Introducción
‡ Metodología de análisis de asociaciones:
usada para descubrir relaciones
interesantes ocultas en largos conjuntos
de datos
‡ Aplicaciones
„ Análisis de las transacciones comerciales
„ Predicción
„ Personalización
„ Etc.

Reglas de asociación
‡ Encontrar: todas las reglas que correlacionan la
presencia de un conjunto de ítems con otro
conjunto de ítems
„ 98% de las personas que compran llantas y accesorios
de autos también adquieren servicios para autos
„ 60% de usuarios de la Web que visitan la Pagina A y B
compran el ítem T1
‡ Aplicaciones
„ Convenios de mantenimiento
„ Recomendaciones en Web (URL1 y URL3 -> URL5)

104
Reglas de asociación
‡ Las relaciones pueden ser representadas
en forma de:
„ Reglas de asociación
„ Conjunto de ítem frecuentes

Reglas de asociación
‡ Ejemplos.
„ Regla:
“Antecedente. → Consecuente.
[suporte, confidencia]”

Compra (x, “pañales”) →


compra (x, “cerveza”) [0.5%, 60%]

105
Medidas de la regla:
Soporte y Confianza
‡ Encontrar reglas X & Y ⇒ Z con mínimo % de
confianza y soporte (umbrales)

„ soporte, s: probabilidad que una


transacción contiene {X ∪ Y ∪ Z}
„ confianza, c: probabilidad condicional de
que una transacción que tiene {X ∪ Y}
también contenga Z.

Soporte y Confianza
‡ Soporte: Usado para eliminar reglas no
interesantes.

‡ Confianza: mide que tan fiable es la


inferencia hecha por la regla.

106
Ejemplo
ID Transacción ítems comprados
2000 A,B,C
1000 A,C
4000 A,D
5000 B,E,F

soporte mínimo 50%,


confianza mínima 50%,

A ⇒ C (?, ?)
C ⇒ A (?, ?)

Ejemplo
Soporte mínimo 50%
ID Transacción ítems comprados Confianza mínima 50%
2000 A,B,C Conjunto de ítems frecuentes Soporte
1000 A,C {A} 75%
4000 A,D {B} 50%
5000 B,E,F {C} 50%
{A,C} 50%
Para la regla A ⇒ C:
soporte = soporte({A ∪ C}) = 50%
confianza = soporte({A ∪ C})/soporte({A}) = 66.6%
Para la regla C ⇒ A
soporte = soporte({C ∪ A}) = 50%
confianza = soporte({C ∪ A})/soporte({C}) = 100%

107
Minando reglas de asociación
‡ Fuerza bruta : computar soporte y
confianza por cada regla posible ->
prohibida (demasiado costosa)
‡ Podar reglas antes de computar sus
valores de soporte y confianza (para
evitar cálculos innecesarios)
‡ Conjuntos de ítems frecuentes
‡ Estrategia de minar reglas de asociación:
„ Generación de conjuntos de ítems frecuentes
„ Generación de reglas

Generación de conjuntos de ítems


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

108
Generación de conjuntos de ítems
frecuentes
‡ Conjunto de ítems frecuentes: conjunto de ítems
que tienen un mínimo de soporte
‡ Principio A priori:
„ Cualquier subconjunto de un conjunto de ítem
frecuentes (frequent item set) debe ser frecuente
Si {AB} es un “conjunto de items frecuentes”,
entonces {A} y {B} deben ser “conjuntos de
items frecuentes”
„ Proceso iterativo para encontrar conjuntos de
ítems frecuentes con cardinalidad de 1 a k (k-
itemsets)
‡ Los “conjuntos de items frecuentes” son usados
para generar reglas de asociación

El algoritmo “A priori”
‡ Generación de Candidatos:
„ Paso de unión: Ck es generado uniendo Lk-1 con el mismo
„ Paso de poda: Cualquier conjunto de (k-1) ítems que no es
frecuente no puede ser usado como un subconjunto de un conjunto
frecuente de k-ítems
‡ Pseudo-código:
Ck: conjuntos de ítems candidatos de tamaño k
Lk :conjuntos de ítems frecuentas de tamaño k

L1 = {ítems frecuentes};
for (k = 1; Lk !=∅; k++) do begin
Ck+1 = candidatos “generados” de Lk; (ver siguiente ejemplo)
for each transacción t en la base de datos do
// requiere hacer “scan” a la BD !!!
incrementar la cuenta de los candidatos en Ck+1
que están contenidos en t
Lk+1 = candidatos en Ck+1 con soporte >= min_soporte
end
return ∪k Lk;

109
Generación de candidatos
‡ Suponer los ítems en Lk-1 están ordenados en una lista
‡ Paso 1: unión de Lk-1 con el mismo
Insert Into Ck
Select p.item1, p.item2, …, p.itemk-1, q.itemk-1
From Lk-1 p, Lk-1 q
Where p.item1=q.item1, …, p.itemk-2=q.itemk-2, p.itemk-1 < q.itemk-1
(conjuntos mas pequeños deben emparejar en todos menos el último
ítem)

‡ Paso 2: poda
forall itemsets c in Ck do
forall (k-1)-subsets s of c do
if (s is not in Lk-1) then delete c from Ck

Ejemplo de generación de
candidatos

‡ L3={abc, abd, acd, ace, bcd}


‡ Unión: L3*L3
„ abcd de abc y abd
„ acde de acd y ace

‡ Poda:
„ acde es removido por que ade no esta en L3

‡ C4={abcd}

110
Algoritmo “Apriori”— Ejemplo
(sop=50%)
Base de datos D
itemset sup.
TID Items {1} 2
L1 itemset sup.
C1 {1} 2
100 134 {2} 3 {2} 3
200 235 Scan D {3} 3 {3} 3
300 1235 {4} 1 {5} 3
400 25 {5} 3
C2 itemset sup C2 itemset
L2 itemset sup {1 2} 1 Scan D {1 2}
{1 3} 2 {1 3} 2 {1 3}
{2 3} 2 {1 5} 1 {1 5}
{2 3} 2 {2 3}
{2 5} 3
{2 5} 3 {2 5}
{3 5} 2
{3 5} 2 {3 5}
C3 itemset Scan D L3 itemset sup
{2 3 5} {2 3 5} 2

Generando Reglas de Asociación


desde conjuntos de ítems frecuentes
‡ Una vez todos los conjuntos de ítems
frecuentes han sido encontrados, se pueden
generar reglas de asociación (confianza ≥
min_conf ):
„ Por cada conjunto de ítems frecuentes l, generar
todos los subconjuntos de l (no vacíos);
„ Por cada subconjunto s de l,
‡ IF ( conteo_soporte (l) / conteo_soporte (s) ≥
min_conf )
THEN la regla es “s => (l-s)”
‡ Para optimizar: Almacenar los conjuntos de
ítems y sus conteos en tablas Hash

111
Generando Reglas de Asociación
desde conjuntos de ítems frecuentes
‡ C({B,C} → E}) = s(B,C,E)/s(B,C)=2/2 =
100%
‡A → C
‡ No todas las reglas descubiertas pueden
ser interesantes para presentar y usar.

Reglas de asociación Múltiple-


Nivel
‡ Ítems por lo general
forman una jerarquía
Food
‡ Ítems de niveles bajos
tienen menos soporte
milk bread
‡ Reglas obtenidas de los
conjuntos de ítems a skim 2% wheat white
apropiados niveles
pueden ser útiles Fraser Sunset

‡ Se puede explorar
minería compartida multi- Usando conocimiento
nivel del dominio

112
Minando Multi-nivel
con soporte reducido
Usar información de viejos conjuntos de ítems frecuentes
e integrar información de soporte de nuevos conjuntos de
ítems frecuentes
Nivel 1 Milk
min_sup = 5%
[support = 10%]

Nivel 2
min_sup = 3% 2% Milk Skim Milk
[support = 6%] [support = 4%]
Las asociaciones interesantes ocurren en niveles altos

Método FP-GROWTH
‡ Longitud 100 número de candidatos es al menos:

100
⎛100 ⎞ 100
∑ ⎜⎜
i =1 ⎝ i ⎠
⎟⎟ = 2 − 1 ≈ 1030

‡ Complejidad de computación crece


exponencialmente!
‡ Método “Frequent pattern growth”: mejora
escalabilidad (grandes conjuntos de datos)

113
FP-GROWTH
1. Proyección de los conjuntos de ítems
frecuentes
2. Construye una estructura en memoria
llamada FP-tree
3. Aplicar algoritmo FP-Growth

Frecuencias ordenadas
Mínimo soporte = 3 descendemente. Orden
Id Ítems
Id Soporte importante! FP-tree
1 f,a,c,d,g,i,m,p sigue ese orden
f 4
2 a,b,c,f,l,m,o Scan c 4

3 b,f,h,j,o a 3
b 3 Raíz del árbol es creada
4 b,c,k,s,p
m 3
5 a,f,c,e,l,p,m,n p 3

,1
Scan de la primera transacción
Construcción de la primera rama del árbol ,1
(solo los ítems que están en la lista de frecuentes)
Scan de la segunda transacción ,1

,1
,1

114
Frecuencias ordenadas
Mínimo soporte = 3 descendentemente. Orden
Id Ítems
Id Soporte importante! FP-tree
1 f,a,c,d,g,i,m,p sigue ese orden
f 4
2 a,b,c,f,l,m,o Scan
c 4
3 b,f,h,j,o a 3
b 3
Raíz del árbol es creada
4 b,c,k,s,p
m 3
5 a,f,c,e,l,p,m,n
p 3
,1
,2
Scan de la primera transacción
Construcción de la primera rama del árbol ,2
,1
(solo los ítems que están en la lista de frecuentes)
Scan de la segunda transacción ,1
,2

,1 ,1
,1 ,1

Frecuencias ordenadas
Mínimo soporte = 3 descendentemente. Orden
Id Ítems importante! FP-tree
Id Soporte
1 f,a,c,d,g,i,m,p sigue ese orden
f 4
2 a,b,c,f,l,m,o Scan
c 4
3 b,f,h,j,o a 3
Raíz del árbol es creada
4 b,c,k,s,p b 3
m 3
5 a,f,c,e,l,p,m,n
p 3
,3
,2
Scan de la primera transacción
Construcción de la primera rama del árbol ,2 ,1
(solo los ítems que están en la lista de frecuentes)
Scan de la segunda transacción ,2
Scan de la tercera transacción
,1 ,1
,1 ,1

115
Árbol final FP

Lista de cabezas
(headers)

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

,2 ,1
,2 ,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) }
Umbral de 3
,4 ,1 { (c,3), (p,3) }
{ c, p }
,3 ,1 ,1
,3 ,1 Ejemplos o registros acumulados:
{ (f,2),(c,2),(a,2),(m,2) }
{ (f,1), (c,1),(a,1),(b,1),(m,1) }
,2 ,1 Conjuntos de ítems frecuentes son:
{ (f,3), (c,3), (a,3), (m,3) }
,2 ,1 { f, c, a, m }

Reglas de asociación
multidimensionales

Id A1 A2 Ítems
1 a 1 {pan, leche}
2 b 2 {pan, pañales, cerveza, huevos}
3 a 2 {leche, pañales, cerveza, gaseosa}

4 a 3 {pan, leche, pañales, cerveza}


5 c 1 {pan, leche, pañales, gaseosa}

117
Reglas de asociación
multidimensionales
‡ Sentido común
Dividir el proceso de minería en dos
pasos:
„ Minar información dimensional
„ Conjunto de ítems frecuentes
‡ Encontrar combinaciones de valores
multidimensionales y luego los
correspondientes conjuntos de ítems
frecuentes

Ejemplo
‡ Combinación de los Id A1 A2 A3 Ítems
valores de los atributos
‡ Umbral de n
(considerados frecuentes) 1 a 1 m x, y, z

‡ Patrón Multidimensional 2 b 2 n z, w
MD-Patterrn
Algoritmo BUC 3 a 2 m x, z, w

4 c 3 p x, w

118
Ejemplo
Usando umbral de 2 Id A1 A2 A3 Ítems
I.
1. Ordenar por atributo A1 1 a 1 m x, y, z
2. MD-pattern es a 3 a 2 m x, z, w
3. Seleccionar las tuplas con 2 b 2 n z, w
el MD-pattern encontrado
4 c 3 p x, w
4. Ordenar el subconjunto
de tuplas con respecto a
la segunda dimensión A2

Ningún valor (1y 2) cumple el umbral, la dimensión


A2 es ignorada

Ejemplo
5. Ordenar con respecto
Id A1 A2 A3 Ítems
a la tercera
dimensión A3 1 a 1 m x, y, z
6. Md-Pattern es m 3 a 2 m x, z, w

(a,*,m)

119
Ejemplo
II. Repetir el proceso del Id A1 A2 A3 Ítems
paso I, comenzando 1 a 1 m x, y, z
por el atributo A2 (A1
3 a 2 m x, z, w
no es analizada en
2 b 2 n z, w
esta iteración)
4 c 3 p x, w
MD-pattern es 2
continuando con A3
del subconnunto, no
hay MD-patterns
(*,2,*)

Ejemplo
III. Repetir el proceso Id A1 A2 A3 Ítems
del paso I, 1 a 1 m x, y, z
comenzando por el
3 a 2 m x, z, w
atributo A3 (A1 y A2
2 b 2 n z, w
no son analizados)
4 c 3 p x, w
MD-pattern es m
continuando con A3
del subconjunto, no
hay MD-patterns
(*,*,m)

120
Ejemplo
‡ Minar los conjuntos frecuentes por cada
MD-pattern
‡ Otra forma: Minar primero conjuntos de
ítems frecuentes y después encontrar los
MD-patterns.

Bibliografía
‡Jiawei Han and Micheline Kamber.
“Data Mining: Concepts and Techniques”,
2006

121
Minería de Datos
II - 2007

Análisis
Supervisado I

122
Agenda
‡ Conceptos básicos de aprendizaje
maquinal

‡ Árboles de decisión y Reglas de Decisión

‡ Medidas de desempeño

Agenda
‡ Conceptos bá
básicos de aprendizaje
maquinal

‡ Árboles de decisión y Reglas de Decisión

‡ Medidas de desempeño

123
¿Qué es Aprendizaje de Máquina?

”Find a bug in a program, and fix it, and the


program will work today. Show the
program how to find and fix a bug, and the
program will work forever.”
Oliver G. Selfridge, AI’s Greatest Trends and
Controversies

¿Qué es Aprendizaje de Máquina?


‡ Estudio y desarrollo de sistemas que
aprenden
‡ Sistema que aprende: Sistema capaz de
optimizar una función de desempeño
basado en datos de entrenamiento y/o
datos previos
‡ Elemento fundamental para el aprendizaje
-> generalización (extracción de patrones a
partir de datos)

124
¿Por Qué Usar Aprendizaje de
Máquina?
‡ Hay Múltiples tareas para las cuales es
difícil o imposible programar un
computador (de manera convencional):
„ Problemas para los cuales no existen expertos
humanos
„ Problemas para los que existen expertos
humanos, pero no puede explicar su expertisia
„ Problemas donde fenómenos cambian de
manera rápida
„ Aplicaciones que deben ser personalizadas para
cada usuario particular

Áreas de Aplicación del


Aprendizaje de Máquina
‡ Reconocimiento de patrones: procesamiento de
imágenes, visión artificial, patrones en series de tiempo
‡ Minería de datos: análisis de comportamiento de
clientes, extracción de información
‡ Bioinformática: detección de genes, relaciones entre
genes, diagnóstico genético
‡ Robótica: caminado adaptativo
‡ Recuperación de Información: motores de búsqueda,
sistemas de recomendación, recuperación por
contenido
‡ Deteccióon de anomalías: detección de fraudes,
seguridad computacional

125
Tipos de Aprendizaje

‡ Aprendizaje supervisado
‡ Aprendizaje no supervisado
‡ Aprendizaje semi-supervisado
‡ Aprendizaje activo (con refuerzo, en línea)

Aprendizaje supervisado
‡ Problema fundamental:
encontrar una función que
relacione un conjunto de
entradas con un conjunto
de salidas
‡ Tipos principales de
problemas:
„ Clasificación
„ Regresión

126
Aprendizaje No Supervisado (I)
‡ No hay etiquetas para los ejemplos
‡ Problema fundamental: encontrar la
estructura subyacente de un conjunto de
datos
‡ Ejemplos de problemas: Agrupamiento,
Compresión de Datos
‡ Pueden usarse algunos ejemplos con
etiquetas, en este caso es aprendizaje
semi-supervisado

Aprendizaje No Supervisado (II)

127
Aprendizaje Activo (por refuerzo)
‡ Generalmente se da en el contexto de un
agente actuando en un ambiente
‡ No se le dice explícitamente al agente si se
equivoca o no
‡ El agente es castigado o premiado (no
necesariamente de manera inmediata)
‡ Problema fundamental: definir una
política que permita maximizar el estímulo
positivo (premio)

Agenda
‡ Conceptos básicos de aprendizaje maquinal

‡ Árboles de decisión y Reglas de Decisión

‡ Medidas de desempeño

128
Aprendizaje con Árboles de Decisión
Problema: decidir si esperar por una mesa en un
restaurante, basándose en los siguientes atributos:
– Alternativa: ¿Hay un restaurante alternativo cercano?
– Bar: ¿Tiene un bar confortable para esperar?
– Viernes/Sábado: ¿Hoy es Viernes o Sábado?
– Hambre: ¿Estamos hambrientos?
– Clientes: número de personas en el restaurante (Ninguno,
Algunos, Lleno) (Ninguno, algunos, lleno)
– Precio: Rango de precios ($, $$, $$$)
– Lloviendo: ¿Está lloviendo afuera?
– Reservación: ¿Tuvimos que hacer reservación?
– Tipo: clase de restaurante (Francés, Italiano, Thai,
Hamburguesas)
– EsperaEstimada: tiempo estimado de espera (0-10, 10-
30, 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
Viernes/ Espera
¿Esperar?
Alternativa Bar Hambre Clientes Precio Lloviendo Reservación Tipo
Sábado Estimada

X1 V F F V Algunos $$$ F V Francés 0 - 10 V

X2 V F F V Lleno $ F F Thai 30 - 60 F

X3 F V F F Algunos $ F F Hamburguesas 0 - 10 V

X4 V F V V Lleno $ F F Thai 10 – 30 V

X5 V F V F Lleno $$$ F V Francés > 60 F

X6 F V F V Algunos $$ V V Italiano 10 - 30 F

X7 F V F F Ninguno $ V F Hamburguesas 0 - 10 F

X8 F F F V Lleno $ V V Thai 0 - 10 V

X9 F V V F Lleno $$$ V F Hamburguesas > 60 F

X10 V V V V Lleno $ F V Italiano 10 - 30 F

X11 F F F F Ninguno $ F F Thai 0 - 10 F

X12 V V V V Lleno $ F F Hamburguesas 30 - 60 V

Clasificación de ejemplos es positivo (V) o negativo (F)

Árboles de Decisión
‡ Una posible representación para las hipótesis
‡ Por ejemplo, este es el árbol “verdadero” para decidir si
esperar o no:
¿Clientes?
Ninguno Lleno
Algunos
¿EsperaEstimada?
F
V
>60 >30 -60 >10-60 >0-10
F ¿Alternativa? ¿Hambre? V

No Si No Si
¿Reservación ¿Viernes/Sábado? V ¿Alternativa?
?
No Si No Si No Si
¿Bar? V F V F V

No Si
F V

130
Expresividad
‡ Los Árboles de Decisión pueden expresar cualquier función de los atributos
de entrada.
‡ Por ejemplo, para funciones Booleanas, una fila de la tabla de verdad →
camino a la hoja:

A
A B AyB No Si
F F F B B
F V V No Si No Si
V F V F V F V

V V F

‡ Es trivial, que haya un árbol de decisión consistente para cualquier conjunto


de entrenamiento con un camino a la hoja para cada ejemplo (a menos que
f sea no-determinística en x) pero es probable que no generalice para
nuevos ejemplos.

‡ Es preferible encontrar árboles de decisión más compactos

Algoritmo para la Inducción de


Árboles de Decisión
‡ Algoritmo básico (Algoritmo avaro)

„ El árbol es construido de arriba hacia abajo


recursivamente de forma divide y vencerás.
„ Al comienzo, todos los ejemplos de entrenamiento están
en la raíz.
„ Los atributos son categóricos (en caso de atributos
continuos, se discretizan por adelantado)
„ Los ejemplos son repartidos recursivamente de acuerdo
con el atributo seleccionado
„ Los atributos de prueba son seleccionados en base a una
heurística o medida estadística (ej. ganancia de
información)

131
Condición de Parada
‡ Condiciones para detener el
particionamiento:

„ Todos los ejemplos para un nodo dado


pertenecen a una misma clase.

„ No hay cualidades restantes para mayor


particionamiento – la mayoría de votos es
usada para la clasificación de la hoja.

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

¿Clientes? ¿Tipo?

Lleno
Ninguno Algunos
Francés Italiano Thai Hamburguesas

‡ ¿Clientes? Es una buena opción

132
Información y Entropía (I)
‡ Cuando se contesta una pregunta se está
generando información
‡ La información ganada es equivalente a la
incertidumbre que se disipa (entropía).
‡ Suponga que se tiene un evento con dos resultados
alternativos (desconocidos), cuál es la situación de
máxima incertidumbre?

Información y Entropía (II)


‡ Medida de información: 1 bit = respuesta a una pregunta
Booleana con probabilidades (0.5,0.5)
‡ En general, la entropía de una situación dada es:

⎛ n

H ⎜ P1 ,..., Pn = ∑ − Pi log 2 Pi ⎟
⎝ i =1 ⎠
‡ Pi corresponde a la probabilidad de cada alternativa
‡ La información generada por la respuesta a una pregunta
corresponde a la diferencia entre el valor de la entropía antes y
después de responder la pregunta

133
Información y Entropía (III)
‡ La entropía es máxima cuando las
opciones son equiprobables

Ganancia de información de un
atributo
P(V)=0.5 P(F)=0.5
H= - p(V)log(P(V))- p(F)log(P(F))
= - 0.5*(-1) - 0.5*(-1)=1

Hnueva = 1/6*0 + 2/3*0 +0.5*0.91 = 0.45


¿Clientes Info = Hvieja - Hnueva = 1 – 0.45 = 0.55
?
Lleno
Ninguno Algunos

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 información
‡ Si Ei tiene pi positiva y ni ejemplos negativos entonces:

„ La cantidad de bits que se necesitan para clasificar un nuevo


ejemplo es:
⇒ H ( pi / ( pi + ni ), ni / ( pi + ni ) )
„ El número de bits por ejemplo sobre todas las ramas es:

p i + ni
∑ H ( pi / ( pi + ni ), ni / ( pi + ni ) )
i
p+n

‡ ¿Para clientes?
Son 0.459 bits, por Tipo sigue siendo 1 bit
⇒ Elegir el atributo que maximice la ganancia de información

Ejemplo
‡ Árbol de Decisión aprendido de 12 ejemplos:
¿Clientes?
Ninguno Lleno
Algunos
¿Hambre?
F No
V
Si
F
¿Tipo?
Francés Hamburguesas
Italiano
V ¿Viernes/Sábado? V
F
No Si
F V

‡ Sustancialmente más simple que un árbol de “verdad” –


una hipótesis más compleja no se justifica por el bajo
volumen de datos

135
Extracción de Reglas de
Clasificación

‡ Se representa el conocimiento en forma de reglas Si – Entonces


‡ Una regla es creada para cada camino desde la raíz a una hoja
‡ Cada par atributo – valor a lo largo de un camino forma una
conjunción.
‡ El nodo hoja mantiene la clase predicción
‡ Las reglas son fáciles de entender.
‡ Ejemplo:
IF clientes = “lleno” AND hambre = “no” THEN esperar = “no”
IF clientes = “algunos” THEN esperar = “si”
IF clientes = “lleno” AND hambre = “no” AND tipo =”italiano”

THEN esperar = “no”

Manejo de Atributos Continuos


‡ La idea es discretizar
‡ Partición binaria:
„ x <= x0 y x > x0
„ x0 es un valor que se debe encontrar
‡ División en intervalos
(binarización/cuantización)
‡ Agrupamiento

136
Notas Finales
‡ Hay diferentes tipos de algoritmos para
inducción de árboles de clasificación (ID3,
C4.5, C5.0, CART, etc.)
‡ Se pueden aplicar en muchos tipos de
problemas y en general los resultados son
satisfactorios
‡ Es un modelo altamente interpretable
‡ Tienen problemas cuando hay interacciones
complejas entre atributos

Agenda
‡ Conceptos básicos de aprendizaje
maquinal

‡ Árboles de decisión y Reglas de Decisión

‡ Medidas de desempeño

137
Evaluación de Algoritmos
‡ Criterios (dependiendo de la aplicación):
„ Error de clasificación o riesgo
„ Complejidad espacio/temporal del
entrenamiento
„ Complejidad espacio/temporal de la aplicación
„ Interpretabilidad
„ Programación sencilla

Medidas de Error
Clase Predicha
Clase verdadera + -
+ True Positive False Negative
- False Positive True Negative
‡ %error = #errores/#instancias = (FN+FP)/N
‡ sensitividad = #+ encontrados/#+ =
TP/(TP+FN) (recall,hit rate)
‡ precisión= #+ encontrados/ #total de
encontrados = TP/(TP+FP)
‡ especificidad = TN/(TN+FP)
‡ %falsas alarmas = FP/(FP+TN)

138
Matrices de Confusión
‡ Usadas cuando más de dos clases están
involucradas

Clase Predicha
Clase verdadera Setosa Virginica Versicolor
Setosa 50 0 0
Virginica 0 48 2
Versicolor 0 1 49

Bibliografía
‡ Stuart Russell and Peter Norvig
“Artificial Intelligence: A Modern
Approach”, Second Edition.

139
Minería de Datos
II - 2007

Análisis Supervisado II

140
Agenda
‡ Introducción.
‡ Redes Neuronales Artificiales.
„ Neurona Artificial.
„ Modelo de McColluch-Pitts.
„ Definición de RN.
„ Clasificación.

Agenda
‡ Aprendizaje o Entrenamiento
„ Definiciones Básicas
„ Clasificación de Algoritmos de Aprendizaje
‡ Redes Multicapa
„ El Perceptrón
„ Back Propagation

141
Agenda
‡ Introducción.
‡ Redes Neuronales Artificiales.
„ Neurona Artificial.
„ Modelo de McColluch-Pitts.
„ Definición de RN.
„ Clasificación.

INTRODUCCIÓN
‡ ¿Qué son las Redes Neuronales?.
‡ Bases Biológicas.
‡ Historia.
‡ Características.
‡ Aplicaciones.

142
¿Qué son las
Redes Neuronales?
‰ Las Redes Neuronales son modelos
artificiales de las Redes Neuronales
Biológicas .
‰ Están constituidas por innumerables
unidades procesadoras, llamadas
neuronas, las cuales se interconectan a
través de conexiones.

Una Red Neuronal

143
Bases Biológicas
‡ El Cerebro es un sistema supremamente
complejo.
‡ El cerebro humano esta compuesto por
cerca de 1011 neuronas (100.000
Millones), con un tamaño de 5-100
micrómetros.
‡ Es el dispositivo de computo más
poderoso que existe.
‡ Le ha tomado a la naturaleza 4.000
Millones de años desarrollarlo.

La Neurona Biológica

144
La Neurona Biológica
z DENDRITAS:
Recogen señales bien
procedentes de otras
neuronas, bien del
mundo externo y las
transmiten al cuerpo
de la neurona

La Neurona Biológica
‡ CUERPO: Recibe las
señales de todas las
dendritas y según la
tipología de la
neurona en si,
determina una
respuesta global.

145
La Neurona Biológica
‡ AXON: Transmite la
respuesta global
generada por el
cuerpo de la neurona.
La respuesta se
transmite a otras
neuronas o a algún
miembro receptor
(músculo, etc...)

La Neurona Biológica
‡ SINAPSIS: Es el punto de
unión entre dos neuronas
(dendrita - axón). El
impulso transmitido por el
axón se transmite así a
otras neuronas,
determinando el
comportamiento general
de la red.

146
Historia
‰ 1943 Modelo de Neurona de McCulloch y
Pitts
‰ 1962 Algoritmo de Entrenamiento para
Perceptrones, Rosenblatt
‰ 1969 Limitaciones del Perceptron, Minski y
Papert
‰ 1986 Algoritmo BackPropagation
Rumelhart, Hinton y Willians

Características

‡ ¿Qué son capaces de hacer?


„ Reconocimiento de Patrones
„ Síntesis Funcional: relaciones entre
varias entradas continuas y una o más
salidas continuas

147
Computación Convencional
Vs. Neurocomputación
NeuroComputación Com. Convencional
‰ Entrenamiento, aprendizaje ‰ Programación
‰ No se separa la memoria y el ‰ Memoria y procesamiento separados
procesamiento
‰ Secuencial o serial, síncrona
‰ Paralela (Discreto o Continuo),
asíncrona ‰ No tolerante a fallos
‰ Tolerante a fallas ‰ Dependiente del software
‰ Auto-organización ‰ Garbage in - Garbage out (si entra
‰ Acepta entradas con ruido o difusas basura, sale basura)

Aplicaciones
‰ Visión por Computador
‰ Reconocimiento de la Escritura
‰ Reconocimiento y síntesis de la Voz
‰ Control de Procesos
‰ Diagnostico Médico
‰ Exploración Petrolera
‰ Minería de Datos

148
Agenda
‡ Introducción.
‡ Redes Neuronales Artificiales.
„ Neurona Artificial.
„ Modelo de McColluch-Pitts.
„ Definición de RN.
„ Clasificación.

Neurona Artificial
Definición:
‡ Unidad de procesamiento encargada de
simular el comportamiento de una
neurona biológica.
‡ Modelo matemático que trata de emular
de manera simplificada el comportamiento
de una neurona biológica

149
Agenda
‡ Introducción.
‡ Redes Neuronales Artificiales.
„ Neurona Artificial.
„ Modelo de McColluch-Pitts.
„ Definición de RN.
„ Clasificación.

MODELO McCULLOCH-
PITTS
‡ 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 McCULLOCH-
PITTS
n
1 w
i1
n
2
F

Σ
w n
i2 i i

n w
j ij

MODELO McCULLOCH-
PITTS
‡ Función de Activación:

f(x)= 1 si x >= u
0 si x<u
u
Función umbral

151
MODELO McCULLOCH-
PITTS
‡ Ejemplo:

0.5
0.1
-0.2 0.03
0.2
0.1 Σ 1

0
0.2

Otras funciones

Función umbral Función lineal a trozos

Función sigmoide Función Gausssiana

152
Red Neuronal Artificial
La interconexión de varias unidades de
procesamiento (neuronas), forman Redes
Neuronales Artificiales. Las cuales toman entradas,
las procesan y emiten salidas.

Neuronas

Conexiones

Ejemplo
‡ Red XOR
μ=0.7

Σ
0.5
1 1
0.5 μ=0
Σ 1
0.5
Σ
1 -1
0.5
μ=0.3

153
Agenda
‡ Introducción.
‡ Redes Neuronales Artificiales.
„ Neurona Artificial.
„ Modelo de McColluch-Pitts.
„ Definición de RN.
„ Clasificación.

Clasificación
Según la topología:
–Redes feedforward
„Perceptrón simple
„Perceptrón multicapa
„Redes con funciones de base radial

–Redes recurrentes feedback


„Redes competitivas
„Red Kohonen
„Red Hopfield
„Modelos ART

154
Clasificación
„ Red Feedforward
Neuronas de salida

Neuronas

ocultas

Neuronas de entrada

Clasificación
‡ Red Recurrente:

155
Agenda
‡ Aprendizaje o Entrenamiento
„ Definiciones Básicas
„ Clasificación de Algoritmos de
Aprendizaje
‡ Redes Multicapa
„ El Perceptrón
„ Back Propagation

Tipos de Aprendizaje
‡Supervisado:
Este tipo de algoritmo utiliza un conjunto de
ejemplos que la red debe aprender. El
entrenamiento se lleva a cabo mediante un
proceso iterativo de adaptación de la red neuronal
de manera que sus salidas se acerquen cada vez
más a las salidas deseadas especificadas en los
ejemplos.

156
Tipos de Aprendizaje
‡No supervisado:
En este tipo de algoritmos no se especifican
salidas deseadas, el algoritmo trata de encontrar
de manera autónoma regularidades en los datos
de entrada creando categorías que agrupen a los
datos más similares.
‡Con refuerzo:
La red aprende a través de un proceso de
ensayo y error que maximiza el índice de
desempeño denominado señal de error.

Clasificación
Tipo de Regla de Algoritmos mas
aprendizaje aprendizaje utilizados
S u p e r v is a d o C o r r e c c ió n d e B ack
e rro r P r o p a g a tio n
B o ltz m a n n A d a lin e y
H e b b ia n M a d a lin e
C o m p e titiv o
No C o r r e c c ió n d e A p r e n d iz a je
s u p e r v is a d o e rro r c o n m e m o r ia
H e b b ia n a s o c ia tiv a
C o m p e titiv o
H íb r id o C o r r e c c ió n d e A lg o r itm o d e
e rro r y a p r e n d iz a je
c o m p e titiv o RBF

157
Ley de Hebb
‡ Experimento de Pavlov

Sonido
A
Señal de salivación
B
Comida
C

Ley de Hebb
Idea principal sobre la cual se basa esta ley:

“Cuando un axón de la célula A está suficientemente


próximo para excitar a una célula B o toma parte en su
disparo de forma persistente, tiene lugar algún proceso de
crecimiento o algún cambio metabólico en una de las
células, o en las dos, de tal modo que la eficiencia de A,
como una de las células que desencadena el disparo de B,
se ve incrementada.”

158
Técnica del Gradiente Descendente

‡ Calcular el valor de la función en el


punto y=f (x0)
‡ Calcular el nuevo valor de xi como el
valor anterior mas el gradiente de la
función.
yi+1 = yi+Δyi

Técnica del Gradiente Descendente

‡ El gradiente de la función se calcula como


la derivada parcial de la función con
respecto al punto xi.
‡ El gradiente es igual a:
Δyi= -∂ f /∂xi

159
Técnica del Gradiente Descendente
‡ La técnica de gradiente descendente es un
procedimiento iterativo que busca
minimizar una función moviéndose en la
dirección opuesta al gradiente de dicha
función.

Técnica del Gradiente Descendente

mínimo
local
mínimo
global

160
Rata de Aprendizaje

‡ Determina el tamaño del paso que utiliza


el algoritmo, para moverse en el espacio
de los pesos. Un valor muy pequeño para
este parámetro puede provocar una
convergencia muy lenta, así como un
valor muy alto puede provocar un
comportamiento divergente.

Momento

‡ El momento, da al algoritmo una especie


de inercia que le permite evadir en ciertos
casos los mínimos locales.
‡ Con este momento se consigue la
convergencia de la red en un número
menor de iteraciones.

161
Patrones de entrenamiento
‡ Un patrón es una pareja de vectores X y Y de
longitud n y m respectivamente:
X = (x1, x2, x3, .. , xn)
Y= (y1, y2, y3, .. , ym)
donde xi corresponde a un valor para la
neurona de entrada i y yj es el valor deseado
de la neurona de salida j.

Agenda
‡ Aprendizaje o Entrenamiento
„ Definiciones Básicas
„ Clasificación de Algoritmos de Aprendizaje
‡ Redes Multicapa
„ El Perceptrón
„ Back Propagation

162
El Perceptrón
‡ Definición:
Es una red neuronal feedforward que
consta de dos capas, una de entrada y una
de salida.
‡ En sus inicios se consideró que podía
resolver todo tipo de problemas. Sin
embargo no es posible resolver el
problema XOR con este modelo.

El Perceptrón

x1 y1

x2 y2

. .
. .

xi yi

163
El Perceptrón
‡ Regla de Aprendizaje
1. Inicialización de los pesos y del
umbral:

Inicialmente se asignan valores


aleatorios a cada uno de los pesos (wi)
de las conexiones y al umbral (-w0=θ)

El Perceptrón
2. Presentación de un nuevo par
(Entrada, Salida esperada):

Presentar un nuevo patrón de entrada


Xp=(x1,x2,...,xN) junto con la salida
esperada d(t).

164
El Perceptrón
3. Cálculo de la salida actual

y(t)=f [Σwi(t)xi(t)-θ]
i
Siendo f (x) la función de transferencia
escalón.

El Perceptrón
4. Adaptación de los pesos :

wi (t + 1) = wi (t ) + Δwi (t )
⎧2η xi (t ) y (t ) si y (t ) ≠ d (t )⎫
Δwi (t ) = ⎨ ⎬
⎩0 en otro caso ⎭
Δwi (t ) = η(1 − y (t )d (t ))

165
El Perceptrón
Δwi(t)=η[d(t)-y(t)] xi(t)
(0<=i<=N)
donde η es la rata de aprendizaje y
varia entre 0 y 1.

5. Repertir desde el paso 2.

Algoritmo entrenamiento del


Perceptrón
1. Inicializar los pesos y umbrales para valores
aleatorios pequeños.
2. Presentar un patrón y evaluar la salida de la
neurona.
3. Calcular la salida actual.

yi(t)=f (Σwi(t)xi(t)-θ)
4. Actualizar los pesos de acuerdo a:

wij (t+1)=wij(t)+η(di(t)-yi(t))xj
donde η es la rata de aprendizaje y varia
entre 0 y 1.

166
Separabilidad de patrones
Función AND Función XOR
linealmente separable No separable
linealmente

01
11
01 11

00 10 00 10

Redes Multicapa
Definición:
‡ Conformadas por una capa de entrada,
una o varias ocultas y una de salida, sus
conexiones no deben formar ciclos.
‡ Feedforward: Conexión completa entre
capas sucesivas.
‡ Pueden utilizar funciones de activación
tales como la sigmoide y la función
umbral.

167
Redes Multicapa
Neuronas de salida

Neuronas

ocultas

Neuronas de entrada

Algoritmo de Retropropagación (Back


Propagation)

‡ Para entrenar redes multicapa.


‡ Requiere que la función de activación sea
derivable y creciente.
„ Usualmente sigmoides (logística y la tangente
hiperbólica).
‡ A minimizar función de error (cuadrático medio),
cuyo dominio es el espacio de los pesos de las
conexiones:

E = 1 / 2∑( y -d )
2
p pk pk
k

168
Algoritmo de Retropropagación (Back
Propagation)

‡ El algoritmo trabaja de la siguiente


forma:
„ Presenta un patrón de entrada a la Red
neuronal.
„ Propaga dichas entradas hasta la capa de
salida.
„ Calcula el error en la capa de salida.
„ Propaga dicho error hacia las neuronas
ocultas (hacia atrás).
„ Cambia los pesos de las conexiones.

Algoritmo de Retropropagación (Back


Propagation)
‡ El procedimiento se hace para todos los
patrones iterativamente hasta que la red
converja a un valor del error deseado.

Error

SE

169
Algoritmo de Retropropagación (Back
Propagation)

‡ Pasos del algoritmo:


„ Inicializar los pesos con pequeños valores
aleatorios.
„ Escoger aletoriamente un patrón de entrada
x.
„ Propagar la señal hacia adelante.
- Calcular el error en la capa de salida

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

Algoritmo de Retropropagación (Back


Propagation)
„ Propagar dicho error hacia las neuronas
ocultas (hacia atrás).

δj(t)=f ’(xi(t))*(Σw
i ijδi(t))

– Actualizar los pesos utilizando:

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

170
Algoritmo de Retropropagación (Back
Propagation)

Δwji(t+1) = [ηδjyi(t)+αΔwji(t)]

– Repetir desde el paso 2 hasta alcanzar el


error deseado

Generalización y sobre ajuste


‡ Error de clasificación
‡ Control del sobre-ajuste
‡ Complejidad del modelo

171
Error de Clasificación
‡ Error de entrenamiento:
„ e(modelo, datos)
„ Número de ejemplos de entrenamiento
clasificados incorrectamente
„ Conocido como error de re-substitución o error
aparente
‡ Error de generalización:
„ e’(modelo, datos)
„ Error esperado del modelo en ejemplos no
usados en el entrenamiento.
‡ Un buen modelo debe tener errores de
entrenamiento y generalización bajos

Sobre-ajuste (Overfitting)
‡ Cuando el algoritmo de aprendizaje se ajusta
tanto a los datos de entrada que pierde su
capacidad de generalizar

‡ El error de cálculo de los ejemplos futuros será


alto

172
Sobre-ajuste
‡ Sobre-ajuste: Bajo error de entrenamiento pero
error de generalización alto.
‡ Sub-ajuste (underfitting): Errores de
entrenamiento y generalización altos
Sub-ajuste
Sobre-ajuste

Error de Generalización

Error de Entrenamiento
Parámetro modelo

Causas sobre-ajuste:
Presencia Ruido

Ruido

La frontera de decisión es distorsionada por el ruido

173
Causas sobre-ajuste:
Falta de Ejemplos Representativos

Puntos mal
clasificados

La falta de ejemplos en la parte inferior del diagrama hace difícil que


el modelo realice una predicción acertada en esta región

Causas sobre-ajuste:
Procedimiento múltiple comparaciones
‡ Al comparar alternativas independientes y
seleccionar la mejor
‡ Ejemplo:
„ Predecir cuando la demanda se incrementara o reducirá en
los siguientes 10 días.
„ Analista aleatorio: Su probabilidad de acertar en 8 o mas
días es
( c(10,8) + c(10,9) + c(10,10) )/ 210 = 0.0547
„ Seleccionar uno de entre 50 analistas aleatorios, la
probabilidad de que uno de ellos acierte en 8 o mas días es:
1 – (1-0.0547)50 = 0.9399

174
Estimación del error de
Generalización
‡ Estimación optimista: Usando re-
substitución
e’(modelo, datos) = e(modelo, datos)
‡ Incorporando la complejidad del modelo –
Cuchilla de Occam
e’(modelo, datos)=
e(modelo, datos)+costo(modelo, datos)
„ Estimación pesimista
„ Principio MDL (Descripción de mínima longitud)

Descripción de Mínima Longitud


(MDL)
A?
X y Yes No
X y
X1 1 0 B? X1 ?
X2 0 B1 B2
X2 ?
X3 0 C? 1
A C1 C2 B X3 ?
X4 1
0 1 X4 ?
… …
Xn
… …
1
Xn ?

‡ costo(modelo,datos) =
costo(datos|model) + costo(modelo)
„ Costo es medido en el numero de bits necesarios para
su codificación.
„ El problema es el de buscar el modelo de menor costo.
‡ costo(datos|modelo) para codificar los errores
de clasificación.
‡ costo(modelo) para codificar el modelo.

175
Métodos de Estimación
‡ Holdout
„ Mantener un porcentaje de instancias (2/3) para entrenamiento y el resto
(1/3) para pruebas
„ Se sugiere que el de entrenamiento sea mayor que el de pruebas
‡ Muestreo Aleatorio
„ Repetir varias veces holdout y calcular estadísticos sobre dicho proceso
„ Se sugiere repetir como mínimo 30 veces
‡ Validación Cruzada (Cross validation)
„ Partir el conjunto de datos en k subgrupos disjuntos
„ k-fold: entrenar con k-1 subgrupos, validar con el restante. Repetir
usando cada grupo en validación
„ Dejar uno afuera (Leave-one-out): k=n
‡ Muestreo Estratificado
„ sobremuestreo vs submuestreo
‡ Bootstrap
„ Muestreo con repetición

Complejidad del modelo


‡ Parámetro que controla lo complejo del
modelo
‡ En árboles de decisión (tamaño)
„ Pre-podado
„ Post-podado
‡ En redes neuronales
„ Número neuronas ocultas y/o conexiones
„ Tipo de red neuronal

176
Bibliografía
‡ Neural Networks: A Comprehensive
Foundation, Simon Haykin
Neural Networks: Algorithms,
Applications, and Programming
Techniques,
James A. Freeman, David M. Skapura

Notas

177
Minería de Datos
II - 2007

Análisis Supervisado III


Modelos Probabilísticos

178
Agenda
‡ Repaso de probabilidad
‡ Modelos Bayesianos
‡ Clasificador Bayesiano
‡ Naive Bayes
‡ Red de creencias
‡ Clasificación sensible al costo

Agenda
‡ Repaso de probabilidad
‡ Modelos Bayesianos
‡ Clasificador Bayesiano
‡ Naive Bayes
‡ Red de creencias
‡ Clasificación sensible al costo

179
Probabilidad
‡ Formalización de la noción intuitiva de la
posibilidad de que un evento ocurra
# de Veces que sucede E
P (E ) =
# Posibles Eventos
‡ Cuál es la probabilidad de obtener el número 6 si
lanzo un dado?
‡ Cuál es la probabilidad de obtener 10 o más si
lanzamos dos dados?
‡ Variable aleatoria: una variable que puede tomar
diferentes valores de acuerdo con una distribución
de probabilidad

Probabilidad Conjunta
‡ Es la probabilidad de que dos eventos
sucedan a la vez:
P(X=x,Y=y)
probabilidad de que X y Y tomen los
valores x y y a la vez

‡ P(dado_1=4,dado_2=6) = ?

180
Probabilidad Condicional
‡ Probabilidad de que una variable aleatoria
pueda tomar un valor particular dado el
valor de otra variable aleatoria

P(Y=y | X=x)

‡ se refiere a la probabilidad que la variable


Y puede tomar el valor de y dado que la
variable X toma el valor de x

Probabilidad Condicional
‡ ¿Cuál es la probabilidad de obtener 10 al
lanzar un par de dados si sé que uno de los
dados cayo en 4?
suma = dado_1 + dado_2
P(suma=10 | dado_1=4) = ?

181
Teorema de Bayes
‡ Las probabilidades condicionales de X y Y
están relacionadas:
P(X,Y) = P(Y|X) P(X) = P(X|Y) P(Y)
‡ Teorema de Bayes
P(Y|X) = P(X|Y)·
P(X|Y)·P(Y) / P(X)
‡ Ejercicio
2 equipos. Equipo 0 gana el 65% de las veces, equipo 1
gana 35% de las veces. De los juegos ganados por el
equipo 0, el 30% son jugados en la cancha del equipo
1. El 75%, de las victorias del equipo 1 son ganados
cuando juegan en casa. Si el equipo 1 juega de local,
cuál equipo es el favorito a ganar?

Agenda
‡ Repaso de probabilidad
‡ Modelos Bayesianos
‡ Clasificadores Bayesiano
‡ Naive Bayes
‡ Red de creencias
‡ Clasificación sensible al costo

182
Clasificador Bayesiano
‡ Considere que cada atributo y la etiqueta
de clase son variables aleatorias
‡ Dado un registro con atributos (A1,
A2,…,An)
‡ El objetivo es predecir la clase C
‡ Específicamente, nosotros deseamos
encontrar el valor de C que maximice
P(C| A1, A2,…,An )
‡ Podemos estimar P(C| A1, A2,…,An )
directamente a partir de los datos?

Solución
„ calcule la probabilidad a posteriori P(C | A1, A2,
…, An) para todos los valores de C usando el
teorema de Bayes:
P ( A1 A2 ... An | C ) P (C )
P(C | A1 A2 ... An ) =
P ( A1 A2 ... An )

„ Escoja el valor de C que maximice


P(C | A1, A2, …, An)
„ Equivalente a escoger el valor de C que
maximice
P(A1, A2, …, An|C) P(C)
„ Cómo se estima P(A1, A2, …, An | C )?

183
Problema de tomar una decisión
Dada las condiciones del clima, es posible jugar
tenis? Outlook Temperature Humidity Windy Class
sunny hot high false N
sunny hot high true N
overcast hot high false P
rain mild high false P
rain cool normal false P
rain cool normal true N
overcast cool normal true P
sunny mild high false N
sunny cool normal false P
rain mild normal false P
sunny mild normal true P
overcast mild high true P
overcast hot normal false P
rain mild high true N

Agenda
‡ Repaso de probabilidad
‡ Modelos Bayesianos
‡ Clasificadores Bayesiano
‡ Naïve Bayes
‡ Red de creencias
‡ Clasificación sensible al costo

184
Clasificador Naïve Bayes
‡ Asume independencia entre los atributos Ai cuando
la clase es dada:
„ P(A1, A2, …, An |C) = P(A1| Cj) P(A2| Cj)… P(An| Cj)

„ Se debe estimar P(Ai| Cj) para todo Ai y Cj.

„ Un nuevo ejemplo es clasificado como Cj si P(Cj)


Π P(Ai| Cj) es máximo.

¿Cómo Estimar las Probab.


a Partir de los Datos?

185
¿Cómo Estimar las Probab.
a Partir de los Datos?
‡ Para atributos continuos:
„ Discretizar: el rango en bins
‡ un atributo ordinal por bin
‡ viola la suposición de independencia
„ Separación: (A < v) o (A > v)
‡ Escoger solo uno de los dos intervalos como nuevo
atributo
„ Estimación de la distribución de probabilidad:
‡ Asuma que el atributo tiene una distribución normal
‡ Use los datos para estimar los parámetros de la
distribución (ej.,media y desviación estándar)
‡ Una vez que la distribución de probabilidad se
conoce, se puede usar para estimar P(Ai|c)

Cómo Estimar las Probab.


a Partir de los Datos?
‡ Distribución normal:
( Ai − μ ij ) 2

1 2 σ ij 2
P ( Ai | C ij ) = e
2π σ ij
„ Uno por cada par (Ai,ci)
‡ Para (Income, Class=No):
„ Si Class=No
‡ media muestral = 110
‡ varianza muestral = 2975

(120 −110 ) 2
1 −
P ( Income = 120 | No ) = e 2 ( 2975 )
= 0 .0072
2π * 54 .54

186
Ejemplo del Clasificador Naïve
Bayes
X = (Re fund = No, Married , Income = 120 K )

z P(X|Class=No) = P(Refund=No|Class=No)
× P(Married| Class=No)
× P(Income=120K| Class=No)
= 4/7 × 4/7 × 0.0072 = 0.0024

z P(X|Class=Yes) = P(Refund=No| Class=Yes)


× P(Married| Class=Yes)
× P(Income=120K| Class=Yes)
= 1 × 0 × 1.2 × 10-9 = 0

Puesto que P(X|No)P(No) > P(X|Yes)P(Yes)


entonces P(No|X) > P(Yes|X)
=> Clase = No

Clasificador Naïve Bayes


‡ Si una de las probabilidades condicionales
es 0, entonces toda la expresión se vuelve
0
‡ Estimación de la probabilidad:
N
Original : P ( Ai | C ) = ic c: número de clases
Nc
p: probabilidad a priori
N ic + 1
Laplace : P( Ai | C ) = m: parámetro
Nc + C
N + mp
m − estimate : P ( Ai | C ) = ic
Nc + m

187
Naïve Bayes
(Recapitulación)
‡ Robusto a ejemplos ruidosos
‡ Maneja valores faltantes simplemente
ignorando la instancia durante los cálculos
de la estimación de probabilidad
‡ Robusto a atributos irrelevantes
‡ La suposición de independencia puede no
cumplirse para algunos atributos:
„ Se deben usar otras técnicas tales como redes
de creencias Bayesianas

Agenda
‡ Repaso de probabilidad
‡ Modelos Bayesianos
‡ Clasificadores Bayesiano
‡ Naive Bayes
‡ Red de creencias
‡ Clasificación sensible al costo

188
Bayesian Belief Networks
Redes de Creencias Bayesianas
‡ Modelar la probabilidad condicional de
clases P(X|Y) sin el supuesto de
independencia
‡ Permite especificar qué par de atributos
son condicionalmente dependientes
‡ Pasos:
„ Representación y construcción del modelo
„ Estimación de probabilidades condicionales
„ Inferencia sobre el modelo

Red de Creencias
‡ Un modelo gráfico de relaciones causales:
„ Representan dependencia condicional entre las variables
„ Variables no explícitamente relacionadas se consideran
condicionalmente independientes

‰ Nodos: variables aleatorias


‰ Enlaces: dependencias
X Y
‰ X y Y son los padres de Z, y Y es el
padre de P
Z
P ‰ No hay dependencia entre Z y P
‰ No tiene bucles o ciclos

189
Ejemplo Red de Creencia
Historia Tabla de probabilidad condicional
Fumador
Familiar (TPC) para la variable cáncer de
pulmón:
(HF, F) (HF, ~F) (~HF, F) (~HF, ~F)

CP 0.8 0.5 0.7 0.1


Cáncer de
Efisema ~CP 0.2 0.5 0.3 0.9
pulmón

La derivación de la probabilidad de
una combinación particular de valores
Rayos X de X, desde TPC:
Dipnea n
P( x1 ,..., xn ) = ∏ P( xi | Padres(Yi ))
Positivos

i =1
P( HF , F , CP, E , RXP, D) =
P( HF | P( F ) P(CP | HF , F ) * P( E | F ) P( RXP | CP ) P( D) | CP, E )

Inferencia
‡ Diagnosticar si una persona tiene Cáncer
de Pulmón:
„ Sin información previa: P(CP)
„ Rayos X Positivos: P(CP|RXP)
„ Rayos X Positivos, Fumador, No Dipnea:
P(CP|RXP,F,~D)
‡ En todos los casos se puede calcular
usando la probabilidad conjunta total y las
leyes de probabilidad

190
Entrenamiento de Redes
Bayesianas
‡ Varios escenarios:
„ Dando la estructura de la red y todas las variables
observables: aprende solo las TPCs.
„ La estructura de la red se conoce, algunas variables
están ocultas: método del gradiente descendente
(greedy hill-climbing), análogo al aprendizaje neural de
la red.
„ La estructura de la red es desconocida, todas las
variables son observables: buscar a través del espacio
del modelo para reconstruir la topología de la red.
„ Estructura desconocida, todas las variables están
ocultas: no se conocen buenos algoritmos para éste
propósito.
‡ Ref. D. Heckerman: Bayesian networks for data
mining

Características
‡ Modelo grafico
‡ Construir la red puede ser costoso. Sin
embargo, una vez construida la red,
adicionar una nueva variable es directo
‡ Trabajan bien con datos perdidos
(sumando o integrando las probabilidades)
‡ El modelo es robusto a overfitting

191
Agenda
‡ Repaso de probabilidad
‡ Modelos Bayesianos
‡ Clasificadores Bayesiano
‡ Naive Bayes
‡ Red de creencias
‡ Clasificación sensible al costo

Clasificación Sensible al
Costo
Area Ejemplo

Marketing … Comprador / no Comprador

Medicina … Enfermo / no Enfermo

Finanzas … Prestar / no Prestar


Spam
… 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 pequeña 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 más


costoso que aceptar correo Spam

Matriz de Costos

Actual
Sunny Snowy Rainy
Sunny 0 10 15
Predicted

Snowy 1 1 11
Rainy 2 2 2

Fuente: Zadrozny y Abrahams

193
Costos Dependientes
Fraude con Tarjeta de Crédito
Real
Predicho Fraude No fraude
Rechazo 20 - 20
Aprobar -x (0.2)x

x = valor transación

Fuente: Aprahams

Aprendizaje Sensitivo al Costo


‡ Aprendizaje no sensitivo al costo:
max
Ci P (C j | A1 ,..., An )
‡ Aprendizaje sensitivo al costo:
„ Escoger acción que minimice el costo esperado
min
Ci ∑ P(C
C j ≠ Ci
j | A1 ,..., An )Costo(C j , Ci )

„ Costo(Cj,Ci) = costo de clasificar como Ci cuando realmente


es Cj
‡ Los dos enfoques son equivalentes cuándo los costos son iguales
para todos los errores

194
Metacost
‡ Es una algoritmo que permite volver
cualquier clasificador sensitivo al costo
‡ Se debe especificar una matriz de costos
‡ El algoritmo reetiqueta los ejemplos de
entrenamiento de manera que el costo
esperado se minimice

Ejemplo
‡ Objetivo
P(Y=1|X=1) probabilidad condicional de que el
equipo 1 gane el siguiente juego estando como local,
y comparar con P(Y=0|X=1)
‡ Usando Bayes
P(Y=1|X=1) = P(X=1|Y=1) P(Y=1)/ P(X=1) Ley de probabilidad total
= P(X=1|Y=1) P(Y=1) / P(X=1,Y=1)+P(X=1,Y=0)
= P(X=1|Y=1) P(Y=1) / P(X=1|Y=1)P(Y=1) +P(X=1|Y=0)P(Y=0)
= 0.75x0.35/(0.75x0.35 + 0.3x0.65) = 0.5738
‡ P(Y=0|X=1) = 1 - P(Y=1|X=1) = 0.4262

Equipo1 tiene mas oportunidad de ganar

195
Ejemplo
‡ X variable aleatoria que representa el equipo local
‡ Y variable aleatoria que representa el ganador
‡ Probabilidad que equipo 0 gane: P(Y=0) = 0.65
‡ Probabilidad que equipo 1 gane: P(Y=1) = 0.35
‡ Probabilidad de que si el equipo 1 gana esté
jugando como local:
P(X=1|Y=1) = 0.75
‡ Probabilidad de que si el equipo 0 gana esté
jugando como visitante:
P(X=1|Y=0) = 0.3

Bibliografía
‡ B. Zadrozny, J. Langford, and N. Abe. Cost-
Sensitive Learning by Cost-Proportionate
Example Weighting. In Proceedings of the
2003 IEEE International Conference on
Data Mining, 2003.
‡ Alpaydin, E. 2004 Introduction to Machine
Learning (Adaptive Computation and
Machine Learning). The MIT Press.
‡ Tan, Steinbach and Kumar, Introduction to
Data Mining, Addison Wesly, 2006

196
Bibliografía
‡ Domingos. MetaCost: A General Method for
Making Classifiers Cost-Sensitive. In
Proceedings of the Fifth International
Conference on Knowledge Discovery and
Data Mining (KDD-99). 1999.
‡ Alan Abrahams, An Introduction to Cost-
Sensitive Learning , Lecture Slides,
http://opim.wharton.upenn.edu/~asa28/opi
m_410_672_spring05/opim_410_guest_lect
ure_dan_fleder_cost_sensitive_learning.ppt

NOTAS

197
Minería de Datos
II - 2007

Regresión y Series
de Tiempo

198
Agenda
‡ Regresión
‡ Series de tiempo

Agenda
‡ Regresión
‡ Series de tiempo

199
Regresión
‡ Similar al problema de
clasificación pero el atributo
de clase es continua
‡ Problema:encontrar una
relación funcional entre una
variable dependiente y uno o
varias variables
independientes
‡ Tipos:
„ Regresión lineal
„ Regresión no lineal
„ Otros: regresión logísitica,
árboles de decisión

Regresión Lineal Simple


‡ Involucra una variable dependiente Y (o de respuesta) y una
variable independiente X (o predictora)
y = w0 + w1 x
en donde w0 (intercepto) y w1 (pendiente) son coeficientes
de regresión
‡ Método de mínimos cuadrados: estima la línea que mejor
ajuste los datos
|D |

∑ (x
i=1
i − x )(y i − y )
w0 = y −w1x
w1 = |D |

∑ (x
i=1
i − x )2

200
Regresión Lineal Multivariada
‡ Involucra más de una variable independiente
‡ Los datos de entrenamiento tienen la forma:
(X1, y1), (X2, y2),…, (X|D|, y|D|) en donde
Xi=(Xi1,..,Xin)
‡ Por ejemplo, para datos 2-D, se tiene
y = w0 + w1 x1+ w2 x2
‡ Se puede resolver extendiendo el método de
mínimos cuadrados
‡ Muchas funciones no lineales se pueden
transformar en este modelo

Regresión no lineal
‡ Algunos modelos no lineales se pueden modelar
con una función polinomial
‡ Un modelo de regresion polinomial puede
transformarse en un modelos de regresión lineal:
y = w0 + w1 x + w2 x2 + w3 x3
convertible a lineal con nuevas variables: x2 = x2,
x3= x3
y = w0 + w1 x + w2 x2 + w3 x3
‡ Otras funciones, ej. logaritmos, pueden
transformarse en modelos lineales
‡ Principal problema: se debe conocer/suponer la
forma del modelo a priori

201
Regresión no Lineal
‡ Solución: usar un modelo no paramétrico
(o semiparamétrico)
‡ Redes neuronales:
„ Neuronas de entrada: variables independientes
„ Neuronas de salida: variables dependientes

Regresión Logística
‡ Objetivo: usar regresión para estimar la
probabilidad
P(Y|X1,...,Xn) = g(w0+w1X1+...+wnXn)
‡ g() es una función sigmoide, usualmente la
función logísitica:

g (x ) =
1
1+ e − x

202
Agenda
‡ Regresión
‡ Series de tiempo

Series de Tiempo
‡ Base de Datos de Series de Tiempo
„ Consiste en secuencias de valores o eventos que cambian con
el tiempo
„ Los datos son almacenados en intervalos regulares
„ Componentes principales de una serie de tiempo:
‡ Tendencia, ciclo, estacional. irregular

‡ Aplicaciones
„ Finanzas: inventarios, precio, inflación
„ Industria: consumo de energía
„ Ciencia: resultados de experimentos
„ Metereología: precipitación

203
Series de Tiempo

‡ Una serie de tiempo puede ser ilustrada como una


gráfica que describe un punto que se mueve a
través del tiempo.

Categorías de Movimientos de
Series de Tiempo
‡ Tendencia: movimientos a largo plazo
‡ Cíclicos: oscilaciones de largo plazo sobre una línea
o curva de tendencia
„ e.g. ciclos de negocios, que pueden o no ser
periódicos
‡ Estacionales: Casi siempre son patrones idénticos
que una serie de tiempo aparenta seguir durante
meses correspondientes durante años sucesivos.
‡ Movimientos irregulares o aleatorios

204
Análisis de Series de Tiempo
‡ Descomposición de una serie de tiempo en sus
cuatro movimientos básicos
„ Modo aditivo: TS = T + C + S + I
„ Modo multiplicativo: TS = T × C × S × I

‡ Diferentes métodos para estimar cada componente

Modelo Autoregresivo
‡ El valor de la serie de tiempo en un momento
dado depende de los valores anteriores:
Xi = f(Xi-1,...,Xi-k)
‡ Muchas veces, f es modelada como una función
lineal
‡ En el caso más general, f es una función no
lineal

205
Autoregresión con Redes
Neuronales
‡ Se debe definir el tamaño de la ventana de
autoregresión, k (número de datos a mirar hacia
atrás)
‡ La red neuronal debe tener k entradas y 1 salida
‡ Los patrones de entrenamiento y prueba se
construyen con base en la serie de tiempo
(Xi,...,Xn) con una ventana deslizante:
X1,...,XK XK+1
X2,...,XK XK+2

Xn-k,...,Xn-1 Xn

Bibliografía

‡ Data Mining: Concepts and Techniques


Jiawei Han and Micheline Kamber
Department of Computer Science
University of Illinois at Urbana-Champaign
2006

206
Minería de Datos
II - 2007

Agrupamiento
Principios y Aplicaciones

207
Agenda
‡ ¿Qué es el análisis de Cluster?
„ Aplicaciones del Análisis de Cluster
„ ¿Qué no es Análisis de Cluster?
‡ Similitud y Disimilitud
„ Similitud /Disimilitud para Atributos Simples
„ Distancia Euclidiana
„ Distancia Minkowski
„ Distancia de Mahalanobis
„ Propiedades de una Distancia
„ Propiedades comunes de una similitud
„ Similitud entre Vectores Binarios
„ Ejemplo: SMC versus Jaccard
„ Similitud por coseno
„ Coeficiente Extendido de Jaccard (Tanimoto)
„ Correlación
„ Densidad
„ Densidad Euclidiana - Basada en Celdas
„ Densidad Euclidiana – Basada en el Centro
„ Tipos de Agrupamientos

Agenda
‡ Tipos de Agrupamientos
„ Agrupamiento de Partición (Partitional Clustering)
„ Agrupamiento Jerárquico
„ Otras distinciones entre los conjuntos de Clusters
„ Características importantes de la entradas de datos
‡ Algoritmos de Agrupamiento
„ K-means y sus variantes
„ Agrupamiento jerárquico
„ Agrupamiento basado en densidad

208
Agenda
‡ ¿Qué es el análisis de Cluster?
„ Aplicaciones del Análisis de Cluster
„ ¿Qué no es Análisis de Cluster?
‡ Similitud y Disimilitud
„ Similitud /Disimilitud para Atributos Simples
„ Distancia Euclidiana
„ Distancia Minkowski
„ Distancia de Mahalanobis
„ Propiedades de una Distancia
„ Propiedades comunes de una similitud
„ Similitud entre Vectores Binarios
„ Ejemplo: SMC versus Jaccard
„ Similitud por coseno
„ Coeficiente Extendido de Jaccard (Tanimoto)
„ Correlación
„ Densidad
„ Densidad Euclidiana - Basada en Celdas
„ Densidad Euclidiana – Basada en el Centro
„ Tipos de Agrupamientos

¿Qué es el análisis de Cluster?


‡ Los grupos de objetos encontrados, en un grupo
serán similares o relativos sus objetos y
diferentes de los objetos de otros grupos.

Las distancias
Las distancias dentro entre los cluster
de los cluster son son maximizadas
minimizadas

209
Aplicaciones del Análisis de
Cluster
Clusters Descubiertos Grupo Industrial
‡ Entendimiento Applied-Matl-DOWN,Bay-Network-Down,3-COM-DOWN,

„ Grupo relativo de 1 Cabletron-Sys-DOWN,CISCO-DOWN,HP-DOWN,


DSC-Comm-DOWN,INTEL-DOWN,LSI-Logic-DOWN,
Technology1-DOWN
documentos para
Micron-Tech-DOWN,Texas-Inst-Down,Tellabs-Inc-Down,
Natl-Semiconduct-DOWN,Oracl-DOWN,SGI-DOWN,
encontrar grupos de Sun-DOWN
Apple-Comp-DOWN,Autodesk-DOWN,DEC-DOWN,
genes y proteínas que 2 ADV-Micro-Device-DOWN,Andrew-Corp-DOWN,
Computer-Assoc-DOWN,Circuit-City-DOWN,
tiene una funcionalidad Compaq-DOWN, EMC-Corp-DOWN, Gen-Inst-DOWN,
Motorola-DOWN,Microsoft-DOWN,Scientific-Atl-DOWN
Technology2-DOWN

similar, o grupos Fannie-Mae-DOWN,Fed-Home-Loan-DOWN,


típicos con 3 MBNA-Corp-DOWN,Morgan-Stanley-DOWN Financial-DOWN
fluctuaciones de Baker-Hughes-UP,Dresser-Inds-UP,Halliburton-HLD-UP,

precios similares. 4 Louisiana-Land-UP,Phillips-Petro-UP,Unocal-UP,


Schlumberger-UP
Oil-UP

‡ Resumen
„ Reducir el tamaño de
los grandes conjuntos
de datos

Agrupamiento para la
precipitación en Australia

¿Qué no es Análisis de
Cluster?
‡ Clasificación Supervisada
„ Tiene etiquetas de información de la clase
‡ Segmentación Simple
„ Dividir los estudiantes en grupos diferentes de registro
alfabéticamente por apellido.

‡ Resultados de una consulta


„ Los agrupamientos son resultados de una
especificación externa

‡ Partición Gráfico
„ Existe cierta importancia y sinergia mutua, pero las
áreas no son idénticas

210
La Noción de Cluster puede ser
ambigua

¿Cuántos clusters hay? Seis Clusters

Dos Clusters Cuatro Clusters

Agenda
‡ ¿Qué es el análisis de Cluster?
„ Aplicaciones del Análisis de Cluster
„ ¿Qué no es Análisis de Cluster?
‡ Similitud y Disimilitud
„ Similitud /Disimilitud para Atributos Simples
„ Distancia Euclidiana
„ Distancia Minkowski
„ Distancia de Mahalanobis
„ Propiedades de una Distancia
„ Propiedades comunes de una similitud
„ Similitud entre Vectores Binarios
„ Ejemplo: SMC versus Jaccard
„ Similitud por coseno
„ Coeficiente Extendido de Jaccard (Tanimoto)
„ Correlación
„ Evaluación Gráfica de la Correlación
„ Aproximación General para Combinar Similitudes
„ Uso de Pesos para Combinar Similitudes
„ Densidad
„ Densidad Euclidiana - Basada en Celdas
„ Densidad Euclidiana – Basada en el Centro
„ Tipos de Agrupamientos

211
Similitud y Disimilitud
‡ Similitud
„ Medida numérica de semejanza entre objetos
„ Valor alto para objetos parecidos
„ A menudo definida en el intervalo [0,1]
‡ Disimilitud
„ Medida numérica de diferencia entre objetos
„ Valor bajo para objetos parecidos
„ Varia entre [0, ∞)
„ Usualmente es una distancia
‡ Proximidad
„ Se refiere a similitud o disimilitud

Similitud /Disimilitud para Atributos


Simples
p y q son los valores de los atributos para dos objetos de
datos.

Similitud y disimilitud para atributos simples

212
Distancia Euclidiana

n
dist = ∑ ( pk − qk )2
k =1
n es la dimensión (numero de atributos)
pk y qk son los k- ésimos atributos de los datos p y q.

‡ Se realiza normalización si las escalas de los


atributos difieren.

Distancia Euclidiana
3
punto x y
2 p1 p1 0 2
p3 p4 p2 2 0
1 p3 3 1
p2 p4 5 1
0
0 1 2 3 4 5 6

p1 p2 p3 p4
p1 0 2.828 3.162 5.099
p2 2.828 0 1.414 3.162
p3 3.162 1.414 0 2
p4 5.099 3.162 2 0

Matriz de Distancias

213
Distancia Minkowski
‡ Generalización de la distancia Euclidiana mediante
el parámetro r 1
n
dist = ( ∑ | pk − qk |r ) r
k =1
‡ r = 1. Distancia Manhattan (taxi, norma L1).
„ Ejemplo típico: Distancia de Hamming: Numero de bits
diferentes entre dos arreglos de bits

‡ r = 2. Distancia Euclidiana
‡ r → ∞. Distancia “supremo” (norma Lmax o L∞).
„ La máxima diferencia entre los atributos

Distancia Minkowski
L1 p1 p2 p3 p4
p1 0 4 4 6
p2 4 0 2 4
punto x y p3 4 2 0 2
p1 0 2 p4 6 4 2 0
p2 2 0
L2 p1 p2 p3 p4
p3 3 1
p1 0 2.828 3.162 5.099
p4 5 1
p2 2.828 0 1.414 3.162
p3 3.162 1.414 0 2
p4 5.099 3.162 2 0

L∞ p1 p2 p3 p4
p1 0 2 3 5
p2 2 0 1 3
p3 3 1 0 2
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

1 n
Σ j ,k = ∑ ( 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:

⎡ 0.3 0.2⎤
Σ=⎢ ⎥
C
⎣0.2 0.3⎦
B A: (0.5, 0.5)
B: (0, 1)
A C: (1.5, 1.5)

Mahal(A,B) = 5
Mahal(A,C) = 4

215
Propiedades de una Distancia
‡ Una métrica d es una función que tiene
las siguientes propiedades.
1. d(p, q) ≥ 0 para todos p y q y d(p, q) = 0
solamente si p = q. (Definida positiva)
2. d(p, q) = d(q, p) para todos p y q. (Simetría)
3. d(p, r) ≤ d(p, q) + d(q, r) para todos p, q, y r.
(Desigualdad triangular)

‡ Toda distancia satisface las propiedades


de una métrica

Propiedades comunes de
una similitud
‡ Las similitudes tienen algunas
características bien conocidas:

1. s(p, q) = 1 (o máxima similitud) solo si p = q.

2. s(p, q) = s(q, p) para todo p y q. (Simétrica)

Donde s(p, q) es la similitud entre puntos


(objetos de datos), p y q.

216
Similitud entre Vectores
Binarios
‡ Una situación común es que los objetos, p y q, tienen solo
atributos binarios
‡ Similitudes de cálculo usando las cantidades siguientes:
M01 = el número de atributos donde p es 0 y q es 1
M10 = el número de atributos donde p es 1 y q es 0
M00 = el número de atributos donde p es 0 y q es 0
M11 = el número de atributos donde p es 1 y q es 1

‡ Correspondencia simple (SMC) y Coeficientes de Jaccard


(J)

SMC = (M11 + M00) / (M01 + M10 + M11 + M00)

J = (M11) / (M01 + M10 + M11)

Ejemplo: SMC versus Jaccard


p= 1000000000
q= 0000001001
M01 = el número de atributos donde p es 0 y q es 1
M10 = el número de atributos donde p es 1 y q es 0
M00 = el número de atributos donde p es 0 y q es 0
M11 = el número de atributos donde p es 1 y q es 1

SMC = (M11 + M00)/(M01 + M10 + M11 + M00)


= (0+7) / (2+1+0+7) = 0.7

J = (M11) / (M01 + M10 + M11) = 0 / (2 + 1 + 0) = 0

217
Similitud por coseno
‡Útil para vectores documentales

cos( d1, d2 ) = (d1 • d2) / ||d1|| ||d2|| ,

‡ Ejemplo:
d1 = 3 2 0 5 0 0 0 2 0 0 d2 = 1 0 0 0 0 0 0 1 0 2

d1•d2=3*1 +2*0 +0*0 + 5*0 + 0*0 + 0*0 + 0*0 + 2*1 + 0*0 + 0*2 = 5
||d1||=(3*3+2*2+0*0+5*5+0*0+0*0+0*0+2*2+0*0+0*0)0.5 = (42) 0.5
||d1|| = 6.481
||d2|| = (1*1+0*0+0*0+0*0+0*0+0*0+0*0+1*1+0*0+2*2) 0.5 = (6) 0.5
||d2|| = 2.245

cos( d1, d2 ) = .3150

Coeficiente Extendido de Jaccard


(Tanimoto)
‡ Variación
de Jaccard para atributos
continuos o de conteo
„ Reduce el coeficiente Jaccard para atributos
binarios

218
Correlación
‡ La correlación cuantifica la relación lineal
entre objetos
‡ Para calcular la correlación, se
estandarizan los objetos, p y q, y luego se
efectúa el producto punto

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


qk′ = (qk − media(q)) / std (q )
correlación( p, q) = p′ • q′

Densidad
‡ Elagrupamiento basado en densidad,
requiere entender el concepto de
densidad:
‡ Ejemplos:
„ Densidad Euclidiana:
‡DensidadEuclidiana = número de puntos por unidad
de volumen

„ Densidad de Probabilidad

„ Graficas basadas en densidad

219
Densidad Euclidiana -
Basada en Celdas
‡ La aproximación más simple es dividir la región
en un número de celdas rectangulares de igual
volumen y donde su densidad se define como el
número de puntos que contiene la celda.

Densidad basada en celdas Conteo de puntos para dada celda de la malla

Densidad Euclidiana – Basada en


el Centro
‡ La densidad Euclidiana es el número de
puntos dentro de un radio específico al
punto.

Densidad Basada en
el Centro

220
Agenda
‡ Tipos de Agrupamientos
„ Agrupamiento de Partición (Partitional
Clustering)
„ Agrupamiento Jerárquico
„ Otras distinciones entre los conjuntos de
Clusters
„ Características importantes de la entradas
de datos
‡ Algoritmos de Agrupamiento
„ K-means y sus variantes
„ Agrupamiento jerárquico
„ Agrupamiento basado en densidad

Tipos de Agrupamientos
‡ Un agrupamiento es un grupo de clusters

„ Agrupamiento Jerárquico
‡ Es un conjunto de clusters anidados, organizados
como un árbol jerárquico
„ Agrupamiento de Partición
‡ Una división de objetos de datos en conjuntos no
superpuestos (clusters), donde cada objeto de dato
es exactamente un subconjunto.

221
Agrupamiento de Partición
(Partitional Clustering)

Puntos Originales Un agrupamiento de


partición

Agrupamiento Jerárquico
(Hierarchical Clustering)

p1
p3 p4
p2

p1 p2 p3 p4
Agrupamiento Tradicional Jerárquico Dendrograma Tradicional

p1
p3 p4
p2

p1 p2 p3 p4
Agrupamiento Jerárquico No - Tradicional Dendrograma No tradicional

222
Otras distinciones entre
los conjuntos de Clusters
‡ Exclusivo vs. no - exclusivo
„ En los agrupamientos no exclusivos, los
puntos pueden pertenecer a múltiples
clusters.
„ Se puede representar múltiples clases o puntos
frontera.
‡ Difuso vs. no - difuso
„ En el agrupamiento difuso, un punto
pertenece a todo cluster con algún peso
entre 0 y 1.
„ Los pesos deben sumar 1.
„ El agrupamiento probabilístico tiene características
similares.

Otras distinciones entre


los conjuntos de Clusters
‡ Parcial vs. completo
„ En algunos casos, solo se necesita agrupar
algunos de los datos.
‡ Heterogéneo vs. homogéneo
„ Agrupamiento generalmente de diferentes
tamaños, formas y densidades.

223
Tipos de Clusters
‡ Clusters bien separados
‡ Clusters basados en el centro
‡ Clusters contiguos
‡ Clusters basados en densidad
‡ De propiedad o Conceptual
‡ Descrito por una Función Objetivo

Tipos de Clusters:
Bien Separados

‡ Un cluster es un conjunto de puntos en el que


cualquier punto en el cluster es más cercano a
cualquier otro punto en el cluster que cualquier
otro punto que no esté en el cluster

3 clusters bien separados

224
Tipos de Clusters:
Basados en el centro
‡ Un cluster es un conjunto de objetos en el que
un objeto está más cerca al centro del cluster,
que al centro de otro cluster.
„ El centro de un cluster frecuentemente es llamado
centroide, el promedio de todos los puntos en el
cluster o el “medoid”, el punto más representativo del
cluster.

4 clusters basados en el centro

Tipos de Clusters:
Clusters contiguos
‡ Un cluster es un conjunto de puntos
donde un punto en el cluster está más
próximo a otro punto o puntos en el
cluster que a cualquier otro punto que
no pertenezca al cluster.

8 clusters contiguos

225
Tipos de Clusters:
Basados en Densidad
‡ Un cluster es una región densa de puntos,
separados por regiones de baja densidad, de
otras regiones de alta densidad.
‡ Se usan cuando los clusters son irregulares o
entrelazados, y cuando se presenta ruido y
datos atípicos

6 clusters basados en densidad

Tipos de Clusters:
Clusters Conceptuales
‡ De propiedad compartida o clusters
conceptuales
„ Son clusters que tienen propiedad
compartida o representan un concepto
particular
.

2 Círculos entrelazados

226
Tipos de Clusters:
De Función Objetivo
‡ Clusters Definidos por una Función Objetivo
„ Son clusters que minimizan o maximizan una función
objetivo
„ Enumeran todas las posibles formas de dividir los puntos
dentro de un cluster y evalúan la “bondad” de cada
conjunto potencial de clusters usando una función objetivo
dada (NP Hard)

Características importantes de la entradas


de datos
‡ Tipo de proximidad o medida de la densidad
„ Es una medida derivada, pero básica 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 característica: auto-correlación
‡ Dimensionalidad
‡ Ruido y datos atípicos (Outliers)
‡ Tipo de Distribución

227
Algoritmos de Agrupamiento
‡ K-means y sus variantes

‡ Agrupamiento jerárquico

‡ Agrupamiento basado en densidad

Agrupamiento K-means
‡ Aproximación al agrupamiento por partición
‡ Cada cluster está asociado con un centroide (punto
central)
‡ Cada punto es asignado al cluster más cercano al
centroide
‡ El número de clusters “K” debe ser especificado
‡ El algoritmo básico es muy simple

1: Seleccionar K puntos como los centroides iniciales


2: Repetir
3: Desde K clusters asignar todos los puntos al centroide más cercano
4: Recalcular el centroide de cada cluster
5: Hasta El centroide no cambia

228
Detalles del Agrupamiento
K-means
‡ Los centroides iniciales se escogen aleatoriamente.
„ Los clusters generados varían de una ejecución a otra.
‡ El centroide generalmente es igual al número de puntos
en el cluster.

‡ La proximidad es medida por la distancia Euclidiana, la


similitud por coseno, correlación, etc.
‡ K-means convergerá a una medida de similitud común
mencionada anteriormente.
‡ La mayoría de la convergencia ocurre en las primeras
iteraciones:
„ Frecuentemente la condición para parar es cambiada por
“Hasta que algunos puntos cambien de cluster”
‡ La complejidad es: O( n * K * I * d )
„ n = número de puntos, K = número de clusters
„ I = número de iteraciones, d = número de atributos

Dos Agrupamientos
diferentes con K-means
3 Puntos Originales
2.5

1.5
y

0.5

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


x

3 3

2.5 2.5

2 2

1.5 1.5
y
y

1 1

0.5 0.5

0
0

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


-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x

Agrupamiento Óptimo Agrupamiento Sub- óptimo

229
Importancia de la elección de los
centroides iniciales
Iteration 5
Iteration 16
2
3
4
33

2.5
2.5

22

1.5
1.5
yy

1
1

0.5
0.5

0
0

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


-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x
x

Importancia de la elección de los


centroides iniciales
Iteration 1 Iteration 2 Iteration 3
3 3 3

2.5 2.5 2.5

2 2 2

1.5 1.5 1.5


y

1 1 1

0.5 0.5 0.5

0 0 0

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x x

Iteration 4 Iteration 5 Iteration 6


3 3 3

2.5 2.5 2.5

2 2 2

1.5 1.5 1.5


y

1 1 1

0.5 0.5 0.5

0 0 0

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x x

230
Evaluando los Clusters
K-means
‡ La medida más común es la suma del Error Cuadrático (SSE)
„ Cada punto, el error es la distancia del cluster más cercano.
„ Para obtener el SSE, se elevan al cuadrado los errores y se suman.

K
SSE = ∑ ∑
i = 1 x∈ C
dist 2
(m i, x )
i

„ x es un punto en el cluster Ci y mi es el punto representativo para el


cluster Ci
‡ Se puede mostrar que mi corresponde al centro (promedio) del cluster
„ Dados dos clusters, se puede elegir uso con el menor error
„ Una manera fácil de reducir el SSE es incrementar K, el número de
clusters
‡ Un buen agrupamiento con K pequeño, puede tener un SSE más bajo que un
agrupamiento con un K grande

Importancia de la elección de
los centroides iniciales

Iteration 5
1
2
3
4
3

2.5

1.5
y

0.5

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


x

231
Importancia de la elección de los
centroides iniciales
Iteration 1 Iteration 2
3 3

2.5 2.5

2 2

1.5 1.5
y

y
1 1

0.5 0.5

0 0

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


x x

Iteration 3 Iteration 4 Iteration 5


3 3 3

2.5 2.5 2.5

2 2 2

1.5 1.5 1.5


y

y
1 1 1

0.5 0.5 0.5

0 0 0

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x x

Problemas con Selección


Inicial de Puntos
‡ Si hay K clusters reales, luego la posibilidad de
seleccionar un centroide desde cualquier cluster es
pequeña
„ La probabilidad es relativamente pequeña cuando K es
grande.
„ Si los clusters son del mismo tamaño, n, entonces
número de formas para selecciona r un centroide desde cada cluster
P=
número de formas para selecciona r K centroides
K !n K K!
P= =
( Kn ) K K K
„ Por ejemplo, si K = 10, entonces la probabilidad es =
10!/1010 = 0.00036
„ A veces los centroides iniciales se reajustarán solos en
la forma adecuada, y a veces no.

232
Ejemplo con 10 Clusters
Iteration 4
1
2
3 Comenzando con dos
8
centroides iniciales en un
6 cluster para cada par de
clusters
4

2
y

-2

-4

-6

0 5 10 15 20
x

Ejemplo con 10 Clusters


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

6 6

4 4

2 2
y

0 0

-2 -2

-4 -4

-6 -6

0 5 10 15 20 0 5 10 15 20
x x
Iteration 3 Iteration 4
8 8

6 6

4 4

2 2
y

0 0

-2 -2

-4 -4

-6 -6

0 5 10 15 20 0 5 10 15 20
x x

233
Ejemplo con 10 Clusters

Iteration 4
1
2
3
Comenzando 8
con algunos
pares de 6
clusters
4
teniendo tres
centroides 2
iniciales,
mientras los
y

0
otros tienen
solo uno -2

-4

-6

0 5 10 15 20
x

Ejemplo con 10 Clusters


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

0
y

0
-2
-2
-4
-4
-6
-6
0 5 10 15 20
x
0 5 10 15 20
Iteration 4
x 8
Iteration 3
8
6

6
4

4
2
2
y

0
y

0
-2
-2
-4
-4
-6
-6

0 5 10 15 20
0 5 10 15 20
x
x

234
Soluciones al problema de los
centroides iniciales
‡ Múltiples ejecuciones
„ Ayuda, pero la probabilidad no está de su lado
‡ Agrupamiento de prueba y agrupamiento jerárquico
para determinar los centroides iniciales
‡ Seleccionar mas de un K inicial de centroides y
luego seleccionar entre estos los centroides iniciales
„ Seleccionarlos ampliamente separados
‡ Postprocesamiento
‡ Bisectar K-means
„ No se recomienda para inicialización

Manejo de Clusters vacíos


‡ El algoritmo básico K-means puede
eliminar clusters vacíos.

‡ Algunas estrategias
„ Elegir el punto que contribuya más al SSE
„ Elegir el punto desde el cluster con el mayor
SSE
„ Si hay varios clusters vacíos, el paso anterior
puede repetirse varias veces.

235
Pre-procesamiento y
Post-procesamiento
‡ Pre-procesamiento
„ Normaliza los datos
„ Elimina los datos atípicos (outliers)

‡ Post-procesamiento
„ Elimina los clusters pequeños que pueden representar los
datos atípicos
„ Divide los clusters “flojos”, es decir, los que tienen un SSE
relativamente alto
„ Combina los clusters que están “cerrados” y que tienen un
SSE relativamente bajo
„ Se pueden usar estos paso durante el proceso de
agrupamiento
‡ ISODATA

Bisectar K-means

‡ Algoritmo Bisectar K-means


„ Variación del K-means que produce un
agrupamiento de partición o jerárquico

1: Inicializar la lista de clusters para reducir el cluster que contiene todos los
puntos
2: Repetir
3: Seleccionar un cluster de la lista de clusters
4: Para i = 1 hasta número_de_iteraciones Hacer
5: Bisectar el cluster seleccionado usando el K-means
6: Fin_para
7: Adicionar los dos clusters de la bisección con el menor SSE a la lista de
clusters
8: Hasta La lista de clusters tiene K clusters

236
Ejemplo de Bisectar K-
means

Limitaciones del K-means


‡ K-means tiene problemas cuando los
clusters difieren en:
„ Tamaño
„ Densidad
„ Formas no globulares

‡ K-means tiene problemas cuando los


datos tienen datos atípicos

237
Limitaciones del K-means:
Diferentes Tamaños

Puntos Originales K-means (3 Clusters)

Limitaciones del K-means: Densidad


Diferente

Puntos Originales K-means (3 Clusters)

238
Limitaciones del K-means:
Formas no globulares

Puntos Originales K-means (2 Clusters)

Limitación del K-means


superada

Puntos Originales K-means Clusters

Una solución es usar muchos clusters.


Encontrar partes de clusters, pero se necesita ponerlas todas

239
Limitación del K-means
superada

Puntos Originales K-means Clusters

Limitación del K-means


superada

Puntos Originales K-means Clusters

240
Agrupamiento Jerárquico
‡ Produce un conjunto de clusters anidados
organizados como árboles jerárquicos
‡ Puede ser visualizado como un
dendrograma
„ Un árbol como un diagrama que recuerda la
secuencia de combinación o división
6 5

0.2 4
3 4
2
0.15 5
2
0.1

1
0.05 1
3

0
1 3 2 5 4 6

Fortalezas del Agrupamiento


Jerárquico
‡ No se asume un número particular de
clusters
„ El número deseado de clusters se obtiene
seleccionando el nivel adecuado del
dendograma

‡ Puede corresponder a taxonomías


significativas
„ Ejemplo: en biología (reino animal,
reconstrucción de filogenia)

241
Agrupamiento Jerárquico
‡ Los dos tipos principales de agrupamiento
jerárquico:
„ Aglomerado:
‡ Comienza con los puntos como clusters individuales
‡ En cada paso, se combinan los pares de clusters más
cercanos hasta que solo uno (o k clusters) queda
„ 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 jerárquicos tradicionales usan una
similitud o matriz de distancia
„ Combina o divide un cluster a la vez

Algoritmo de
Agrupamiento Aglomerado
‡ Es la técnica más popular de agrupamiento jerárquico
‡ El algoritmo básico es directo:
1. Calcula la matriz de proximidad
2. Se deja que cada punto sea un cluster
3. Repetir
4. Combinar los dos clusters más cercanos
Actualizar la matriz de proximidad
1. Hasta solo un cluster simple se obtiene
‡ La operación clave es el cálculo de la proximidad de dos
clusters
„ Los diversos acercamientos a definir la distancia entre los
clusters distingue a los distintos algoritmos

242
Situación Inicial
‡ Comienza con los clusters individuales y la
matriz de proximidad
p1 p2 p3 p4 p5 ...
p1

p2
p3

p4
p5
.
.
. Matriz de Proximidad

Situación Intermedia
‡ Luego de algunos pasos
de combinación, se C1 C2 C3 C4 C5
obtienen algunos clusters C1

C2
C3
C3
C4
C4
C5
C1
Matriz de Proximidad

C2 C5

243
Situación Intermedia
‡ Se necesita combinar dos de
los clusters más cercanos (C2
y C5 y actualizar la matriz de C1 C2 C3 C4 C5

proximidad) C1

C2
C3
C3
C4
C4
C5

Matriz de Proximidad
C1

C2 C5

Después de Combinar
C2
‡ La pregunta es “¿Cómo se U
puede actualizar la matriz de C1 C5 C3 C4

proximidad?” C1 ?

C2 U C5 ? ? ? ?

C3 ?

C3 C4 ?

C4 Matriz de Proximidad

C1

C2 U C5

244
¿Cómo definir la similitud
entre clusters?
p1 p2 p3 p4 p5 ...
p1
¿Similitud?
p2

p3

p4
‡ MIN
p5
‡ MAX
.
‡ Promedio del Grupo .
‡ Distancia entre Centroides .
Matriz de Proximidad
‡ Otros métodos se guían
por una función objetivo
„ El método de Ward usa el
error cuadrático

¿Cómo definir la similitud


entre clusters?
p1 p2 p3 p4 p5 ...
p1

p2

p3

p4

‡ MIN p5

‡ MAX .
‡ Promedio del Grupo .

‡ Distancia entre Centroides .


Matriz de Proximidad
‡ Otros métodos se guían
por una función objetivo
„ El método de Ward usa el
error cuadrático

245
¿Cómo definir la similitud
entre clusters?
p1 p2 p3 p4 p5 ...
p1

p2

p3

p4
‡ MIN p5
‡ MAX
.
‡ Promedio del Grupo
.
‡ Distancia entre Centroides
.
‡ Otros métodos se guían por una Matriz de Proximidad
función objetivo
„ El método de Ward usa el error
cuadrático

¿Cómo definir la similitud


entre clusters?
p1 p2 p3 p4 p5 ...
p1

p2

p3

p4

p5
‡ MIN
‡ MAX .

‡ Promedio del Grupo .


‡ Distancia entre Centroides .
Matriz de Proximidad
‡ Otros métodos se guían por una
función objetivo
„ El método de Ward usa el error
cuadrático

246
¿Cómo definir la similitud
entre clusters?
p1 p2 p3 p4 p5 ...
p1

× × p2

p3

p4

p5
‡ MIN
‡ MAX .

‡ Promedio del Grupo .


‡ Distancia entre Centroides .
Matriz de Proximidad
‡ Otros métodos se guían por una
función objetivo
„ El método de Ward usa el error
cuadrático

Similitud de Cluster: MIN o


Enlace simple
‡ La similitud de dos cluster se basa en los
dos puntos más similares (cercanos) en
dos clusters
„ Es determinado por un par de puntos, es decir,
un enlace en la gráfica de proximidad

I1 I2 I3 I4 I5
I1 1.00 0.90 0.10 0.65 0.20
I2 0.90 1.00 0.70 0.60 0.50
I3 0.10 0.70 1.00 0.40 0.30
I4 0.65 0.60 0.40 1.00 0.80
I5 0.20 0.50 0.30 0.80 1.00 1 2 3 4 5

247
Agrupamiento Jerárquico:
MIN
5
1
3
0.2
5
2 1 0.15

2 3 6 0.1

0.05
4
4 0
3 6 2 5 4 1

Clusters Anidados Dendrogram

Fortaleza de MIN

Puntos Originales Dos Clusters

•Puede manejar formas no elípticas

248
Limitaciones de MIN

Puntos Originales Dos Clusters

• Sensitivo al ruido y a los datos atípicos (outliers)

Similitud de Cluster: MAX o Enlace


completo
‡ La similitud de dos clusters se basa en al
menos los dos puntos similares (más
distantes) en los dos clusters
„ Está determinado por todos los pares de
puntos en los dos clusters
I1 I2 I3 I4 I5
I1 1.00 0.90 0.10 0.65 0.20
I2 0.90 1.00 0.70 0.60 0.50
I3 0.10 0.70 1.00 0.40 0.30
I4 0.65 0.60 0.40 1.00 0.80
I5 0.20 0.50 0.30 0.80 1.00 1 2 3 4 5

249
Similitud de Cluster: MAX
4 1
2 5 0.4

0.35
5 0.3
2
0.25

3 6 0.2

3 0.15
1 0.1

0.05
4
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 atípicos

250
Limitaciones de MAX

Puntos Originales Dos Clusters

•Tiende a romper los clusters grandes


•Predispuesto para clusters globulares

Similitud de Cluster:
Promedio de Grupo
‡ La proximidad de dos cluster es el promedio de la
proximidad por parejas entre los puntos de dos
clusters
∑ proximity(pi , p j )
pi∈Clusteri
p j∈Clusterj
proximity(Clusteri , Clusterj ) =
|Clusteri |∗|Clusterj |
‡ Es necesario usar el promedio para la conectividad y
escalabilidad debido a que el total favorece es a los
grandes clusters.
I1 I2 I3 I4 I5
I1 1.00 0.90 0.10 0.65 0.20
I2 0.90 1.00 0.70 0.60 0.50
I3 0.10 0.70 1.00 0.40 0.30
I4 0.65 0.60 0.40 1.00 0.80
1 2 3 4 5
I5 0.20 0.50 0.30 0.80 1.00

251
Similitud de Cluster:
Promedio de Grupo
5 4 1
2 0.25

5 0.2
2
0.15

3 6 0.1

1 0.05

4 0
3 3 6 4 1 2 5

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
atípicos

‡ Limitaciones
„ Predispuesto para clusters globulares

252
Similitud de Cluster: Método de
Ward
‡ La similitud de dos clusters se basa en el
incremento del error cuadrático cuando dos
clusters se combinan
„ De igual manera que el promedio de grupo, si la distancia
entre puntos es la distancia cuadrática
‡ Menos susceptible al ruido y a los datos atípicos
‡ Predispuesto para clusters globulares
‡ Jerarquía análoga al K - means
„ Puede ser usada para inicializar K- means

Agrupamiento Jerárquico: Comparación


5
1
3 5
4 1
5
2 1 2
MIN 5
2 3 2
6 MAX
3 6
4 3
1
4
4

5
1 5 4 1
2 2
5 Método de 5
2 2
Ward
3 6 3 6
3
4 1 1
Promedio de
4 4
Grupo 3

253
Agrupamiento Jerárquico:
Requerimientos de Tiempo y Espacio
‡ Espacio de orden O(N2) debido a que usa
la matriz de proximidad.
„ N es el número de puntos.

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


casos
„ Hay N pasos y cada paso tiene un tamaño de
N2, la matriz de proximidad debe ser hallada y
actualizada
„ La complejidad del tiempo puede reducirse a
O(N2 log(N) en algunas aproximaciones

Agrupamiento Jerárquico:
Problemas y Limitaciones
‡ Una vez que se toma una decisión para
combinar dos clusters, no puede ser
deshacerse
‡ La función objetivo no es directamente
minimizada
‡ Los esquemas diferentes tienen problemas
con uno o más de los siguientes factores:
„ Sensibilidad al ruido y a los datos atípicos
„ Dificultad para manejar clusters de diferente
tamaño y formas convexas
„ Rompimiento de clusters grandes

254
MST: Agrupamiento Jerárquico
Divisivo
‡ Construir MST (Minimum Spanning Tree, Árbol de
Mínima cobertura)
„ Comenzar con un árbol que consiste en cualquier punto
„ En los pasos sucesivos, buscar el par de puntos más cercanos
(p, q), el punto “p” está en el árbol actual pero el otro “q” no
lo esta
„ Adicionar q al árbol y colocar un enlace entre p y q.

MST: Agrupamiento Jerárquico


Divisivo
‡ Se usa el MST para construir
jerarquías de clusters
Algoritmo para el MST Agrupamiento Jerárquico Divisivo

1: Calcular el árbol de mínima cobertura para la gráfica de proximidad


2: Repetir
3: Crear un nuevo cluster por rompimiento de enlace
correspondiente a la distancia más grande (menor similitud)
4:Hasta Solo queda un cluster con un único elemento

255
DBSCAN
‡ DBSCAN es un algoritmo basado en densidad
„ Densidad = número de puntos dentro de un radio
específico(Eps)

„ Un punto es un punto nuclear si este tiene mas de un


número específico de puntos (MinPts) dentro del Eps
‡ Estos son puntos que están en el interior del cluster

„ Un punto frontera tiene menos de MinPts dentro del


Eps, pero en su vecindad es un punto nuclear

„ Un punto de ruido es cualquier punto que no es un punto


nuclear o un punto frontera

DBSCAN: Puntos nucleares,


frontera, ruido

256
Algoritmo DBSCAN
‡ Eliminar los puntos de ruido
‡ Hacer agrupamiento en los puntos restantes

DBSCAN: Puntos nucleares, frontera,


ruido

Puntos Originales
Tipo de puntos:
nuclear, borde y ruido

Eps = 10, MinPts = 4

257
¿Cuándo funciona mejor
DBSCAN?

Puntos Originales Clusters

• Resistencia al Ruido
•Puede manejar clusters de diferentes formas y tamaños

¿Cuándo no funciona bien


DBSCAN?

Puntos Originales (MinPts=4, Eps=9.75).

• Densidades que varían


• Alta dimensionalidad de los
datos
(MinPts=4, Eps=9.92)

258
DBSCAN: Determinando
EPS y MinPts
‡ La idea es que para los puntos en un cluster, sus k-ésimas
vecindades más cercanas estén a la misma distancia.
‡ Los puntos de ruido tienen la k-ésima vecindad más cercana
a una distancia más lejana.
‡ Se grafica la distancia ordenada de cada punto a su k-ésima
vecindad más cercana

Bibliografía
‡ Data Mining: Cluster
Analysis: Basic Concepts
and Algorithms
Lecture Notes for Chapter 8:
“Introduction to Data
Mining by Tan, Steinbach,
Kumar

259
Minería de Datos
II - 2007

AGRUPAMIENTO
EVALUACIÓN Y SOM

260
Agenda
‰ Validación de agrupamiento (clustering)
‰ Self Organizing Maps (SOM)

Agenda
‰ Validación de agrupamiento
(clustering)
‰ Self Organizing Maps (SOM)

261
Validación de clusters
‡ Diferentes medidas para evaluar modelos
supervisados:
„ accuracy, precision, recall
‡ Para análisis de clusters, la pregunta es: ¿Cómo
evaluar la “bondad” de los clusters resultantes?
‡ Pero “los clusters están en el ojo del observador”!
‡ ¿Por qué se quiere evaluarlos?
„ Para evitar encontrar patrones en el ruido
„ Para comparar los algoritmos de agrupamiento
„ Para comparar dos conjuntos de clusters
„ Para comparar dos clusters

Clusters encontrados en Datos


Aleatorios
1 1

0.9 0.9

0.8 0.8

0.7 0.7
Puntos
0.6 0.6 DBSCAN
Aleatorios
0.5 0.5
y

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
x x
1 1

0.9 0.9

K-means 0.8 0.8


Enlace
0.7 0.7
Completo
0.6 0.6

0.5 0.5
y

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
x x

262
Aspectos principales para la
Validación de Clusters
1. Determinar la tendencia del agrupamiento de un grupo de
datos, i.e., identificar si una estructura no aleatoria existe
en los datos.
2. Comparar los resultados de un análisis de cluster con
resultados externos conocidos, e.g, con etiqeutas de clases
dadas externamente.
3. Evaluar que tan bien los resultados de un análisis de cluster
se ajustan a los datos sin referirse a información externa.
4. Comparar los resultados de dos conjuntos diferentes de
análisis de cluster para determinar cuál es mejor.
5. Determinar el número correcto de clusters

Para 2, 3 y 4 podemos además distinguir si se quiere


evaluar el agrupamiento completo o solo unos clusters
individuales

Medidas de Validación de Cluster


‡ Las medidas numéricas que son aplicadas para juzgar varios
aspectos de la validación de cluster, son clasificadas en los
siguientes tres tipos:

„ Índice Externo: usado para medir el grado en que las etiquetas


de cluster coinciden con etiquetas de clases externas.
‡ Entropía

„ Índice Interno: usado para medir la “bondad” de un estructura


agrupada sin tener información de referencia externa
‡ Sum of Squared Error (SSE)

„ Índice Relativo: usado para comparar dos agrupamientos


diferentes o clusters
‡ Frecuentemente se usa un índice externo o interno para esta
función, e.g., SSE o Entropía

263
Medidas de Validación de Cluster a
través de Correlación
‡ Dos matrices:
„ Matriz de proximidad
„ Matriz de “incidencia”
‡ Una fila y una columna para cada dato
‡ Una entrada es 1 si el par de datos pertenecen al mismo cluster
‡ Una entrada es 0 si el par de datos pertenecen a diferentes clusters.
‡ Calcular la correlación entre dos matrices
„ Si dos matrices son simétricas, solo la correlación entre
n (n-1)/2 entradas necesita ser calculada.

‡ Una alta correlación indica que los puntos que pertenecen


al mismo cluster son cercanos entre sí.
‡ No es una medida buena para algunos clusters basados
en densidad o en cercanía.

Medidas de Validación de Cluster a


través de Correlación
‡ Correlación para las matrices de incidencia
y de proximidad para agrupamientos con
K – means para los siguientes conjuntos
1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
y

0.5
y

0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
0 0.2 0.4 0.6 0.8 1
0
x 0 0.2 0.4 0.6 0.8 1
x

Corr = -0.9235 Corr = -0.5810

264
Usando Matriz de Similitud para
Validación de Cluster

‡ Ordenar la matriz de similaridad respecto a las


etiquetas de agrupamiento e inspeccionar
visualmente.
1
1 10 0.9
0.9 20 0.8
0.8 30 0.7
0.7 40 0.6

Points
0.6 50 0.5
0.5
y

60 0.4
0.4 70 0.3
0.3 80 0.2
0.2 90 0.1
0.1 100 0
20 40 60 80 100Similarity
0 Points
0 0.2 0.4 0.6 0.8 1
x

Usando Matriz de Similitud para


Validación de Cluster
‡ Los agrupamientos en datos aleatorios no
son tan bien definidos.

1 1

10 0.9 0.9

20 0.8 0.8

30 0.7 0.7

40 0.6 0.6
Points

50 0.5 0.5
y

60 0.4 0.4

70 0.3 0.3

80 0.2 0.2

90 0.1 0.1

100 0 0
20 40 60 80 100 Similarity 0 0.2 0.4 0.6 0.8 1
Points x

DBSCAN

265
Usando Matriz de Similitud para
Validación de Cluster
‰Los agrupamientos en datos aleatorios no
son tan bien definidos.
1 1

10 0.9 0.9

20 0.8 0.8

30 0.7 0.7

40 0.6 0.6
Points

50 0.5 0.5

y
60 0.4 0.4

70 0.3 0.3

80 0.2 0.2

90 0.1 0.1

100 0 0
20 40 60 80 100 Similarity 0 0.2 0.4 0.6 0.8 1
Points x

K-means

Usando Matriz de Similitud para


Validación de Cluster
Los agrupamientos en datos aleatorios no
son tan bien definidos
1 1

10 0.9 0.9

20 0.8 0.8

30 0.7 0.7

40 0.6 0.6
Points

50 0.5 0.5
y

60 0.4 0.4

70 0.3 0.3

80 0.2 0.2

90 0.1 0.1

100 0 0
20 40 60 80 100 Similarity 0 0.2 0.4 0.6 0.8 1
Points x

Complete Link

266
Usando Matriz de Similitud para
Validación de Cluster
1

0.9
500
0.8

1 0.7
2 6 1000
0.6
3
4
1500 0.5

0.4
2000
5 0.3

7 0.2
2500
0.1

3000 0
500 1000 1500 2000 2500 3000

DBSCAN

Medidas Internas: SSE


‡ Los clusters en figuras más complicadas no son bien separados
‡ Índice interno: se usa para medir la bondad de una estructura de
agrupamiento sin tener información de referencia externa
„ SSE (suma de errores cuadráticos)
‡ SSE es una bueno para comparar dos agrupamientos o dos grupos
(SSE promedio)
‡ Puede usarse para estimar el número de clusters

10

6 9

8
4
7
2
6
SSE

0 5
4
-2
3
-4
2
-6 1
5 10 15
0
2 5 10 15 20 25 30
K

267
Medidas Internas: SSE
‡ Curva SSE para conjuntos de datos más
complicados

1
2 6

3
4

SSE de clusters encontrados usando


K-means

Marco para Validación de Cluster


‡ Se necesita un marco para interpretar cualquier medida
„ Por ejemplo, si nuestras medidas de evaluación tienen el
valor, 10, es bueno, justo o pobre?
‡ La estadística provee un marco para validación de clusters
„ Entre más “atípico” es el resultado del agrupamiento, es más
probable que represente una estructura válida en los datos
„ Se puede comparar los valores de un índice que resulte del
agrupamiento de datos aleatorios contra los resultados de un
agrupamiento dado.
‡ Si el valor del índice es poco probable, los resultados del cluster
son válidos
„ Estas aproximaciones son más complicadas y difíciles de entender.
‡ Para comparar los resultados de dos agrupamientos
diferentes, un marco es menos necesario:
„ Sin embargo, hay una pregunta de si la diferencia entre dos
valores del índice es significativo.

268
Marco Estadístico para SSE
‡ Ejemplo
„ Comparar SSE de 0.005 contra tres clusters en datos aleatorios
„ El histograma muestra el SSE de tres cluster en 500 conjuntos de datos aleatorios
de tamaño 100 distribuidos en un rango de 0.2 – 0.8 para valores de X y Y

1
50
0.9
45
0.8
40
0.7
35
0.6
30

Count
0.5
y

25
0.4
20
0.3
15
0.2
10
0.1
5
0
0 0.2 0.4 0.6 0.8 1 0
0.016 0. 018 0.02 0.022 0.024 0.026 0.028 0.03 0.032 0.034
x SS E

Marco Estadístico para Correlación


‡ En las siguientes gráfica se muestra la correlación de las
matrices de incidencia y proximidad para los agrupamientos
de con K – Means, para dos conjuntos de datos.
1 1

0.9 0.9

0.8 0.8

0.7 0.7

0.6 0.6

0.5 0.5
y

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
x x

Corr = -0.9235 Corr = -0.5810

269
Medidas Internas: Cohesión y Separación
‡ Cohesión del Cluster: Medidas de qué tan
estrechamente relacionados están los objetos
dentro de un cluster
„ Ejemplo: SSE

‡ Separación del Cluster: Medida de que tan distinto


o separado está un cluster de otros clusters
„ Ejemplo: Error cuadrático
„ La cohesión es medida por la suma de los cuadrados dentro del
cluster (SSE)
WSS= ∑∑(x− m ) i
2

i x∈Ci
„ La separación es medida por la suma de los cuadrados entre
clusters
BSS = ∑|Ci |(m − mi )2
i
‡ Donde |Ci| es el tamaño del cluster i

Medidas Internas: Cohesión y Separación


‡ Ejemplo: SSE
„ BSS + WSS = constante
m
× × ×
1 m1 2 3 4 m2 5

K=1 cluster: WSS=(1−3) +( 2 −3) +( 4 −3) +( 5 −3)2 =10


2 2 2

BSS= 4×( 3−3)2 = 0


Total=10+0=10
K=2 clusters: WSS= (1−1.5)2 +( 2 −1.5)2 +( 4 − 4.5)2 +( 5 − 4.5)2 =1
BSS= 2 ×( 3 −1.5)2 + 2 ×( 4.5− 3 )2 = 9
Total=1+9 =10

270
Medidas Internas: Cohesión y Separación
‡ Una gráfica de proximidad puede también ser
usada para cohesión y separación.
„ Cohesión de cluster es la suma de los pesos de todos los
enlaces dentro del cluster.
„ La separación del cluster es la suma de los pesos entre los nodos
en el cluster y los nodos fuera del cluster

cohesión separación

Medidas Internas: Coeficiente de Perfil


‡ Combina ideas tanto de cohesión
como de separación, pero para
puntos individuales, así como para
clusters y agrupamientos.

271
Medidas Internas: Coeficiente de Perfil
‡ Para un punto individual, i
„ Calcular a = promedio de la distancia de i a los
puntos en su cluster.
„ Calcular b = min (promedio de la distancia de i
a los puntos en otro cluster)
„ El coeficiente de perfil para un punto es dado
por:
s = 1 – a/b si a < b, (o, s = b/a - 1 si, a ≥ b,
no es el caso usual)
b
„ Típicamente entre 0 y 1 a

„ El que es cercano a 1 es mejor

Medidas Internas: Coeficiente de Perfil

‡ Sepuede calcular la amplitud del Perfil


Promedio para un cluster o un
agrupamiento.

272
Comentario Final
“La validación de estructuras de agrupamiento es
la parte de mayor dificultad y frustración del
análisis de cluster.
Sin un esfuerzo fuerte en esta dirección, el análisis
de cluster seguirá siendo un arte negro accesible
solamente a esos creyentes verdaderos que tengan
experiencia y gran coraje ”

Algorithms for Clustering Data, Jain and Dubes

Agenda
‰ Validación de agrupamiento (clustering)
‰ Self Organizing Maps (SOM)

273
Modelo de una red de
Kohonen
‡ También llamadas Mapas Autoorganizativos
‡ Self Organizing Maps = SOM

Ne
u
ro
na
s
Entradas

Características de la Red de Kohonen


‡ Los nodos de entrada están conectados a
cada neurona.
‡ La neurona “ganadora” es la que cuyos
pesos son más similares a la entrada.
‡ Las neuronas funcionan con un
comportamiento “la ganadora toma todo”
„ La salida de la ganadora es un 1 y las demás 0
„ Solo los pesos de la ganadora y sus vecinas
son adaptadas

274
Topología
‡ Las neuronas de la capa de salida
están conectadas de acuerdo con
la topología que se quiere inducir
en el espacio
‡ Generalmente se trabaja con
topologías en 1-D o 2-D
‡ La topología 1-D más usual es la
lineal, cada neurona tiene 1 o dos
vecinas
‡ Las topologías 2-D corresponden
a retículos que pueden tener
vecindades cuadradas o
hexagonales

Ecuaciones de la Red: Similitud


‡ La similitud es cuantificada usando la distancia
Euclidiana desde un vector patrón de entrada.

‡ El vector de pesos w[i] representa todos los


pesos a la neurona i; por lo tanto, w[i][j] es el
peso de la unión de la entrada j con la neurona i.

s p [i ] =|| w[i ] − entrada p ||= ∑ (w[i][ j ] − entrada [ j ])


2
p
j

‡ La ganadora tiene el valor más pequeño de s

275
Ecuaciones de la Red: Adaptación de
Peso
‡ Suponiendo que la neurona ganadora tiene como
índice α
‡ Para una entrada j y una neurona i, el cambio de
peso Δw[i][j] y el nuevo valor de peso w[i][j]
son:
„ Δw[i][j] = η (entrada[j] – w[i][j] ) NbdWt(α, i)
„ w[i][j] = w[i][j] + Δw[i][j]
‡ Donde
„ η es la rata de aprendizaje y
„ NbdWt(α, i) es la función de peso de la vecindad

Ecuaciones de la Red:
Función de Peso de la Vecindad
‡ La función de peso de la vecindad tiene la
siguiente forma:
1
NbdWt (α , i ) =
⎛ d (α , i ) ⎞
2

1+ ⎜ ⎟
⎝ s ⎠
⎛ d (α ,i ) ⎞
2
−⎜ ⎟
NbdWt (α , i ) = e ⎝ s ⎠

‡ Donde s es un escalar que establece la


amplitud de la función de peso.

276
Vecindad
On-center Off-surround
‡ Es un campo que:
„ Refuerza el estímulo “junto” al centro.
„ Atenúa los efectos en una región alrededor del
centro.
„ Disminuye rápidamente el exterior la región
atenuante
‡ Contribuye al control de ruido y localiza la
representación
‡ Complementario al “off- center on-
surround”

Vecindad
On-center Off-Surround
On-center Off-surround Neighborhood
Weighting

1,5

1
g1
0,5 g2
0 dog
1 8 15 22 29 36 43 50 57 64 71 78 OCOS
-0,5

-1

277
Vecindad Sombrero mejicano
Considerando dos funcionesGaussianas
2 2
⎛x⎞ ⎛ x⎞
−⎜⎜ ⎟⎟ −⎜⎜ ⎟⎟
g1 ( x) = e ⎝ s1 ⎠
y g2 ( x) = e ⎝ s2 ⎠

dondes2 > s1 > 0.


Siendoh( x) = g1 ( x) − g2 ( x), una diferencia
Gaussiana.Una funciónde sombreromejicanopuedeser dada por :
SobreroMejicano(x)= gi ( x) + α ⋅ h( x) donde α > 0.

Algoritmo Básico de Entrenamiento


‡ Se inicializan los pesos desde los nodos de
entrada a las neuronas.
‡ Se escoge la función de vecindad
‡ Mientras (los patrones de entrada tengan pesos
desajustados)
„ Encontrar una ganadora
„ Adaptar los pesos en la vecindad de la ganadora
‡ Desarrollar una interpretación para la codificación
identificando cuales neuronas codifican que
patrones

278
Visualización
‡ Las rede se Kohonen son
muy útiles como
herramienta para visualizar
datos multidimensionales
‡ La capa de salida sirve
como una representación
en 1D-2D de los datos de
entrada

Bibliografía
‡ Data Mining: Cluster Analysis: Basic Concepts and
Algorithms
Lecture Notes for Chapter 8: “Introduction to Data
Mining by Tan, Steinbach, Kumar

Gene Tagliarini, Artificial Intelligence Course,


Notes in SOM,
http://people.uncw.edu/tagliarinig/courses/415/Le
ctures/Kohonen%20Self-
organizing%20Feature%20Maps.ppt

279
NOTAS

NOTAS

280

También podría gustarte