Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mineria PDF
Mineria PDF
citadas tanto dentro del contenido como en los espacios reservados para
la bibliografía.
Pág.
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
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
3
Knowledge Discovery en BD:
Definición
KDD
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
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
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)
Encontrar Asociaciones
(Aplicaciones)
10
Clasificación y Predicción
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
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
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
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
Trabajos destacados:
Data Analysis and Regression, Mosteller and Tukey (1977),
Interactive Data Analysis, Hoaglin (1977),
The ABC's of EDA, Velleman and Hoaglin (1981)
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
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.
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?
26
Estadísticas Descriptivas
Frecuencia y moda
27
Percentiles (I)
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.
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, ... )
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)
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
34
Gráfica de Dispersión
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
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?
Setosa
Versicolour
Virginica
39
Visualization of the Iris Std.
Deviation Matrix
standard
deviation
40
Bibliografía
NIST/SEMATECH e-Handbook of
Statistical Methods,
http://www.itl.nist.gov/div898/hand
book/
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?
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
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”
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
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
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.
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
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, …
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
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 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}
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
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)
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
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}
78
Reducción de Datos:
Selección de Características
Distintas Clasificaciones.
Reducción de Datos:
Selección de Características
Algoritmos de Ranking
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
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
Similaridad entre xi y xj
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 ⎠
⎛ 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⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠
85
PCA: Método (Ejemplo)
1. Restar la media
x = 1.81 y = 1.91
⎛ 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 ⎠
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)
⎛ 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
89
PCA: Obtener el original
conjunto de datos
Nuevo conjunto X (eigenvector matrix)-1
Nuevo conjunto X (eigenvector matrix)T
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
91
Reducción de Datos
Selección de
Instancias
Diferentes tamaños:
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
93
Reducción de Datos
Selección de Instancias
Selección de Prototipos
Se basa en:
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
(TR)
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
(TR)
Reducción de Datos
Selección de Instancias. Eficiencia
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
Reducción de Datos
Selección de Instancias
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
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]”
105
Medidas de la regla:
Soporte y Confianza
Encontrar reglas X & Y ⇒ Z con mínimo % de
confianza y soporte (umbrales)
Soporte y Confianza
Soporte: Usado para eliminar reglas no
interesantes.
106
Ejemplo
ID Transacción ítems comprados
2000 A,B,C
1000 A,C
4000 A,D
5000 B,E,F
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
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
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
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.
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
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}
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
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
Medidas de desempeño
Agenda
Conceptos bá
básicos de aprendizaje
maquinal
Medidas de desempeño
123
¿Qué es Aprendizaje de Máquina?
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
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
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
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
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
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
Á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
131
Condición de Parada
Condiciones para detener el
particionamiento:
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
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?
⎛ 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
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:
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
135
Extracción de Reglas de
Clasificación
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
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.
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
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
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
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:
158
Técnica del Gradiente Descendente
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.
mínimo
local
mínimo
global
160
Rata de Aprendizaje
Momento
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:
El Perceptrón
2. Presentación de un nuevo par
(Entrada, Salida esperada):
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.
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
E = 1 / 2∑( y -d )
2
p pk pk
k
168
Algoritmo de Retropropagación (Back
Propagation)
Error
SE
169
Algoritmo de Retropropagación (Back
Propagation)
δi(t)=f’(xi(t))*(di-yi)
δj(t)=f ’(xi(t))*(Σw
i ijδi(t))
wji(t+1)= wji(t)+Δwji(t+1)
donde:
170
Algoritmo de Retropropagación (Back
Propagation)
Δwji(t+1) = [ηδjyi(t)+αΔwji(t)]
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
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
173
Causas sobre-ajuste:
Falta de Ejemplos Representativos
Puntos mal
clasificados
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)
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
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
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)
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 )
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)
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)
(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
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
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)
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
192
Suponer que los Errores Son Igualmente
Costosos Pueden Llevar a Malas Decisiones
Examples
Finance
El costo de un mal prestamo es mayor que
negarle un prestamo aun buen cliente
Matriz de Costos
Actual
Sunny Snowy Rainy
Sunny 0 10 15
Predicted
Snowy 1 1 11
Rainy 2 2 2
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
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
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
∑ (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
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
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
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
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,
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.
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
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
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.
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
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)
Propiedades comunes de
una similitud
Las similitudes tienen algunas
características bien conocidas:
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
217
Similitud por coseno
Útil para vectores documentales
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
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
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
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
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)
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.
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
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.
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
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)
227
Algoritmos de Agrupamiento
K-means y sus variantes
Agrupamiento jerárquico
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
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.
Dos Agrupamientos
diferentes con K-means
3 Puntos Originales
2.5
1.5
y
0.5
3 3
2.5 2.5
2 2
1.5 1.5
y
y
1 1
0.5 0.5
0
0
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 2 2
1 1 1
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
2 2 2
1 1 1
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
Importancia de la elección de
los centroides iniciales
Iteration 5
1
2
3
4
3
2.5
1.5
y
0.5
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 2 2
y
1 1 1
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
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
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
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
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
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
237
Limitaciones del K-means:
Diferentes Tamaños
238
Limitaciones del K-means:
Formas no globulares
239
Limitación del K-means
superada
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
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
p2
p3
p4
MIN p5
MAX .
Promedio del Grupo .
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
p2
p3
p4
p5
MIN
MAX .
246
¿Cómo definir la similitud
entre clusters?
p1 p2 p3 p4 p5 ...
p1
× × p2
p3
p4
p5
MIN
MAX .
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
Fortaleza de MIN
248
Limitaciones de MIN
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
Fortaleza de MAX
250
Limitaciones de MAX
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
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
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.
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.
255
DBSCAN
DBSCAN es un algoritmo basado en densidad
Densidad = número de puntos dentro de un radio
específico(Eps)
256
Algoritmo DBSCAN
Eliminar los puntos de ruido
Hacer agrupamiento en los puntos restantes
Puntos Originales
Tipo de puntos:
nuclear, borde y ruido
257
¿Cuándo funciona mejor
DBSCAN?
• Resistencia al Ruido
•Puede manejar clusters de diferentes formas y tamaños
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
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
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
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.
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
264
Usando Matriz de Similitud para
Validación de Cluster
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
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
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
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
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
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
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
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
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
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
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 ”
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
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
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 ⎠
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 ⎠
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
279
NOTAS
NOTAS
280