Este documento se desarrolló a partir de otras fuentes que...
Transcript of Este documento se desarrolló a partir de otras fuentes que...
Este documento se desarrolló a partir de otras fuentes que se encuentran citadas tanto dentro del contenido como en los espacios reservados para la bibliografía. Si usted es autor de los documentos que se tomaron como bibliografía y considera que las referencias a su trabajo no están adecuadamente descritas, por favor comuníquese con el profesor Jonatan Gómez Perdomo a través del correo electrónico: [email protected].
CONTENIDO MÓDULO 3: MINERÍA DE DATOS
Pág.
1. Introducción a la Minería de Datos 1 1.1 Proceso de descubrimiento de conocimiento 1.2 Aplicaciones de la minería de datos 1.3 Análisis exploratorio de datos 2 CRISP 42 2.1 Elección de un sistema de Minería de Datos 2.2 Ejemplos de Sistemas de Minería de Datos 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción 3.2 Limpieza de Datos 3.3 Integración de Datos 3.4 Transformación de Datos 3.5 Reducción de datos 3.6 Principal Component Analysis PCA 4. Reglas de Asociación 102 4.1 Introducción 4.2 Conceptos Básicos 4.3 El algoritmo “A priori” 4.4 Generación de canidatos 4.5 Ejemplo de generación de candidatos 4.6 Generando Reglas de Asociación desde conjuntos de ítems frecuentes 4.7 Reglas de asociación Múltiple-Nivel 4.8 Minando Multi-nivel con soporte reducido 4.9 Método FP-GROWTH 4.10 Reglas de asociación multidimensionales 5 Análisis Supervisado I 122 5.1 Conceptos básicos de aprendizaje maquinal 5.2 Árboles de decisión y Reglas de Decisión 5.3 Medidas de desempeño 6. Análisis Supervisado II 140 6.1 Introducción 6.2 Redes multicapa 6.3 Entrenamiento 6.4 Aplicaciones 6.5 Generalización y sobre ajuste
6.5.1 Error de entrenamiento y prueba 6.5.2 Complejidad del modelo 6.5.3 Control del sobre-ajuste 7. Análisis Supervisado III 178 7.1 Modelos Bayesianos 7.1.1 Principios de probabilidad 7.1.2 Riesgo y costo 7.2 Clasificador Bayesiano 7.3 Naive Bayes 7.4 Clasificación sensible al costo 7.5 Imbalance de clases 8. Regresión y Series de Tiempo 198 9. Análisis No Supervisado: Agrupamiento de Datos (Data Clustering) 207 9.1 Conceptos básicos 9.2 Medidas de similaridad 9.3 Agrupamiento particional 9.4 Agrupamiento jerárquico 9.5 Agrupamiento basado en densidad 10 Análisis no supervisado: agrupamiento 260 10.1 Medidas de desempeño para agrupamiento 10.2 Otros métodos (en malla, SOM)
1
Minería de DatosII - 2007
Introducción a la Minería de Datos
2
Agenda
Proceso de descubrimiento de conocimientoAplicaciones de la minería de datosAnálisis exploratorio de datos
Agenda
Proceso de descubrimiento de conocimientoAplicaciones de la minería de datosAnálisis exploratorio de datos
3
Proceso de descubrimiento de conocimiento
Knowledge Discovery en BD & Minería de Datos
KDD Proceso (Donde las bodegas de datos hacen parte del proceso de minería).
Knowledge Discovery en BD & Minería de Datos
• Grandes bases de datos contienen información no plenamente explotada (información valiosa (oro!)). Esta información puede ser encontrada entre los datos haciendo uso de minería en los datos.
4
Knowledge Discovery en BD: Definición
KDD: Descubrir informacion útil o conocimiento (patrones, asociaciones) desde grandes repositorios de datos.
KDD
Knowledge Discovery en BD: Proceso
Pre-procesamiento de Datos:Limpieza, integración y transformación. Minería de Datos: Uso de mméétodos inteligentestodos inteligentes para extraer conocimiento (búsqueda de oro) .
1. Evaluación de patrones encontrados y presentación
5
Proceso de KDD
Limpieza de Datos
Integración de datos
SelecciónBodega de Datos
Seleccionar Datos Relevantes
Evaluación de Patrones
Minería de Datos
Bases de Datos
Preprocesamiento
Limpieza e IntegraciónBodega de Datos
Ruidoedad de 180 años
Valores PerdidosNo tiene edad
6
Preprocesamiento
Seleccionar datos relevantesReducir dimensiones
Principal Component AnalisisEntropía
Reducir valoresDiscretizar
Dar el mismo peso a todas las dimensiones
Normalizar
Preprocesamiento
Tipos de datosNuméricosCategóricos (ordinales, nominales)
7
PreprocesamientoEdad Ingresos Estudiante Crédito compra _computador
<=30 Alto no Bueno no<=30 Alto no Excelente no31…40 Alto no Bueno si>40 Medio no Bueno si>40 Bajo si Bueno si>40 Bajo si Excelente no31…40 Bajo si Excelente si<=30 Medio no Bueno no<=30 Bajo si Bueno si>40 Medio si Bueno si<=30 Medio si Excelente si31…40 Medio no Excelente si31…40 Alto si Bueno si>40 Medio no Excelente no
Agenda
Proceso de descubrimiento de conocimientoAplicaciones de la minería de datosAnálisis exploratorio de datos
8
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)TendenciasReportes
9
Tareas de la minería de datos
Encontrar Asociaciones
Descubrir asociaciones, relaciones / correlaciones entre un conjunto de “ítems”
{pan,leche,pañales,gaseosa}5
{pan,leche,pañales,cerveza}4
{leche, pañales, cerveza, gaseosa}
3
{pan,pañales,cerveza,huevos}2
{pan, leche}1
ÍtemsIdInterInteréés en analizars en analizarlos datos para los datos para aprenderaprenderel comportamiento de el comportamiento de las compras de sus las compras de sus clientesclientes
•Promociones de mercadeo•Manejo de inventario•Relación con el cliente
10
Encontrar AsociacionesAsociaciones, relaciones / correlaciones enforma de reglasforma de reglas: X X ⇒⇒ YY(registros en BD que satisfacen X, también satisfacen Y)
Transaction ID Items Bought2000 A,B,C1000 A,C4000 A,D5000 B,E,F
Frequent Itemset Support{A} 75%{B} 50%{C} 50%{A,C} 50%
Min. support 50%Min. confidence 50%
For rule A ⇒ C: support = support({A ∪ C}) = 50%confidence = support({A ∪ C})/support({A}) = 66.6%
Encontrar Asociaciones (Aplicaciones)
Supermercados (Canasta de mercado)Contratos de Mantenimiento (Que debe hacer el almacén para potenciar las ventas de contratos de mantenimiento)
98% de la gente que compra llantas y accesorios de autos también obtiene servicios de mantenimiento
Recomendaciones de paginas Web (URL1 & URL3 -> URL5)
60% de usuarios de la Web quien visita la Pagina A y B compra el ítem T1
11
Clasificación y Predicción
Clasificación: Construir un modelomodelo por cada clase de dato etiquetado usado en el entrenamiento del modelo. Basado en sus características y usado para clasificar futuros datosPredicción: Predecir valores posibles de datos/atributos basados en similar objetos.
Proceso de Clasificación (Paso 1): Construcción del Modelo(Problema de Segunda Clase)
Datos de Entrenamiento
NOMBRE Rango Años OcupadoMike Profesor Asistente 3 noMary Profesor Asistente 7 siBill Profesor 2 siJim Profesor Asociado 7 siDave Profesor Asistente 6 noAnne Profesor Asociado 3 no
Algoritmos de Clasificación
IF rango = ‘profesor’OR años > 6THEN ocupado = ‘yes’
Clasificador(Modelo)
12
Proceso de Clasificación (Paso 2): Uso del Modelo en la Predicción
Clasificador
Datos de Prueba
Nombre Rango Años OcupadoTom Profesor Asiste 2 noMellisa Profesor Asoci 7 noGeorge Profesor 5 siJoseph Profesor Asiste 7 si
Datos no vistos
(Jeff, Profesor, 4)
¿Ocupado?
Clasificación y Predicción(árboles de decisión)
Determinar si clientes compraran determinado producto.
age income student credit_rating buys_computer<=30 high no fair no<=30 high no excellent no30…40 high no fair yes>40 medium no fair yes>40 low yes fair yes>40 low yes excellent no31…40 low yes excellent yes<=30 medium no fair no<=30 low yes fair yes>40 medium yes fair yes<=30 medium yes excellent yes31…40 medium no excellent yes31…40 high yes fair yes>40 medium no excellent no
¿Edad?
overcast
¿Estudiante? ¿Crédito?
no si buenoexcelente
<=30 >40
no nosi si
si
30..40
13
Evaluación del modelo
Basado en el número de registros que fueron clasificados correcta e incorrectamente.Confusion Matrix
Clase
Clase predicción
f00f01Clase =2Clase =2
f10f11Clase =1Clase =1
Clase =2Clase =2Clase =1Clase =1
Accuracy= Número correctosTotal
=f 11 +f 00
f 11+f 10 +f 01 +f 00
Error rate = Número incorrectosTotal
=f 10 +f 10
f 11 +f 10 +f 01 +f 00
Clasificación y Predicción(Aplicaciones)
Aprobación de créditosDiagnóstico médicoClasificación de documentos de texto (text mining)Recomendación de paginas Web automáticamenteSeguridad
14
RegresiónPredicción de una variable real (no
categórica )Variable real -> regresiónVariable categórica -> clasificación
Series de tiempoPredecir valores futuros de acuerdo al tiempo
15
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
7.5
7.75
8
8.25
8.5
8.75
9
9.25
9.5
9.75
10
Similaridad
Medidas de similaridad/distanciaDependen de los tipos de datos
Numéricos:Distancia Euclidean
BinariosJaccardCosine
16
Agrupación - Aplicaciones
Procesamiento de Imágenes (segmentar imágenes acolor en regiones)Indexamiento de textoe imágenes
WWWClasificació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)
17
Aplicaciones de “Web Mining”
Personalización automática: Sitios adaptativos facilitan navegación, búsqueda, etc. E-commerce: Sitios Web pueden ser construidos mas amigablesMercadeo Optimizado (publicidad) para negociar productos, servicios e informaciónMejores Motores de Búsqueda
•Medidas de Similaridad•Agrupamiento Jerárquico•Sistemas IR•Consultas Imprecisas•Datos Textuales•Motores de Búsqueda Web
•Teorema de Bayes•Análisis de Regresión•Algoritmo EM•Agrupamiento K-Means•Análisis de Series de Tiempo
•Redes Neuronales•Algoritmos de Árboles de Decisión
•Técnicas de Diseño de Algoritmos•Análisis de Algoritmos•Estructuras de datos
•Modelo de Datos Relacional•SQL•Algoritmos de asociacion de reglas•Bodegas de Datos•Técnicas escalables
18
Técnicas usadas en Minería de Datos
EstadísticaÁrboles de DecisiónRedes NeuronalesAlgoritmos GenéticosLógica Difusa
Θj -
f
weighted sum
Inputvector x
output y
Activationfunction
weightvector w
∑
w0
w1
wn
x0
x1
xn
age?
overcast
student? credit rating?
no yes fairexcellent
<=30>40
no noyes yes
yes
30..40
Naïve Bayes
Teorema de BayesTeorema de Bayes
P(Y|X) = P(X|Y)P(Y|X) = P(X|Y)··P(Y) / P(X)P(Y) / P(X)Supuesto “Naïve”: independencia de atributos
P(x1,…,xk|Y) = P(x1|Y)·…·P(xk|Y)
19
Redes Bayesianas
0.7
E=yes
Heart disease Heart burn
Chest painBlood pressure
exercise diet
0.25
D=Healthy
0.85D=unhealthy
D=healthy 0.2
Hb=yes
0.2HD=no
HD=yes 0.85
Bp=high
0.75E=noD=unhealthy
0.55E=noD=healthy
0.45E=yesD=unhealthy
E=yesD=healthy
0.25
Hd=yes
0.1HD=noHb=no
0.4HD=noHb=yes
0.6HD=yesHb=no
HD=yesHb=yes
0.8
CP=yes
Redes Neuronales
20
Ejemplo: Red neuronal
Ejemplo: Red neuronal
21
Algoritmos genéticosNiches (Optimización multimodal)
Algoritmo ECSAGO (no supervisado) para agrupamiento
Agenda
Proceso de descubrimiento de conocimientoAplicaciones de la minería de datosAnálisis exploratorio de datos
22
Motivaciones para el Análisis Exploratorio de Datos (AED)
Ayudar a seleccionar la herramienta adecuada para el preprocesamiento o análisisHacer 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.
23
¿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 datosDescubrir estructuras subyacentesExtraer variables importantesDetectar valores atípicos y anomalías Probar suposiciones subyacentes
Historia del AED
El trabajo original en AED es Exploratory Data Analysis, Tukey, (1977).
Trabajos destacados:Data Analysis and Regression, Mosteller and Tukey (1977),Interactive Data Analysis, Hoaglin (1977), The ABC's of EDA, Velleman and Hoaglin (1981)
La mayoría de las técnicas para AED son gráficas con pocas técnicas cuantitativas.
Las gráficas proveen las facilidades al analista de poder revelar los secretos estructurales de los datos y obtener otros nuevos insospechados dentro del estudio de los datos con la combinación de las habilidades reconocimiento natural de patrones que todos poseemos.
24
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ótesisAnálisis de varianzaPuntos estimados e intervalos de confianzaMínima regresión cuadrada
El enfoque del AEDLas preguntas de análisis son relevantes en la aproximación clásica estadística.
Lo que distingue a la aproximación del AED es el énfasis en las técnicas gráficas para ganar entendimiento lo que se opone a la aproximación clásica de las pruebas cuantitativas.
La mayoría de los analistas de datos usarán una mezcla de de técnicas gráficas y clásicas cuantitativas para encaminar sus problemas.
25
Técnicas del AED
Las técnicas gráficas que se emplean en AED son simples, y consisten en técnicas de:
Graficar los datos crudos como: histogramas, diagramas de dispersión, etc.
Graficar estadísticas simples como: gráficas de promedio, gráficas de desviación estándar, gráficas de cajas, etc.
Organización de tales diagramas para maximizar la habilidad de reconocimiento natural de patrones, como puede ser la utilización de múltiples gráficas por página.
Objetivos del AED (I)Objetivo primario:
Maximizar el entendimiento del analista de un conjunto de datos, capturando la estructura subyacente del conjunto de datos mientras se proveen todos los ítems que un analista quiere extraer del conjunto de datos como:
Una lista de valores atípicosUna interpretación robusta de conclusionesEstimados para parámetrosIncertidumbres para esos estimadosUna lista ordenada de los factores importantes
26
Preguntas de Análisis (I)Preguntas que responde la exploración de datos :
1. ¿Qué es un valor típico?2. ¿Cuál es la incertidumbre para un valor típico?3. ¿Cuál es la distribución que mejor se ajusta a un conjunto de
números?4. ¿Qué es un percentil?5. ¿Tiene el factor algún efecto?6. ¿Cuáles son los factores más importantes?7. ¿Cuál es la mejor función para relacionar una variable de
respuesta a un conjunto de factores de variables?8. ¿Cuáles son los valores óptimos para los factores?9. ¿Se puede separar la señal del ruido en datos dependientes del
tiempo?10. ¿Podemos extraer alguna estructura desde datos multivariados?11. ¿En los datos hay datos atípicos?
Preguntas de Análisis (II)El analista debe identificar las preguntas relevantes para su problemaSe necesita identificar cuales preguntas necesitan ser respondidas y cuales preguntas no tienen que ver con el problema.Se debe dar prioridad a las preguntas en orden decreciente de importancia.Las técnicas de AED están vinculadas a cada una de éstas preguntas.
27
Estadísticas Descriptivas
Son números que resumen las propiedades de los datosLas propiedades resumidas incluyen:
Ubicación: promedio, mediana, modaDispersión: desviación estándar
La mayoría de las estadísticas descriptivas pueden ser calculadas en un solo paso a través de los datos
Frecuencia y moda
La frecuencia de un valor de un atributo es el porcentaje de veces que el valor aparece en un conjunto de datosPor ejemplo, dado un atributo “género” y una población representativa de gente, el género “femenino” aparece alrededor del 50% de las veces.La moda es el valor del atributo más frecuente Las nociones de frecuencia y la moda son usadas tipicamente con datos categoricos.
28
Percentiles (I)
La noción de un percentil es más útil para datos continuosDado un ordinal o un atributo continuo x y un número p entre 0 y 100, el p percentil es un valor xp de x tal que el p% de los valores observados de x son menores a xp
Para el 50 percentil es el valor de x50%donde el 50% de todos los valores de x son menores a x50%
Percentiles (II)
29
Medidas de Ubicación:Media y Mediana
La media es la medida más común de la ubicación de un conjunto de datosLa media es muy sensible a los datos atípicosLa mediana es comúnmente usada
Medidas de dispersión: Rango y Varianza
Rango es la diferencia entre el máximo y el mínimoLa varianza o desviación estándar es la medida más común de dispersión de un conjunto de puntos.
Este es sensitivo a los datos atípicos, así como las demás medidas que son frecuentemente usadas.
30
Gráfica de Ejecución de Secuencia
Definición: y(i) Vs. iLa gráfica se constituye por:
Eje vertical: variable de respuesta Y(i)Eje horizontal: índice i (i = 1, 2, 3, ... )
Gráfica de Ejecución de Secuencia
PreguntasLa Gráfica de Ejecución de Secuencia puede ser usada para responder las siguientes preguntas:
¿Hay cambios de localización?¿Hay cambios en la variación?¿Hay cambios en la escala?¿Hay cambios en los valores atípicos?
31
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 objetosLa forma del histograma depende del número de clases
Ejemplo: Anchura del pétalo (10 y 20 clases, respectivamente)
Histogramas de dos dimensionesMuestra la unión de distribución de valores de dos atributosEjemplo: Anchura del pétalo y largo del pétalo
¿Qué nos está diciendo?
32
HistogramaEl 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 variablesUn 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.
33
Gráfica de DispersiónRelación lineal entre las variables Y y XEsta 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?
34
Combinación de gráficas de dispersión
Las gráficas de dispersión pueden ser combinadas en múltiples gráficas por página para ayudar a entender la estructura en un nivel más alto en conjuntos de datos con más de dos variables
Scatter Plot Array of Iris Attributes
35
Gráfica de Dispersión
La gráfica de dispersión descubre las relaciones en los datos.“Relaciones” significa que hay algunas asociaciones estructuradas (lineales, cuadráticas, etc.) entre X y Y. Se tiene en cuenta que:
Causalidad implica asociaciónAsociación no implica causalidad.
Gráficas de caja
Propósito: Verificar la ubicación y la variación de los cambiosLas 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.
36
Gráficas de cajaInventadas por J. TukeySon otra forma de mostrar la distribución de los datosLa siguiente figura muestra la parte básica de una gráfica de caja
outlier
10th percentile
25th percentile
75th percentile
50th percentile
10th percentile
Gráficas de cajaLas gráficas de caja se conforman por:
Eje Vertical: valores del factorEje 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.
37
Ejemplo de gráficas de caja Las gráficas de caja pueden ser usadas para comparar atributos
Otras técnicas de visualizaciónGráfica de coordenadas paralelas:
Cada dato se grafica como una linea, con los puntos ubicados de acuerdo al valor de los atributos
Gráficas de estrella Aproximación similar a las coordenadas paralelas, pero con un eje radial desde un punto centralLa línea que conecta los valores de un objeto es un polígono
Chernoff FacesEsta aproximación asocia cada atributo con una característica de la caraLos valores de cada atributo determinan la apariencia de las características faciales.Cada objeto se convierte en una cara separadaDepende de la habilidad humana para distinguir las caras
38
Gráfica de Coordenadas Paralelas para el Conj. IRIS
Gráfica de estrellaMuestra datos multivariadosUsa un formato de gráficas múltiples con muchas estrellas en cada página y cada estrella muestra una observaciónLa 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.
39
Gráfica de estrella
Preguntas La gráfica de estrella puede ser usada para responder las siguientes preguntas:
¿Qué variables son dominantes para la observación dada?¿Cuáles observaciones son más similares, i.e., hay agrupamiento de observaciones?¿Hay valores atípicos?
Chernoff Faces for Iris Data
Setosa
Versicolour
Virginica
40
Visualization of the Iris Std. Deviation Matrix
standarddeviation
Visualization of the Iris Correlation Matrix
41
Bibliografía
NIST/SEMATECH e-Handbook of Statistical Methods, http://www.itl.nist.gov/div898/handbook/
Introduction to Data Mining by Tan, Steinbach, Kumar
NOTAS
42
Minería de DatosII - 2007
Proceso de Minería de Datos
43
Agenda
Elección de un sistema de Minería de DatosEjemplos de Sistemas de Minería de DatosCRISP-DM
Agenda
Elección de un sistema de Minería de DatosEjemplos de Sistemas de Minería de DatosCRISP-DM
44
¿Cómo elegir un sistema de Minería de Datos?
Los sistemas comerciales de Minería de Datos tienen pocas características comunes:
Diferentes funciones y métodos de minería de datos.Casi siempre manejan diferentes tipos de conjuntos de datos.
Para elegir se necesita tener en cuenta múltiples dimensiones¿Qué tipos de datos se usarán: relacional, transaccional, texto, series de tiempo, espacial?Configuración del sistema:
¿Se utilizará en uno o varios sistemas operativos? ¿Proveerá interfaces basadas en Web y permitirá datos XML como entrada y / o salida?¿Arquitectura Cliente / Servidor?
¿Cómo elegir un sistema de Minería de Datos?
Fuentes de Datos¿Archivos de texto ASCII, múltiples fuentes de datos relacionales?¿Soporte para conexiones ODBC (OLE DB, JDBC)?
Funciones de Minería de Datos y metodologíasFunción única Vs. Múltiples funciones de mineríaMétodos único Vs. Varios métodos por función
Más funciones y métodos por función proveen al usuario mayor flexibilidad y poder de análisis
Acoplamiento con sistemas de bases y bodegas de datos.Cuatro formas de acoplamiento:
1. No acoplado2. Acoplamiento débil3. Acoplamiento Semi – fuerte4. Acoplamiento Fuerte
45
¿Cómo elegir un sistema de Minería de Datos?
EscalabilidadPor 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 datosVisualización de resultados de mineríaVisualización del proceso de mineríaMinerí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 usuarioEsencial para guiar al usuarioMinería de datos muy interactiva
Agenda
Elección de un sistema de Minería de DatosEjemplos de Sistemas de Minería de DatosCRISP-DM
46
Ejemplos de Sistemas de Minería de Datos
IBM Intelligent MinerTiene una amplia gama de algoritmos de mineríaAlgoritmos de Minería escalablesToolkits: 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 MinerVariedad de herramientas de análisisHerramientas de Bodegas de Datos y algoritmos múltiples de minería de datos.
Microsoft SQLServer 2000Bases de datos integradas y OLAP con MineríaSoporte para OLEDB para DM estándar
Ejemplos de Sistemas de Minería de Datos
SGI MineSetAlgoritmos múltiples de minería de datos y estadísticas avanzadas.Herramientas de visualización avanzadas
Clementine (SPSS)Ambiente integrado de minería de datos para usuarios finales y desarrolladores.Algoritmos múltiples de minería de datos y herramientas de visualización.
DBMiner (DBMiner Technology Inc.)Múltiples módulos de Minería de Datos: discovery - driven OLAP analysis, asociación, clasificación y agrupamiento.Eficiente en: asociación y funciones para reconocimiento de patrones y herramientas visuales para clasificación.Minería tanto en bases de datos relacionales como en bodegas de datos.
47
Agenda
Elección de un sistema de Minería de DatosEjemplos de Sistemas de Minería de DatosCRISP-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.
48
¿Por qué el proceso debe ser estándar?
Plataforma para almacenar experiencia:
Permite que los proyectos sean replicados.
Ayuda a la planeación y gerencia del proyecto.
“Factor de Comodidad”para nuevos usuarios:
Demuestra la madurez de la minería de datos.
Reduce la dependencia en “estrellas”
El proceso de minería de datos debe ser confiable y repetible por personas con poco conocimiento de minería de datos.
Estandarización del ProcesoCRoss Industry Standard Process for Data Mining (CRISP-DM)Inicia en Sept. de 1996SPSS/ISL, NCR, Daimler-Benz, OHRAFinanciado por la Comisión Europea:Red mundial de aproximadamente 200 miembros CRISP-DM:
Proveedores de herramientas de Minería de Datos: SPSS, NCR, IBM, SAS, SGI, Data Distilleries, Syllogic, Magnify, ..Proveedores de Sistemas / consultores: Cap Gemini, ICL Retail, Deloitte & Touche, …Usuarios Finales: BT, ABB, Lloyds Bank, AirTouch, Experian, ...
49
CRISP-DMNo - propietarioIndependiente de la aplicación o la industria.Neutral con respecto a herramientasEnfocado en problemas de negocios así como en el análisis técnico.Plataforma guíaExperiencia Base
Plantillas para Análisis
CRISP-DM: Descripción
50
CRISP-DM: Fases1. 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 datosObtención conjunto inicial de datos.Exploración del conjunto de datos.Identificar las características de calidad de los datosIdentificar los resultados iniciales obvios.
3. Preparación de DatosSelección de datosLimpieza de datos
4. ModelamientoImplementación en herramientas de Minería de Datos
5. EvaluaciónDeterminar si los resultados coinciden con los objetivos del negocioIdentificar las temas de negocio que deberían haberse abordado
6. Despliegue Instalar los modelos resultantes en la prácticaConfiguración para minería de datos de forma repetida ó continua
Comprensión de Datos EvaluaciónPreparación de
DatosModelamiento
• Determinar los Objetivos del NegocioAntecedentesObjetivos del NegocioCriterio de Éxito
• Evaluar la situaciónInventario de requerimientos de Recursos, Hipótesis y LimitacionesRiesgos y ContingenciasTerminologíaCostos y Beneficios
• Determinar el objetivo de Minería de Datos Objetivos de Minería de DatosCriterio de Éxito de Minería de Datos
• Desarrollar el Plan de ProyectoPlan de proyectoEvaluación inicial de herramientas y técnicas
• Obtener los datos inicialesReporte de la obtención de los datos iniciales
• Describir los DatosReporte con la descripción de los datos
• Explorar de DatosReporte de la Exploración de Datos
• Verificar de la calidad de los DatosReporte de la calidad de los datos
• Conjunto de Datos
• Descripción de los Datos
• Seleccionar los DatosJustificación de la inclusión / Exclusión
• Limpiar DatosReporte de Limpieza de Datos
• Construir DatosAtributos DerivadosRegistros Generados
• Integrar DatosDatos Combinados
• Dar formato a los DatosDatos Formateados
• Seleccionar Técnica de ModelamientoTécnica de ModelamientoModelamientoHipótesis
• Generar el Diseño de PruebaDiseño de Prueba
• Construir el ModeloConfiguración de los parámetros del ModeloDescripción del Modelo
• Evaluar el ModeloEvaluación del ModeloRevisión de la configuración de los parámetros del modelo
• Evaluar ResultadosHipótesis de Minería de DatosResultados w.r.t. Criterio de éxito del negocioModelos aprobados
• Revisar el ProcesoRevisión del Proceso
• Determinar los siguientes pasosLista de Posibles AccionesDecisión
• Desplegar el PlanPlan de Despliegue
• Monitorear y MantenerPlan de monitoreo y mantenimiento
Desarrollar el reporte finalReporte FinalPresentación Final
Revisión del ProyectoDocumentación de las experiencias
Despliegue
Fases y ActividadesComprensión del Negocio
51
Fases en el proceso de DM (1 y 2)
Comprensión del negocio:
Enunciar los objetivos del negocioEnunciar los objetivos de Minería de DatosEnunciar el criterio de éxito
Comprensión de datosExplorar los datos y verificar su calidadEncontrar datos atípicos
Fases en el proceso de DM(3)Preparación de Datos:
Usualmente consume alrededor del 90% del tiempo
ObtenciónEvaluaciónConsolidación y Limpieza
Tablas enlazadas, nivel de agregación, valores perdidos, etc.
Selección de Datos¿Se ignoran los datos de carácter no contributivo?¿Datos atípicos?Usar ejemplosHerramientas de Visualización
Transformaciones - crear nuevas variables
52
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 ModelosModelos Predictivos para Regresión y Clasificación
Algoritmos de Regresión (Predicción de resultados numéricos): redes neuronales, Reglas inductivas, CART OLS regression, GLM.Algoritmos de clasificación (Predicen resultados simbólicos): CHAID, C5.0 (discriminant analysis, logistic regression).
Modelos Descriptivos para Agrupamiento y Búsqueda de Asociaciones:
Algoritmos de Agrupamiento: K-means, Kohonen.Algoritmos de Asociación:
A priori, GRI.
53
Fases en el proceso de DM(5)Evaluación del Modelo
¿Qué tan bien funciona con datos de prueba?Los métodos y el criterio depende del tipo de modelo:
Ejemplo: Matriz de confusión en los modelos de clasificación, rata de error promedio en los modelos de regresión.
Interpretación del Modelo:
¿Es importante o no?Puede ser fácil o difícil depende del algoritmo.
Fases en el proceso de DM(6)Despliegue
Determinar la forma en que los resultados deben ser utilizados¿Quién necesita usarlos?¿Qué tan frecuentemente se necesita usarlos?
Despliegue de los resultados de Minería de Datos por:
Puntuación de la base de datos.Utilización de los resultados como reglas del negocioon-line scoring interactivo.
54
CRISP-DM: Detalles
Disponible en línea: www.crisp-dm.org20 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 ladoPero no es dependiente de las herramientas de SPSS
¿Por qué CRISP-DM?El proceso de minería de datos debe ser confiable y reproducible por personas con poco conocimiento sobre minería de datos.
CRISP-DM provee una plataforma uniforme para:Directrices
Documentación de experiencias
CRISP-DM es flexible para tener en cuenta las diferencias:
Problema de Negocios y organizaciones diferentes
Datos Diferentes
55
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
Bibliografía
NOTAS
56
Minería de DatosII - 2007
Preparación de datos
57
Introducción
PROBLEMA DE KDD
Fuente de Datos
Datos Pre-procesdados
Evaluación de Patrones
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.”
58
Introducción
Determinación de Objetivos
Preparación de Datos
Minería de Datos
Evaluación de Modelos
0
10
20
30
40
50
60
Esf
uerz
o %
Determinaciónde Ojetivos
Minería deDatos
Importancia
Datos malos extracción de patrones/reglas malas (poco útiles).
Datos Incompletos: falta de valores de atributos, …Datos con ruidoDatos inconsistentes (incluyendo discrepancias)
59
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.
ImportanciaDatos de calidad posible generación de patrones/reglas de calidad.
Recuperar información incompleta.Eliminar outliersResolver conflictos, …
Decisiones de calidad deben ser basadas en datos de calidad.
Hecho: La preparación de datos (limpieza, transformación, ….) puede llevar la mayor parte del tiempo de trabajo (hasta un 90%).
60
Componentes de la Preparación de Datos
Engloba Técnicas de análisis de datos
que permitenMejorar la calidad de un conjunto de datos
Con el objetivo dePermitir 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 de Datos
Reducción de Datos
Uno, dos, tres, cuatro, cinco
1, 2, 3, 4, 5
61
Limpieza de DatosResuelve 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ácilDesventajas:
Perdida de mucha información disponible en esos registros No es efectiva cuando el porcentaje de valores perdidos por variable es grande.
62
Limpieza de Datos: Valores Perdidos
Inferirlos: Usar algún análisis estadísticoValor medio del atributo para todos los ejemplos pertenecientes a la misma clase: missing valueValor más probable: se realiza una estimación/imputación del valor
FrecuenciaDistanciaOtros..
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.
63
Limpieza de Datos: Ruido
Suavizamiento (Smoothing)
Limpieza de Datos: Ruido
Inconsistencia
Número de hijos = 3Edad = 2
64
Integración de DatosObtiene 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
SimilarityBased Operations for Data Integration. Data And Knowledge Engineering 48:3, 351-387,
2004.
Integración de Datos
Diferentes escalasPesos vs Dolares
Atributos derivadosSalario Mensual vs Salario Anual
Solución Procedimientos semi-automáticosETLMinería
65
Transformación de DatosLos datos son transformados o consolidados de forma apropiada para la extracción de información. Diferentes vías:
Sumarización de datosOperaciones 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
66
Transformación de Datos:Normalización
Normalización por escala decimal
Donde j es el entero más pequeño tal que Max (| v’|) < 1
Reducción de DatosAgrupamiento – CompactaciónDiscretizaciónSelección de característicasSelección de Instancias
67
Reducción de DatosAgrupamiento – CompactaciónDiscretizaciónSelección de característicasSelección de Instancias
Compactación vía análisis de clusters
Reducción de Datos:Agrupamiento
68
Reducción de DatosAgrupamiento – CompactaciónDiscretizaciónSelección de característicasSelecció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 intervalosAlmacena solo las etiquetas de los intervalosImportante para reglas de asociación y clasificación, algunos algoritmos solo aceptan datos discretos.
69
Reducción de Datos: Discretización
Ejemplo:
4…231201…0101…00# de Autos
65
…50
43
31
29
27
25
…24
23
20
15
…14
10
Edad
Edad (0-14 años) Edad (16-24 años) Edad (25 - 65 años)
Reducción de Datos: Discretización
Peso (50 – 58 Kg) Peso (59 – 67 Kg) Peso ( > 68 Kg)
Distribución de Peso
0
5
10
15
20
50 52 54 56 58 60 62 64 66 68 70 72 74
Peso
Frec
uenc
ia
70
Reducción de Datos: Discretización
Igual amplitud
Distribución de Temperatura
02468
[64,,,67) [67,,,70) [70,,,73) [73,,,76) [76,,,79) [79,,,82) [82,,,85]
Temperatura
Frec
uenc
ia
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
0
5
10
15
20
25
[0 - 5'000,000) [5'000,000 -10'000,000)
[10'000,000 -15'000,000]
Ingresos
Frec
uenc
ia
71
Reducción de Datos: Discretización
Igual Frecuencia
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
0
2
4
6
Frecuencia
63,,,70 71,,,73 74,,,82 83,,,85
Temperatura en ºC
Distribución de Temperatura
Reducción de Datos: Discretización
Ventajas de la igualdad en frecuenciaEvita desequilibrios en el balance o entre valoresEn la práctica permite obtener puntos de corte mas intuitivos.
Consideraciones adicionales: Se deben crear cajas para valores especialesSe deben tener puntos de corte interpretables
72
Reducción de Datos:Discretización - BIN
Valores numéricos que pueden ser ordenados de menor a mayorParticionar en grupos con valores cercanosCada 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}
73
Reducción de Datos:Discretización - BIN
usando media:{1.33, 1.33, 1.33, 3, 3, 3, 5.25, 5.25, 5.25, 5.25}
Remplazando por el limite mas cercano:{1, 1, 2, 3, 3, 3, 4, 4, 4, 7}
Problema de optimización en la selección de k bins, dado el numero de bins k: distribuir los valores en los bins para minimizar la distancia promedio entre un valor y la media o mediana del bin.
Reducción de Datos:Discretización - BIN
AlgoritmoOrdenar valoresAsignar 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)
74
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 amplitudIntervalos de igual frecuenciaClustering …..
Algoritmos supervisados:Basados en Entropía [Fayyad & Irani andothers, 1993] Metodos Chi-square [Kerber 92]
75
Reducción de Datos:Discretización
Discretización sin el uso de clases
DATOSIntervalo de Igual
Amplitud
Reducción de Datos:Discretización
Discretización sin el uso de clases
DATOS
Intervalo de Igual Frecuencia
76
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)
3 Clases para las variables X y Y5 Clases para las variables X y Y
77
Reducción de DatosAgrupamiento – CompactaciónDiscretizaciónSelección de característicasSelección de Instancias
Bibliografía:H. Liu, H. Motoda. Feature Selection for Knowledge Discovery and DataMining. 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ápidamenteMayor exactitud → el clasificador generaliza mejor Resultados más simples → más fácil de entender
SC y Transformación (extracción y construcción)
78
Reducción de Datos: Selección de Características
4,0010100,128,4549e
3,0011100,127,4538d
2,0010100,126,4527c
1,0011100,125,4516b
0,0010100,124,4505a
654321
Variable 1
Variable 6
Reducción de Datos: Selección de Características
La SC se puede considerar como en problema de búsqueda
{}
{1} {2} {3} {4}
{1,2} {1,3} {1,4} {3,4}{2,3} {2,4}
{1,2,3} {1,2,4} {1,3,4} {2,3,4}
{1,2,3,4}
79
Reducción de Datos:Selección de Características
Distintas Clasificaciones.
Reducción de Datos:Selección de CaracterísticasAlgoritmos de Ranking
Devuelven una lista de atributos ordenados según algún criterio de evaluación.
ENTRADA: X Atributos, C criterio de Evaluación
LISTA = {}
PARA
CADA ATRIBUTO xi, i Є {1, …, N}
Vi= Calcular(xi, C)Insertar xi en la LISTA según Vi
SALIDA: Lista (ordenada por releavancia de atributos)
80
Reducción de Datos:Selección de CaracterísticasAlgoritmos Subconjunto de Atributos
Devuelven un subconjunto de atributos optimizado según algún criterio de evaluación.
ENTRADA: X Atributos, U criterio de Evaluación
SUBCONJUNTO = {}
REPETIR
SK = GenerarSubconjunto(x)
Si existeMejora (S, SK , U)
Subconjunto = SK
HASTA (Criterio de Parada )
SALIDA: Lista (ordenada por releavancia de atributos)
Reducción de Datos:SC usando Entropía
Para enumerar dimensiones (ranking)Basado en la medida de similaridad (inversa a la distancia)
DeuclidianaciadislaesDwhereeS ijD
ijij /)5.0(lntan −== − αα
nxxSn
kjkikij /
1⎟⎠
⎞⎜⎝
⎛== ∑
=Hamming similarity (variables nominales)
F3F2F1
3ZCR5
1XBR4
2YCR3
2YBR2
1XAR1
2/3
0/3
R3
0/3
2/3
2/3
R4 R5R2R1
0/3R4
1/3R3
0/3R2
0/30/3R1
similaridades
81
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-dimensionesCriterio para excluir dimensiones: cambios en el nivel del orden en los datos Cambios medidos con entropíaEntropí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ónSi las medidas son cercanas, el conjunto de datos reducido aproxima el original conjunto de datosEntropía:
El algoritmo esta basado en “sequential backward ranking”La entropía es calculada en cada iteración para decidir el “ranking” de las dimensiones. Las dimensiones son gradualmente removidas
( )∑ ∑−
= +=
−×−+×−=1
1 1))1log()1(())log((
N
i
N
ijijijijij SSSSE
Similaridad entre xi y xj
82
Reducción de Datos:SC usando Entropía
Algoritmo1. Comienza con todo el conjunto de datos F2. EF = entropía de F3. Por cada dimensión f Є F,
Remover una dimensión f de F y obtener el subconjunto FfEFf = entropía de FfSi (EF - EFf ) es mínimaActualizar el conjunto de datos F = F – ff 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: complejidadImplementación paralela
83
Principal Component Analysis - PCA
Vectores propios (Eigenvectors) son casos especiales de multiplicación de matrices:
⎟⎟⎠
⎞⎜⎜⎝
⎛×=⎟⎟
⎠
⎞⎜⎜⎝
⎛=⎟⎟
⎠
⎞⎜⎜⎝
⎛×⎟⎟
⎠
⎞⎜⎜⎝
⎛
⎟⎟⎠
⎞⎜⎜⎝
⎛=⎟⎟
⎠
⎞⎜⎜⎝
⎛×⎟⎟
⎠
⎞⎜⎜⎝
⎛
23
48
1223
1232
511
31
1232
No es múltiplo del vector original
Cuatro veces el vector original
Matriz detransformación EigenvectorVector transformado en su
posición original detransformación
PCA: Propiedades de eigenvectors
Se encuentran para matrices cuadradasNo todas las matrices cuadradas tienen eigenvectorsSi una matriz nXn tiene eigenvectors, entonces tiene n eigenvectorsLos eigenvectors son perpendiculares (ortogonales)
84
PCA: Propiedades de eigenvectors
Escalar el eigenvector a longitud 1 (estándar)
( )
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
=+⎟⎟⎠
⎞⎜⎜⎝
⎛
132
133
:1
1323:23 22
eslongitudconvectorel
eslongitud
PCA – Valores propios (Eigenvalues)
⎟⎟⎠
⎞⎜⎜⎝
⎛×=⎟⎟
⎠
⎞⎜⎜⎝
⎛=⎟⎟
⎠
⎞⎜⎜⎝
⎛×⎟⎟
⎠
⎞⎜⎜⎝
⎛23
48
1223
1232
Eigenvalue asociado conel eigenvector
85
PCA – Eigenvalues Taller
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
−−−
206214103
Cual de los siguientes vectores son eigenvectors de la matriz? Cual es su correspondiente eigenvalue?
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛−
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛−
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
− 123
010
311
201
122
Principal Component AnalysisReduce el número de dimensiones (compresión) sin mucha perdida de información
86
PCA: Método (Ejemplo)1. Restar la media
91.181.1 == yx
PCA: Método (Ejemplo)2. Calcular la matriz de covarianzas
⎟⎟⎠
⎞⎜⎜⎝
⎛=
716555556.0615444444.0615444444.0616555556.0
cov
87
PCA: Método (Ejemplo)3. Calcular eigenvectors y eigenvalues de la
matriz de covarianzas.
⎟⎟⎠
⎞⎜⎜⎝
⎛=
28402771.10490833989.0
seigenvalue
⎟⎟⎠
⎞⎜⎜⎝
⎛−−−
=735178656.0677873399.0677873399.0735178656.0
rseigenvecto
Método para calcular eigenvectors= Jacobi (Investigar)
PCA: Método (Ejemplo)
Eigenvectors(perpendicular) Entre los puntos.
Los puntos están relacionados con esta línea
Menosimportante
88
PCA: Método (Ejemplo)4. Escoger componentes y formar vector
(feature vector)
• Ordenar de eigenvalues de mayor a menor (orden de significancia)
⎟⎟⎠
⎞⎜⎜⎝
⎛=
28402771.10490833989.0
seigenvalue
Valores pequeños de eigenvalues indican que el eigenvectores menos importante.
⎟⎟⎠
⎞⎜⎜⎝
⎛−−−
=735178656.0677873399.0677873399.0735178656.0
rseigenvecto
Componente Principal (mayor eigenvalue)
PCA: Método (Ejemplo)Cuantos componentes principales son necesarios para tener una buena representación de los datos?Analizar la proporción de la varianza (eigenvalues). Dividiendo la suma de los primeros m eigenvalues por la suma de todos los eigenvalues
⎟⎠
⎞⎜⎝
⎛
⎟⎠
⎞⎜⎝
⎛
=
∑
∑
=
=n
ii
m
ii
R
1
1
λ
λ90% es considerado bueno
89
PCA: Método (Ejemplo)5. Derivar nuevo conjunto de datos
Matriz de eigenvectorsDatos ajustadosusando la media
X
PCA: Método (Ejemplo)Nuevo conjunto usando los dos eigenvectors
90
PCA: Obtener el original conjunto de datos
Nuevo conjunto X (eigenvector matrix)-1
Nuevo conjunto X (eigenvector matrix)T
PCA: Obtener el original conjunto de datos
91
Reducción de DatosAgrupamiento – CompactaciónDiscretizaciónSelección de característicasSelección de Instancias
Bibliografía:T. Reinartz. A Unifying Viewon Instance Selection. Data Mining and Knowledge Discovery 6, 191-210, 2002.
Reducción de DatosSelección de Instancias
La SI pretende elegir los ejemplos que sean relevantes para una aplicación y lograr el máximo rendimiento. El resultado de la SC sería:Menos datos → los algoritmos pueden aprender más rápidamenteMayor exactitud → el clasificador generaliza mejor Resultados más simples → más fácil de entenderSI y Transformación (compactación/agrupamiento)
92
Reducción de DatosSelección de
InstanciasDiferentes tamaños:
2000 Puntos 8000 Puntos500 Puntos
Reducción de DatosSelección de Instancias
MuestreoSelección de Prototipos o Aprendizaje basado en InstanciasAprendizaje Activo
93
Reducción de Datos
Selección de Instancias
MUESTREO
DATOS ORIGINALESCon
Reemplazamiento
Sin
Reemplazamiento
Reducción de Datos
Selección de Instancias: Muestreo
DATOS ORIGINALES Reducción Simple
94
Reducción de Datos
Selección de Instancias
Selección de Prototipos
Reglas NN
Eliminación Ordenada
Se basa en:
Algoritmos Evolutivos
Muestreo Aleatorio
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
96
Reducción de Datos
Selección de Instancias
Reducción de DatosSelección de Instancias. Selección de Prototipos
Para Clasificación con 1-NN
CO
JUN
TO D
E D
ATO
S
Conjunto de Entrenamiento (TR)
Algoritmo de Selección de Prototipos
Prototipos Seleccionados (TSS)
Clasificador 1 - NNConjunto de Prueba (TS)
97
Reducción de DatosSelección de Instancias. Selección de Conjuntos de Entrenamiento.
Para Selección de Conjuntos de Entrenamiento
CO
JUN
TO D
E D
ATO
S
Conjunto de Entrenamiento (TR)
Algoritmo de Selección de Prototipos
Prototipos Seleccionados (TSS)
Algoritmo de Minería de Datos
Modelo Encontrado
Conjunto de Prueba (TS)
Reducción de DatosSelección de Instancias. Eficiencia
El orden de los algoritmos es superior a O(n2) y suele estar en orden O(n3) .Las principales dificultades que deben afrontar los algoritmos de Selección de Prototipos son: Eficiencia, recursos, generalización, representación.
¿Cómo realizar la selección de instancias con grandes bases de datos?Combinamos una estrategia de estratificación con los algoritmos de selección de instancias.
98
Reducción de DatosSelección de Instancias en grandes Bases de Datos a través de estrategia de Estratificación. [CANO, 2005]
CO
JUN
TO D
E D
ATO
S
T1 T2 T3 Tt…
TSS1
TR1
TS1
TSS2 TSS3 TSSt…
TR2 TR3 TRt
TS1 TS1 TS1
…
…
IS IS IS IS
Reducción de DatosSelección de Instancias
Conjuntos de datos no balanceados
Algunos problemas tienen una presencia de las clases desigual:Diagnosis médica: 90% sin-enfermedad, 10% enfermedade-comercio: 99% no-compra, 1% compraseguridad: >99.99% de conexiones no son ataquesLa situación es similar con múltiples clasesLa mayoría de los clasificadores obtienen un 97% de clasificación correcta, pero no son útiles
¿Cómo se procesan las clases no balanceadas?Utilizar técnicas de reducción de datos para balancear las clases reduciendo las clases mayoritarias. Realizar sobre muestreo para balancear aumentar el tamaño de las clases minoritarias. test
99
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 FrankMorgan KaufmannJune 2005525 pagesPaperISBN 0-12-088407-0
100
Bibliografía
Pang-NingTan, Michael Steinbach, and VipinKumar “Introduction to Data Mining”(First Edition) Addison Wesley, May 2, 2005
BibliografíaDorian Pyle“Data Preparation for Data Mining”Morgan Kaufmann, Mar 15, 1999 MamdouhRefaatData Fayyad and K.B. Irani. Multi-intervaldiscretization of continuous-valuedattributes for classification learning. Proc. 13th Int. Joint Conf. AI (IJCAI-93), 1022-1027. Chamberry, France, Aug./ Sep. 1993.
101
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.
102
203
Minería de DatosII - 2007
204
Reglas de Asociación
103
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ónTransacciones “market basket”
{pan, leche, pañales, gaseosa}5
{pan, leche, pañales, cerveza}4
{leche, pañales, cerveza, gaseosa}
3
{pan, pañales, cerveza, huevos}2
{pan, leche}1
ÍtemsId
Ítems comprados por cliente
InterInteréés en analizars en analizarlos datos para los datos para aprenderaprenderel comportamiento el comportamiento de de las compras de las compras de sus sus clientesclientes
•Promociones de mercadeo•Manejo de inventario•Relación con el cliente
104
Introducción
Metodología de análisis de asociaciones: usada para descubrir relaciones interesantes ocultas en largos conjuntos de datosAplicaciones
Análisis de las transacciones comercialesPredicciónPersonalizaciónEtc.
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 autos60% de usuarios de la Web que visitan la Pagina A y B
compran el ítem T1
AplicacionesConvenios de mantenimiento Recomendaciones en Web (URL1 y URL3 -> URL5)
105
Reglas de asociación
Las relaciones pueden ser representadas en forma de:
Reglas de asociaciónConjunto de ítem frecuentes
Reglas de asociación
Ejemplos. Regla: “Antecedente. → Consecuente.
[suporte, confidencia]”
Compra (x, “pañales”) →compra (x, “cerveza”) [0.5%, 60%]
106
Medidas de la regla: Soporte y Confianza
Encontrar reglas X & Y ⇒ Z con mínimo % de confianza y soporte (umbrales)
soporte, s: probabilidad que una transacción contiene {X ∪ Y ∪ Z}confianza, c: probabilidad condicional de que una transacción que tiene {X ∪ Y} también contenga Z.
Soporte y Confianza
Soporte: Usado para eliminar reglas no interesantes.
Confianza: mide que tan fiable es la inferencia hecha por la regla.
107
EjemploID Transacción ítems comprados
2000 A,B,C1000 A,C4000 A,D5000 B,E,F
soporte mínimo 50%, confianza mínima 50%,
A ⇒ C (?, ?)C ⇒ A (?, ?)
Ejemplo
ID Transacción ítems comprados2000 A,B,C1000 A,C4000 A,D5000 B,E,F
Conjunto de ítems frecuentes Soporte
{A} 75%{B} 50%{C} 50%{A,C} 50%
Soporte mínimo 50%Confianza mínima 50%
Para la regla A ⇒ C:soporte = soporte({A ∪ C}) = 50%confianza = soporte({A ∪ C})/soporte({A}) = 66.6%
Para la regla C ⇒ Asoporte = soporte({C ∪ A}) = 50%confianza = soporte({C ∪ A})/soporte({C}) = 100%
108
Minando reglas de asociaciónFuerza 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 frecuentesEstrategia de minar reglas de asociación:
Generación de conjuntos de ítems frecuentesGeneración de reglas
Generación de conjuntos de ítems frecuentes
Una estructura reticular puede ser usada para enumerar la lista de todos los posibles conjuntos de ítems
109
Generación de conjuntos de ítems frecuentes
Conjunto de ítems frecuentes: conjunto de ítems que tienen un mínimo de soportePrincipio 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 mismoPaso 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 kLk :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+1que están contenidos en t
Lk+1 = candidatos en Ck+1 con soporte >= min_soporteendreturn ∪k Lk;
110
Generación de candidatosSuponer los ítems en Lk-1 están ordenados en una lista
Paso 1: unión de Lk-1 con el mismoInsert 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: podaforall itemsets c in Ck do
forall (k-1)-subsets s of c do
if (s is not in Lk-1) then delete c from Ck
Ejemplo de generación de candidatos
L3={abc, abd, acd, ace, bcd}
Unión: L3*L3
abcd de abc y abd
acde de acd y ace
Poda:
acde es removido por que ade no esta en L3
C4={abcd}
111
Algoritmo “Apriori”— Ejemplo (sop=50%)Base de datos D
TID Items100 1 3 4200 2 3 5300 1 2 3 5400 2 5
itemset sup.{1} 2{2} 3{3} 3{4} 1{5} 3
itemset sup.{1} 2{2} 3{3} 3{5} 3
Scan D
C1L1
itemset{1 2}{1 3}{1 5}{2 3}{2 5}{3 5}
itemset sup{1 2} 1{1 3} 2{1 5} 1{2 3} 2{2 5} 3{3 5} 2
itemset sup{1 3} 2{2 3} 2{2 5} 3{3 5} 2
L2
C2 C2Scan D
C3 L3itemset{2 3 5}
Scan D itemset sup{2 3 5} 2
Generando Reglas de Asociación desde conjuntos de ítems frecuentes
Una vez todos los conjuntos de ítems frecuentes han sido encontrados, se pueden generar reglas de asociación (confianza ≥min_conf ):
Por cada conjunto de ítems frecuentes l, generar todos los subconjuntos de l (no vacíos);Por cada subconjunto s de l,
IF ( conteo_soporte (l) / conteo_soporte (s) ≥min_conf )THEN la regla es “s => (l-s)”
Para optimizar: Almacenar los conjuntos de ítems y sus conteos en tablas Hash
112
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 → CNo todas las reglas descubiertas pueden ser interesantes para presentar y usar.
Reglas de asociación Múltiple-Nivel
Ítems por lo general forman una jerarquía
Ítems de niveles bajos tienen menos soporte
Reglas obtenidas de los conjuntos de ítems a apropiados niveles pueden ser útiles
Se puede explorar minería compartida multi-nivel
Food
breadmilk
SunsetFraser
skim 2% whitewheat
Usando conocimiento del dominio
113
Minando Multi-nivelcon soporte reducido
Nivel 1min_sup = 5%
Nivel 2min_sup = 3% 2% Milk
[support = 6%]
Skim Milk
[support = 4%]
Milk
[support = 10%]
Usar información de viejos conjuntos de ítems frecuentes e integrar información de soporte de nuevos conjuntos de ítems frecuentes
Las asociaciones interesantes ocurren en niveles altos
Método FP-GROWTHLongitud 100 número de candidatos es al menos:
Complejidad de computación crece exponencialmente!Método “Frequent pattern growth”: mejora escalabilidad (grandes conjuntos de datos)
30100100
1
1012100
≈−=⎟⎟⎠
⎞⎜⎜⎝
⎛∑=i i
114
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
a,f,c,e,l,p,m,n5
b,c,k,s,p4
b,f,h,j,o3
a,b,c,f,l,m,o2
f,a,c,d,g,i,m,p1
ÍtemsId
3p
3m
3b
3a
4c
4f
SoporteId
Frecuencias ordenadasdescendemente. Ordenimportante! FP-treesigue ese orden
Scan
Raíz del árbol es creada
Scan de la primera transacción Construcción de la primera rama del árbol
(solo los ítems que están en la lista de frecuentes)
Mínimo soporte = 3
,1
,1
,1
,1,1
Scan de la segunda transacción
115
a,f,c,e,l,p,m,n5
b,c,k,s,p4
b,f,h,j,o3
a,b,c,f,l,m,o2
f,a,c,d,g,i,m,p1
ÍtemsId
3p
3m
3b
3a
4c
4f
SoporteId
Frecuencias ordenadasdescendentemente. Ordenimportante! FP-treesigue ese orden
Scan
Raíz del árbol es creada
Scan de la primera transacción Construcción de la primera rama del árbol
(solo los ítems que están en la lista de frecuentes)
Mínimo soporte = 3
,2
,2
,2
,1,1
Scan de la segunda transacción
,1
,1
,1
,1,1
a,f,c,e,l,p,m,n5
b,c,k,s,p4
b,f,h,j,o3
a,b,c,f,l,m,o2
f,a,c,d,g,i,m,p1
ÍtemsId
3p
3m
3b
3a
4c
4f
SoporteId
Frecuencias ordenadasdescendentemente. Ordenimportante! FP-treesigue ese orden
Scan
Raíz del árbol es creada
Scan de la primera transacción Construcción de la primera rama del árbol
(solo los ítems que están en la lista de frecuentes)
Mínimo soporte = 3
,3
,1,1
Scan de la tercera transacción
,2
,2
,2
,1,1
,1
Scan de la segunda transacción
116
Árbol final FP
,4
,2,2
,3
,3
,1,1
,1
,1
,1
,1
Lista de cabezas(headers)
Algoritmo FP-Growth
Coleccionar las transacciones donde p participa comenzando por el header y siguiendo los nodos enlazadosm sin pb sin p ni m ….
117
,4
,2,2
,3
,3
,1,1
,1
,1
,1
,1
2 caminosEjemplos o registros{ (f,2),(c,2),(a,2),(m,2),(p,2)) }{ (c,1),(b,1),(p,1) }
Umbral de 3{ (c,3), (p,3) }{ c, p }
Ejemplos o registros acumulados:{ (f,2),(c,2),(a,2),(m,2) }{ (f,1), (c,1),(a,1),(b,1),(m,1) }Conjuntos de ítems frecuentes son: { (f,3), (c,3), (a,3), (m,3) }{ f, c, a, m }
Reglas de asociación multidimensionales
1
3
2
2
1
A2
c
a
a
b
a
A1
{pan, leche, pañales, gaseosa}5
{pan, leche, pañales, cerveza}4
{leche, pañales, cerveza, gaseosa}3
{pan, pañales, cerveza, huevos}2
{pan, leche}1
ÍtemsId
118
Reglas de asociación multidimensionales
Sentido comúnDividir el proceso de minería en dos pasos:
Minar información dimensionalConjunto de ítems frecuentes
Encontrar combinaciones de valores multidimensionales y luego los correspondientes conjuntos de ítems frecuentes
EjemploCombinación de los valores de los atributosUmbral de n (considerados frecuentes)Patrón Multidimensional
MD-PatterrnAlgoritmo BUC
p
m
n
m
A3
3
2
2
1
A2
c
a
b
a
A1
x, w4
x, z, w3
z, w2
x, y, z1
ÍtemsId
119
EjemploUsando umbral de 2I.1. Ordenar por atributo A12. MD-pattern es a3. Seleccionar las tuplas con
el MD-pattern encontrado4. Ordenar el subconjunto
de tuplas con respecto a la segunda dimensión A2
x, z, wm2a3
p
n
m
A3
3
2
1
A2
c
b
a
A1
x, w4
z, w2
x, y, z1
ÍtemsId
x, z, wm2a3
m
A3
1
A2
a
A1
x, y, z1
ÍtemsId
Ningún valor (1y 2) cumple el umbral, la dimensión A2 es ignorada
Ejemplo5. Ordenar con respecto
a la tercera dimensión A3
6. Md-Pattern es m x, z, wm2a3
m
A3
1
A2
a
A1
x, y, z1
ÍtemsId
(a,*,m)
120
EjemploII. Repetir el proceso del
paso I, comenzando por el atributo A2 (A1 no es analizada en esta iteración)MD-pattern es 2continuando con A3 del subconnunto, no hay MD-patterns
x, z, wm2a3
p
n
m
A3
3
2
1
A2
c
b
a
A1
x, w4
z, w2
x, y, z1
ÍtemsId
(*,2,*)
EjemploIII. Repetir el proceso
del paso I, comenzando por el atributo A3 (A1 y A2 no son analizados)MD-pattern es mcontinuando con A3 del subconjunto, no hay MD-patterns
x, z, wm2a3
p
n
m
A3
3
2
1
A2
c
b
a
A1
x, w4
z, w2
x, y, z1
ÍtemsId
(*,*,m)
121
Ejemplo
Minar los conjuntos frecuentes por cada MD-patternOtra forma: Minar primero conjuntos de ítems frecuentes y después encontrar los MD-patterns.
BibliografíaJiawei Han and Micheline Kamber.
“Data Mining: Concepts and Techniques”, 2006
122
Minería de DatosII - 2007
Análisis Supervisado I
123
AgendaConceptos básicos de aprendizaje maquinal
Árboles de decisión y Reglas de Decisión
Medidas de desempeño
AgendaConceptos bConceptos báásicos de aprendizaje sicos de aprendizaje maquinalmaquinal
Árboles de decisión y Reglas de Decisión
Medidas de desempeño
124
¿Qué es Aprendizaje de Máquina?
”Find a bug in a program, and fix it, and the program will work today. Show the
program how to find and fix a bug, and the program will work forever.”
Oliver G. Selfridge, AI’s Greatest Trends and Controversies
¿Qué es Aprendizaje de Máquina?
Estudio y desarrollo de sistemas que aprendenSistema que aprende: Sistema capaz de optimizar una función de desempeño basado en datos de entrenamiento y/o datos previosElemento fundamental para el aprendizaje -> generalización (extracción de patrones a partir de datos)
125
¿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 humanosProblemas para los que existen expertos humanos, pero no puede explicar su expertisia Problemas donde fenómenos cambian de manera rápida Aplicaciones que deben ser personalizadas para cada usuario particular
Áreas de Aplicación del Aprendizaje de Máquina
Reconocimiento de patrones: procesamiento de imágenes, visión artificial, patrones en series de tiempo Minería de datos: análisis de comportamiento de clientes, extracción de información Bioinformática: detección de genes, relaciones entre genes, diagnóstico genético Robótica: caminado adaptativo Recuperación de Información: motores de búsqueda, sistemas de recomendación, recuperación por contenido Deteccióon de anomalías: detección de fraudes, seguridad computacional
126
Tipos de Aprendizaje
Aprendizaje supervisadoAprendizaje no supervisado Aprendizaje semi-supervisadoAprendizaje activo (con refuerzo, en línea)
Aprendizaje supervisado
Problema fundamental: encontrar una función que relacione un conjunto de entradas con un conjunto de salidasTipos principales de problemas:
ClasificaciónRegresión
127
Aprendizaje No Supervisado (I)
No hay etiquetas para los ejemplosProblema fundamental: encontrar la estructura subyacente de un conjunto de datosEjemplos de problemas: Agrupamiento, Compresión de Datos Pueden usarse algunos ejemplos con etiquetas, en este caso es aprendizaje semi-supervisado
Aprendizaje No Supervisado (II)
128
Aprendizaje Activo (por refuerzo)
Generalmente se da en el contexto de un agente actuando en un ambienteNo se le dice explícitamente al agente si se equivoca o noEl agente es castigado o premiado (no necesariamente de manera inmediata)Problema fundamental: definir una política que permita maximizar el estímulo positivo (premio)
AgendaConceptos básicos de aprendizaje maquinal
Árboles de decisión y Reglas de Decisión
Medidas de desempeño
129
Aprendizaje con Árboles de DecisiónProblema: 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:
130
Representaciones basadas en atributos
V30 - 60HamburguesasFF$LlenoVVVVX12
F0 - 10ThaiFF$NingunoFFFFX11
F10 - 30ItalianoVF$LlenoVVVVX10
F> 60HamburguesasFV$$$LlenoFVVFX9
V0 - 10ThaiVV$LlenoVFFFX8
F0 - 10HamburguesasFV$NingunoFFVFX7
F10 - 30ItalianoVV$$AlgunosVFVFX6
F> 60FrancésVF$$$LlenoFVFVX5
V10 – 30ThaiFF$LlenoVVFVX4
V0 - 10HamburguesasFF$AlgunosFFVFX3
F30 - 60ThaiFF$LlenoVFFVX2
V0 - 10FrancésVF$$$AlgunosVFFVX1
EsperaEstimadaTipoReservaciónLloviendoPrecioClientesHambreViernes/
SábadoBarAlternativa¿Esperar?
AtributosEjemplo
Clasificación de ejemplos es positivo (V) o negativo (F)
Árboles de Decisión
¿Clientes?
FV
¿EsperaEstimada?
F ¿Alternativa? ¿Hambre? V
¿Reservación?
¿Viernes/Sábado? V ¿Alternativa?
¿Bar? V F V
F V
F V
Si
No Si
No Si
SiNo
No SiSi
No
No
NingunoAlgunos
Lleno
>60 >30 -60 >10-60 >0-10
Una posible representación para las hipótesisPor ejemplo, este es el árbol “verdadero” para decidir si esperar o no:
131
ExpresividadLos Á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:
Es trivial, que haya un árbol de decisión consistente para cualquier conjunto de entrenamiento con un camino a la hoja para cada ejemplo (a menos que f sea no-determinística en x) pero es probable que no generalice para nuevos ejemplos.
Es preferible encontrar árboles de decisión más compactos
FVVVFVVVFFFF
A y BBA
F V F V
B B
A
No Si No Si
No Si
Algoritmo para la Inducción de Árboles de Decisión
Algoritmo básico (Algoritmo avaro)
El árbol es construido de arriba hacia abajo recursivamente de forma divide y vencerás.Al comienzo, todos los ejemplos de entrenamiento están en la raíz.Los atributos son categóricos (en caso de atributos continuos, se discretizan por adelantado)Los ejemplos son repartidos recursivamente de acuerdo con el atributo seleccionadoLos atributos de prueba son seleccionados en base a una heurística o medida estadística (ej. ganancia de información)
132
Condición de Parada
Condiciones para detener el particionamiento:
Todos los ejemplos para un nodo dado pertenecen a una misma clase.
No hay cualidades restantes para mayor particionamiento – la mayoría de votos es usada para la clasificación de la hoja.
Escogiendo un AtributoIdea: un buen atributo separa los ejemplos en subconjuntos que son (idealmente) “todos positivos” o “todos negativos”
¿Clientes? Es una buena opción
¿Clientes?
Ninguno AlgunosLleno
¿Tipo?
Francés Italiano Thai Hamburguesas
133
Información y Entropía (I)Cuando se contesta una pregunta se estágenerando informaciónLa información ganada es equivalente a la incertidumbre que se disipa (entropía).Suponga que se tiene un evento con dos resultados alternativos (desconocidos), cuál es la situación de máxima incertidumbre?
Información y Entropía (II)Medida de información: 1 bit = respuesta a una pregunta Booleana con probabilidades (0.5,0.5)En general, la entropía de una situación dada es:
Pi corresponde a la probabilidad de cada alternativaLa 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
⎟⎠
⎞⎜⎝
⎛−= ∑
=
n
iin PiPPPH
121 log,...,
134
Información y Entropía (III)
La entropía es máxima cuando las opciones son equiprobables
Ganancia de información de un atributo
¿Clientes?
Ninguno AlgunosLleno
P(V)=0.5 P(F)=0.5H= - p(V)log(P(V))- p(F)log(P(F))
= - 0.5*(-1) - 0.5*(-1)=1
P(V)=0.33 P(F)=0.66H= - 0.33*(-1.59) - 0.66*(-0.58)=0.91
H=0 H=0
Hnueva = 1/6*0 + 2/3*0 +0.5*0.91 = 0.45Info = Hvieja - Hnueva = 1 – 0.45 = 0.55
135
Ganancia de informaciónSi Ei tiene pi positiva y ni ejemplos negativos entonces:
La cantidad de bits que se necesitan para clasificar un nuevo ejemplo es:
El número de bits por ejemplo sobre todas las ramas es:
¿Para clientes? Son 0.459 bits, por Tipo sigue siendo 1 bit⇒ Elegir el atributo que maximice la ganancia de información
( ) ( )( )iiiiii npnnppH ++⇒ /,/
( ) ( )( )∑ ++++
i iiiiiiii npnnppH
npnp
/,/
EjemploÁrbol de Decisión aprendido de 12 ejemplos:
Sustancialmente más simple que un árbol de “verdad” –una hipótesis más compleja no se justifica por el bajo volumen de datos
¿Clientes?
FV
V
¿Tipo?
F V
FNo Si
Francés
NingunoAlgunos
Lleno¿Hambre?
Si
VItaliano
F
¿Viernes/Sábado?
Hamburguesas
No
136
Extracción de Reglas de Clasificación
Se representa el conocimiento en forma de reglas Si – Entonces
Una regla es creada para cada camino desde la raíz a una hoja
Cada par atributo – valor a lo largo de un camino forma una conjunción.
El nodo hoja mantiene la clase predicción
Las reglas son fáciles de entender.
Ejemplo:IF clientes = “lleno” AND hambre = “no” THEN esperar = “no”
IF clientes = “algunos” THEN esperar = “si”
IF clientes = “lleno” AND hambre = “no” AND tipo =”italiano”
THEN esperar = “no”
Manejo de Atributos Continuos
La idea es discretizarPartición binaria:
x <= x0 y x > x0
x0 es un valor que se debe encontrar
División en intervalos (binarización/cuantización)Agrupamiento
137
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 satisfactoriosEs un modelo altamente interpretableTienen problemas cuando hay interacciones complejas entre atributos
AgendaConceptos básicos de aprendizaje maquinal
Árboles de decisión y Reglas de Decisión
Medidas de desempeño
138
Evaluación de Algoritmos
Criterios (dependiendo de la aplicación):Error de clasificación o riesgoComplejidad espacio/temporal del entrenamientoComplejidad espacio/temporal de la aplicaciónInterpretabilidad Programación sencilla
Medidas de Error
%error = #errores/#instancias = (FN+FP)/Nsensitividad = #+ 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)
Clase PredichaClase verdadera + -
+-
True Positive False NegativeFalse Positive True Negative
139
Matrices de Confusión
Usadas cuando más de dos clases están involucradas
Clase PredichaClase verdadera
50 0 00 48 20 1 49
Setosa Virginica VersicolorSetosa
VirginicaVersicolor
Bibliografía
Stuart Russell and Peter Norvig“Artificial Intelligence: A Modern Approach”, Second Edition.
140
Minería de DatosII - 2007
Análisis Supervisado II
141
Agenda
Introducción.Redes Neuronales Artificiales.
Neurona Artificial.Modelo de McColluch-Pitts.Definición de RN.Clasificación.
Agenda
Aprendizaje o EntrenamientoDefiniciones BásicasClasificación de Algoritmos de Aprendizaje
Redes MulticapaEl Perceptrón Back Propagation
142
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.
143
¿Qué son las Redes Neuronales?
Las Redes Neuronales son modelos artificiales de las Redes Neuronales Biológicas .Están constituidas por innumerables unidades procesadoras, llamadas neuronas, las cuales se interconectan a través de conexiones.
Una Red Neuronal
144
Bases BiológicasEl 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
145
La Neurona Biológica
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.
146
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.
147
Historia1943 Modelo de Neurona de McCulloch y Pitts1962 Algoritmo de Entrenamiento para Perceptrones, Rosenblatt1969 Limitaciones del Perceptron, Minski y Papert1986 Algoritmo BackPropagation Rumelhart, Hinton y Willians
Características
¿Qué son capaces de hacer?Reconocimiento de PatronesSíntesis Funcional: relaciones entre varias entradas continuas y una o más salidas continuas
148
Computación Convencional Vs. Neurocomputación
NeuroComputaciónEntrenamiento, aprendizajeNo se separa la memoria y el procesamiento Paralela (Discreto o Continuo), asíncronaTolerante a fallasAuto-organizaciónAcepta entradas con ruido o difusas
Com. ConvencionalProgramaciónMemoria y procesamiento separados
Secuencial o serial, síncrona
No tolerante a fallosDependiente del softwareGarbage in - Garbage out (si entra basura, sale basura)
AplicacionesVisión por ComputadorReconocimiento de la EscrituraReconocimiento y síntesis de la VozControl de ProcesosDiagnostico MédicoExploración PetroleraMinería de Datos
149
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
150
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.
ij
ij j in = f( w n (t)-u )∑
151
MODELO McCULLOCH-PITTS
n1
n2
nj
i
wi1
wi2
wij
Fn
iΣ
MODELO McCULLOCH-PITTS
Función de Activación:
Función umbral
u
f(x)= 1 si x >= u0 si x<u
152
MODELO McCULLOCH-PITTS
Ejemplo:
Σ
0.5
0.2
0.2
0.1
-0.2
0.1
0.031
0
Otras funciones
Función umbral Función lineal a trozos
Función sigmoide Función Gausssiana
153
Red Neuronal Artificial
Conexiones
Neuronas
La interconexión de varias unidades de procesamiento (neuronas), forman Redes Neuronales Artificiales. Las cuales toman entradas, las procesan y emiten salidas.
EjemploRed XOR
μ=0.7
10.5
0.5 Σ1
Σ0.5
0.5
Σ
1
1
-1
μ=0.3
μ=0
154
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 simplePerceptrón multicapaRedes con funciones de base radial
–Redes recurrentes feedbackRedes competitivasRed KohonenRed HopfieldModelos ART
155
Clasificación
Neuronas de salida
Neuronas de entrada
Neuronas
ocultas
Red Feedforward
Clasificación
Red Recurrente:
156
Agenda
Aprendizaje o EntrenamientoDefiniciones BásicasClasificación de Algoritmos de Aprendizaje
Redes MulticapaEl Perceptrón Back Propagation
Tipos de AprendizajeSupervisado: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.
157
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
S u p e rv isa d o C o rre c c ió n d ee rro rB o ltz m a n nH e b b ia nC o m p e titiv o
B a c kP ro p a g a tio nA d a lin e yM a d a lin e
N osu p e rv isa d o
C o rre c c ió n d ee rro rH e b b ia nC o m p e titiv o
A p re n d iz a jec o n m e m o riaa so c ia tiv a
H íb rid o C o rre c c ió n d ee rro r yc o m p e titiv o
A lg o ritm o d ea p re n d iz a jeR B F
Tipo de aprendizaje
Regla de aprendizaje
Algoritmos mas utilizados
158
Ley de Hebb
Experimento de Pavlov
A
C
B Señal de salivación
Sonido
Comida
Ley de HebbIdea principal sobre la cual se basa esta ley:
“Cuando un axón de la célula A está suficientemente próximo para excitar a una célula B o toma parte en su disparo de forma persistente, tiene lugar algún proceso de crecimiento o algún cambio metabólico en una de las células, o en las dos, de tal modo que la eficiencia de A, como una de las células que desencadena el disparo de B, se ve incrementada.”
159
Técnica del Gradiente Descendente
Calcular el valor de la función en el punto y=f (x0)Calcular el nuevo valor de xi como el valor anterior mas el gradiente de la función.
yi+1 = yi+Δyi
Técnica del Gradiente Descendente
El gradiente de la función se calcula como la derivada parcial de la función con respecto al punto xi.
El gradiente es igual a:
Δyi= -∂ f /∂xi
160
Técnica del Gradiente Descendente
La técnica de gradiente descendente es un procedimiento iterativo que busca minimizar una función moviéndose en la dirección opuesta al gradiente de dicha función.
Técnica del Gradiente Descendente
mínimoglobal
mínimo local
161
Rata de Aprendizaje
Determina el tamaño del paso que utiliza el algoritmo, para moverse en el espacio de los pesos. Un valor muy pequeño para este parámetro puede provocar una convergencia muy lenta, así como un valor muy alto puede provocar un comportamiento divergente.
Momento
El momento, da al algoritmo una especie de inercia que le permite evadir en ciertos casos los mínimos locales.Con este momento se consigue la convergencia de la red en un número menor de iteraciones.
162
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 EntrenamientoDefiniciones BásicasClasificación de Algoritmos de Aprendizaje
Redes MulticapaEl Perceptrón Back Propagation
163
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
x2
xi
.
...
y1
y2
yi
164
El Perceptrón
Regla de Aprendizaje1. Inicialización de los pesos y del
umbral:
Inicialmente se asignan valores aleatorios a cada uno de los pesos (wi) de las conexiones y al umbral (-w0=θ)
El Perceptrón
2. Presentación de un nuevo par (Entrada, Salida esperada):
Presentar un nuevo patrón de entrada Xp=(x1,x2,...,xN) junto con la salida esperada d(t).
165
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 :
))()(1()(0
)()()()(2)(
)()()1(
tdtytwcasootroen
tdtysitytxtw
twtwtw
i
ii
iii
−=Δ⎭⎬⎫
⎩⎨⎧ ≠
=Δ
Δ+=+
η
η
166
El Perceptrón
Δwi(t)=η[d(t)-y(t)] xi(t)
(0<=i<=N)donde η es la rata de aprendizaje yvaria entre 0 y 1.
5. Repertir desde el paso 2.
Algoritmo entrenamiento del Perceptrón
1. Inicializar los pesos y umbrales para valores aleatorios pequeños.
2. Presentar un patrón y evaluar la salida de la neurona.
3. Calcular la salida actual.
yi(t)=f (Σwi(t)xi(t)-θ)4. Actualizar los pesos de acuerdo a:
wij (t+1)=wij(t)+η(di(t)-yi(t))xj
donde η es la rata de aprendizaje y varia entre 0 y 1.
167
Separabilidad de patrones
Función AND Función XORlinealmente separable No separable
linealmente
01 11
1000
01 11
1000
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.
168
Redes Multicapa
Neuronas de salida
Neuronas de entrada
Neuronas
ocultas
Algoritmo de Retropropagación (Back Propagation)
Para entrenar redes multicapa.Requiere que la función de activación sea derivable y creciente.
Usualmente sigmoides (logística y la tangente hiperbólica).
A minimizar función de error (cuadrático medio), cuyo dominio es el espacio de los pesos de las conexiones:
kpk
2E = 1 / 2 ( -p pky d )∑
169
Algoritmo de Retropropagación (Back Propagation)
El algoritmo trabaja de la siguiente forma:
Presenta un patrón de entrada a la Red neuronal.
Propaga dichas entradas hasta la capa de salida.
Calcula el error en la capa de salida.
Propaga dicho error hacia las neuronas ocultas (hacia atrás).
Cambia los pesos de las conexiones.
Algoritmo de Retropropagación (Back Propagation)
El procedimiento se hace para todos los patrones iterativamente hasta que la red converja a un valor del error deseado.
Error
SE
170
Algoritmo de Retropropagación (Back Propagation)
Pasos del algoritmo:Inicializar los pesos con pequeños valores aleatorios.Escoger aletoriamente un patrón de entrada x.Propagar la señal hacia adelante.
δi(t)=f’(xi(t))*(di-yi)
- Calcular el error en la capa de salida
Algoritmo de Retropropagación (Back Propagation)
Propagar dicho error hacia las neuronas ocultas (hacia atrás).
– Actualizar los pesos utilizando:
δj(t)=f ’(xi(t))*(Σwijδi(t))i
wji(t+1)= wji(t)+Δwji(t+1)
donde:
171
Algoritmo de Retropropagación (Back Propagation)
Δwji(t+1) = [ηδjyi(t)+αΔwji(t)]
– Repetir desde el paso 2 hasta alcanzar el error deseado
Generalización y sobre ajuste
Error de clasificaciónControl del sobre-ajuste Complejidad del modelo
172
Error de ClasificaciónError de entrenamiento:
e(modelo, datos)Número de ejemplos de entrenamiento clasificados incorrectamenteConocido como error de re-substitución o error aparente
Error de generalización:e’(modelo, datos)Error esperado del modelo en ejemplos no usados en el entrenamiento.
Un buen modelo debe tener errores de entrenamiento y generalización bajos
Sobre-ajuste (Overfitting)Cuando el algoritmo de aprendizaje se ajusta tanto a los datos de entrada que pierde su capacidad de generalizar
El error de cálculo de los ejemplos futuros seráalto
173
Sobre-ajusteSobre-ajuste: Bajo error de entrenamiento pero error de generalización alto.Sub-ajuste (underfitting): Errores de entrenamiento y generalización altos
Error de Entrenamiento
Error de Generalización
Sobre-ajuste
Parámetro modelo
Sub-ajuste
Causas sobre-ajuste: Presencia Ruido
La frontera de decisión es distorsionada por el ruido
Ruido
174
Causas sobre-ajuste:Falta de Ejemplos Representativos
La falta de ejemplos en la parte inferior del diagrama hace difícil que el modelo realice una predicción acertada en esta región
Puntos mal clasificados
Causas sobre-ajuste:Procedimiento múltiple comparaciones
Al comparar alternativas independientes y seleccionar la mejorEjemplo:
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.0547Seleccionar 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
175
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 pesimistaPrincipio MDL (Descripción de mínima longitud)
Descripción de Mínima Longitud (MDL)
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.
A B
A?
B?
C?
10
0
1
Yes No
B1 B2
C1 C2
X yX1 1X2 0X3 0X4 1… …Xn 1
X yX1 ?X2 ?X3 ?X4 ?… …Xn ?
176
Métodos de EstimaciónHoldout
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 AleatorioRepetir varias veces holdout y calcular estadísticos sobre dicho procesoSe sugiere repetir como mínimo 30 veces
Validación Cruzada (Cross validation)Partir el conjunto de datos en k subgrupos disjuntosk-fold: entrenar con k-1 subgrupos, validar con el restante. Repetir usando cada grupo en validaciónDejar uno afuera (Leave-one-out): k=n
Muestreo Estratificadosobremuestreo vs submuestreo
BootstrapMuestreo con repetición
Complejidad del modelo
Parámetro que controla lo complejo del modeloEn árboles de decisión (tamaño)
Pre-podadoPost-podado
En redes neuronalesNúmero neuronas ocultas y/o conexionesTipo de red neuronal
177
Bibliografía
Neural Networks: A ComprehensiveFoundation, Simon HaykinNeural Networks: Algorithms, Applications, and ProgrammingTechniques,James A. Freeman, David M. Skapura
Notas
178
Minería de DatosII - 2007
Análisis Supervisado IIIModelos Probabilísticos
179
AgendaRepaso de probabilidadModelos BayesianosClasificador BayesianoNaive BayesRed de creenciasClasificación sensible al costo
AgendaRepaso de probabilidadModelos BayesianosClasificador BayesianoNaive BayesRed de creenciasClasificación sensible al costo
180
Probabilidad
Formalización de la noción intuitiva de la posibilidad de que un evento ocurra
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
EventosPosiblesEsucedequeVecesdeEP
##)( =
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) = ?
181
Probabilidad de que una variable aleatoria pueda tomar un valor particular dado el valor de otra variable aleatoria
P(Y=y | X=x)
se refiere a la probabilidad que la variable Y puede tomar el valor de y dado que la variable X toma el valor de x
Probabilidad Condicional
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_2P(suma=10 | dado_1=4) = ?
182
Teorema de BayesLas probabilidades condicionales de X y Y están relacionadas:
P(X,Y) = P(Y|X) P(X) = P(X|Y) P(Y)Teorema de BayesTeorema de Bayes
P(Y|X) = P(X|Y)P(Y|X) = P(X|Y)··P(Y) / P(X)P(Y) / P(X)Ejercicio2 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?
AgendaRepaso de probabilidadModelos BayesianosClasificadores BayesianoNaive BayesRed de creenciasClasificación sensible al costo
183
Clasificador Bayesiano
Considere que cada atributo y la etiqueta de clase son variables aleatoriasDado un registro con atributos (A1, A2,…,An) El objetivo es predecir la clase CEspecí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?
calcule la probabilidad a posteriori P(C | A1, A2, …, An) para todos los valores de C usando el teorema de Bayes:
Escoja el valor de C que maximice P(C | A1, A2, …, An)
Equivalente a escoger el valor de C que maximice
P(A1, A2, …, An|C) P(C)
Cómo se estima P(A1, A2, …, An | C )?
Solución
)...()()|...()...|(
21
2121
n
nn AAAP
CPCAAAPAAACP =
184
Problema de tomar una decisiónDada las condiciones del clima, es posible jugar
tenis? Outlook Temperature Humidity Windy Classsunny hot high false Nsunny hot high true Novercast hot high false Prain mild high false Prain cool normal false Prain cool normal true Novercast cool normal true Psunny mild high false Nsunny cool normal false Prain mild normal false Psunny mild normal true Povercast mild high true Povercast hot normal false Prain mild high true N
AgendaRepaso de probabilidadModelos BayesianosClasificadores BayesianoNaïve BayesRed de creenciasClasificación sensible al costo
185
Clasificador Naïve BayesAsume independencia entre los atributos Ai cuando la clase es dada:
P(A1, A2, …, An |C) = P(A1| Cj) P(A2| Cj)… P(An| Cj)
Se debe estimar P(Ai| Cj) para todo Ai y Cj.
Un nuevo ejemplo es clasificado como Cj si P(Cj) Π P(Ai| Cj) es máximo.
¿Cómo Estimar las Probab.a Partir de los Datos?
186
¿Cómo Estimar las Probab.a Partir de los Datos?
Para atributos continuos:Discretizar: el rango en bins
un atributo ordinal por binviola 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 normalUse los datos para estimar los parámetros de la distribución (ej.,media y desviación estándar)Una vez que la distribución de probabilidad se conoce, se puede usar para estimar P(Ai|c)
Cómo Estimar las Probab.a Partir de los Datos?
Distribución normal:
Uno por cada par (Ai,ci)
Para (Income, Class=No):
Si Class=Nomedia muestral = 110
varianza muestral = 2975
2
2
2
)(
21)|( ij
ijiA
ijiji eCAP σ
μ
σπ
−−
=
0072.054.54*2
1)|120( )2975(2)110120( 2
===−
−
eNoIncomePπ
187
Ejemplo del Clasificador Naïve Bayes
P(X|Class=No) = P(Refund=No|Class=No)× P(Married| Class=No)× P(Income=120K| Class=No)
= 4/7 × 4/7 × 0.0072 = 0.0024
P(X|Class=Yes) = P(Refund=No| Class=Yes)× P(Married| Class=Yes)× P(Income=120K| Class=Yes)
= 1 × 0 × 1.2 × 10-9 = 0
Puesto que P(X|No)P(No) > P(X|Yes)P(Yes)entonces P(No|X) > P(Yes|X)
=> Clase = No
)120,,(Re KIncomeMarriedNofundX ===
Clasificador Naïve Bayes
Si una de las probabilidades condicionales es 0, entonces toda la expresión se vuelve 0Estimación de la probabilidad:
c: número de clases
p: probabilidad a priori
m: parámetro
mNmpNCAPestimatem
CNNCAPLaplace
NNCAPOriginal
c
ici
c
ici
c
ici
++
=−
++
=
=
)|(:
1)|(:
)|(:
188
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 probabilidadRobusto a atributos irrelevantesLa suposición de independencia puede no cumplirse para algunos atributos:
Se deben usar otras técnicas tales como redes de creencias Bayesianas
AgendaRepaso de probabilidadModelos BayesianosClasificadores BayesianoNaive BayesRed de creenciasClasificación sensible al costo
189
Bayesian Belief NetworksRedes de Creencias Bayesianas
Modelar la probabilidad condicional de clases P(X|Y) sin el supuesto de independenciaPermite especificar qué par de atributos son condicionalmente dependientesPasos:Representación y construcción del modeloEstimación de probabilidades condicionalesInferencia sobre el modelo
Red de CreenciasUn modelo gráfico de relaciones causales:
Representan dependencia condicional entre las variablesVariables no explícitamente relacionadas se consideran condicionalmente independientes
X Y
ZP
Nodos: variables aleatorias
Enlaces: dependencias
X y Y son los padres de Z, y Y es el
padre de P
No hay dependencia entre Z y P
No tiene bucles o ciclos
190
Ejemplo Red de Creencia
HistoriaFamiliar
Cáncer depulmón
Rayos XPositivos
Fumador
Efisema
Dipnea
CP
~CP
(HF, F) (HF, ~F) (~HF, F) (~HF, ~F)
0.8
0.2
0.5
0.5
0.7
0.3
0.1
0.9
Tabla de probabilidad condicional (TPC) para la variable cáncer de pulmón:
La derivación de la probabilidad de una combinación particular de valores de X, desde TPC:
∏=
=n
iiin YPadresxPxxP
11 ))(|(),...,(
),|)()|()|(*),|()(|(),,,,,(
ECPDPCPRXPPFEPFHFCPPFPHFPDRXPECPFHFP =
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
191
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 graficoConstruir la red puede ser costoso. Sin embargo, una vez construida la red, adicionar una nueva variable es directoTrabajan bien con datos perdidos (sumando o integrando las probabilidades)El modelo es robusto a overfitting
192
AgendaRepaso de probabilidadModelos BayesianosClasificadores BayesianoNaive BayesRed de creenciasClasificación sensible al costo
Marketing
Medicina
Finanzas
Spam
Comprador / no Comprador
Enfermo / no Enfermo
Prestar / no Prestar
Spam / no Spam
Area Ejemplo
Clasificación Sensible al Costo
193
Suponer que los Errores Son Igualmente Costosos Pueden Llevar a Malas Decisiones
El costo de hacerle una oferta a un no comprador es pequeña comparada con no contactar un comprador
El costo de un mal prestamo es mayor que negarle un prestamo aun buen cliente
Rechazar correo que no sea Spam es más costoso que aceptar correo Spam
Marketing
Finance
Spam
Examples
Sunny
222111115100Sunny
Snowy
Snowy
Rainy
RainyActual
Pred
icte
d
Fuente: Zadrozny y Abrahams
Matriz de Costos
194
RealPr
edic
hoFraude
(0.2)x-x- 2020
No fraude
Rechazo
Aprobar
x = valor transación
Fuente: Aprahams
Costos DependientesFraude con Tarjeta de Crédito
Aprendizaje Sensitivo al CostoAprendizaje no sensitivo al costo:
Aprendizaje sensitivo al costo:Escoger acción que minimice el costo esperado
Costo(Cj,Ci) = costo de clasificar como Ci cuando realmente es Cj
Los dos enfoques son equivalentes cuándo los costos son iguales para todos los errores
∑≠ ij CC
ijnji CCCostoAACPC ),(),...,|( 1
min
),...,|( 1
max
nji AACPC
195
Metacost
Es una algoritmo que permite volver cualquier clasificador sensitivo al costoSe debe especificar una matriz de costosEl algoritmo reetiqueta los ejemplos de entrenamiento de manera que el costo esperado se minimice
EjemploObjetivoP(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 BayesP(Y=1|X=1) = P(X=1|Y=1) P(Y=1)/ P(X=1)= 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.5738P(Y=0|X=1) = 1 - P(Y=1|X=1) = 0.4262
Equipo1 tiene mas oportunidad de ganar
Ley de probabilidad total
196
EjemploX variable aleatoria que representa el equipo localY variable aleatoria que representa el ganador
Probabilidad que equipo 0 gane: P(Y=0) = 0.65Probabilidad que equipo 1 gane: P(Y=1) = 0.35Probabilidad de que si el equipo 1 gana estéjugando como local:
P(X=1|Y=1) = 0.75Probabilidad de que si el equipo 0 gana estéjugando como visitante:
P(X=1|Y=0) = 0.3
BibliografíaB. 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
197
BibliografíaDomingos. 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/opim_410_672_spring05/opim_410_guest_lecture_dan_fleder_cost_sensitive_learning.ppt
NOTAS
198
Minería de DatosII - 2007
Regresión y Series de Tiempo
199
Agenda
RegresiónSeries de tiempo
Agenda
RegresiónSeries de tiempo
200
RegresiónSimilar al problema de clasificación pero el atributo de clase es continua
Problema:encontrar una relación funcional entre una variable dependiente y uno o varias variables independientes
Tipos:
Regresión lineal
Regresión no lineal
Otros: regresión logísitica, árboles de decisión
Regresión Lineal Simple
Involucra una variable dependiente Y (o de respuesta) y una variable independiente X (o predictora)
y = w0 + w1 x
en donde w0 (intercepto) y w1 (pendiente) son coeficientes de regresión
Método de mínimos cuadrados: estima la línea que mejor ajuste los datos
∑
∑
−
−−
|D|
=ii
|D|
=iii
)x(x
)y)(yx(x=w
1
2
11
xwy=w 10 −
201
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=(Xi
1,..,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
202
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 probabilidadP(Y|X1,...,Xn) = g(w0+w1X1+...+wnXn)
g() es una función sigmoide, usualmente la función logísitica:
( ) xe+=xg −1
1
203
Agenda
RegresiónSeries 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
AplicacionesFinanzas: inventarios, precio, inflación
Industria: consumo de energía
Ciencia: resultados de experimentos
Metereología: precipitación
204
Una serie de tiempo puede ser ilustrada como una gráfica que describe un punto que se mueve a través del tiempo.
Series de Tiempo
Categorías de Movimientos de Series de Tiempo
Tendencia: movimientos a largo plazoCí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
205
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 + IModo multiplicativo: TS = T × C × S × I
Diferentes métodos para estimar cada componente
Modelo Autoregresivo
El valor de la serie de tiempo en un momento
dado depende de los valores anteriores:
Xi = f(Xi-1,...,Xi-k)
Muchas veces, f es modelada como una función
lineal
En el caso más general, f es una función no
lineal
206
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+1X2,...,XK XK+2
Xn-k,...,Xn-1 Xn
Data Mining: Concepts and Techniques
Jiawei Han and Micheline Kamber
Department of Computer Science
University of Illinois at Urbana-Champaign2006
Bibliografía
207
Minería de DatosII - 2007
AgrupamientoPrincipios y Aplicaciones
208
Agenda¿Qué es el análisis de Cluster?
Aplicaciones del Análisis de Cluster¿Qué no es Análisis de Cluster?
Similitud y DisimilitudSimilitud /Disimilitud para Atributos SimplesDistancia EuclidianaDistancia MinkowskiDistancia de MahalanobisPropiedades de una DistanciaPropiedades comunes de una similitudSimilitud entre Vectores BinariosEjemplo: SMC versus JaccardSimilitud por coseno Coeficiente Extendido de Jaccard (Tanimoto)CorrelaciónDensidadDensidad Euclidiana - Basada en CeldasDensidad Euclidiana – Basada en el CentroTipos de Agrupamientos
AgendaTipos de Agrupamientos
Agrupamiento de Partición (Partitional Clustering)Agrupamiento JerárquicoOtras distinciones entre los conjuntos de ClustersCaracterísticas importantes de la entradas de datos
Algoritmos de AgrupamientoK-means y sus variantesAgrupamiento jerárquicoAgrupamiento basado en densidad
209
Agenda¿Qué es el análisis de Cluster?
Aplicaciones del Análisis de Cluster¿Qué no es Análisis de Cluster?
Similitud y DisimilitudSimilitud /Disimilitud para Atributos SimplesDistancia EuclidianaDistancia MinkowskiDistancia de MahalanobisPropiedades de una DistanciaPropiedades comunes de una similitudSimilitud entre Vectores BinariosEjemplo: SMC versus JaccardSimilitud por coseno Coeficiente Extendido de Jaccard (Tanimoto)CorrelaciónDensidadDensidad Euclidiana - Basada en CeldasDensidad Euclidiana – Basada en el CentroTipos de Agrupamientos
¿Qué es el análisis de Cluster?
Los grupos de objetos encontrados, en un grupo serán similares o relativos sus objetos y diferentes de los objetos de otros grupos.
Las distancias entre los cluster son maximizadas
Las distancias dentro de los cluster son
minimizadas
210
Aplicaciones del Análisis de Cluster
EntendimientoGrupo relativo de documentos para encontrar grupos de genes y proteínas que tiene una funcionalidad similar, o grupos típicos con fluctuaciones de precios similares.
ResumenReducir el tamaño de los grandes conjuntos de datos
Clusters Descubiertos Grupo Industrial
1 Applied-Matl-DOWN,Bay-Network-Down,3-COM-DOWN, Cabletron-Sys-DOWN,CISCO-DOWN,HP-DOWN,
DSC-Comm-DOWN,INTEL-DOWN,LSI-Logic-DOWN, Micron-Tech-DOWN,Texas-Inst-Down,Tellabs-Inc-Down,
Natl-Semiconduct-DOWN,Oracl-DOWN,SGI-DOWN, Sun-DOWN
Technology1-DOWN
2 Apple-Comp-DOWN,Autodesk-DOWN,DEC-DOWN, ADV-Micro-Device-DOWN,Andrew-Corp-DOWN,
Computer-Assoc-DOWN,Circuit-City-DOWN, Compaq-DOWN, EMC-Corp-DOWN, Gen-Inst-DOWN,
Motorola-DOWN,Microsoft-DOWN,Scientific-Atl-DOWN
Technology2-DOWN
3 Fannie-Mae-DOWN,Fed-Home-Loan-DOWN, MBNA-Corp-DOWN,Morgan-Stanley-DOWN
Financial-DOWN
4 Baker-Hughes-UP,Dresser-Inds-UP,Halliburton-HLD-UP, Louisiana-Land-UP,Phillips-Petro-UP,Unocal-UP,
Schlumberger-UP
Oil-UP
Agrupamiento para la precipitación en Australia
¿Qué no es Análisis de Cluster?
Clasificación SupervisadaTiene etiquetas de información de la clase
Segmentación SimpleDividir los estudiantes en grupos diferentes de registro alfabéticamente por apellido.
Resultados de una consultaLos agrupamientos son resultados de una especificación externa
Partición GráficoExiste cierta importancia y sinergia mutua, pero las áreas no son idénticas
211
La Noción de Cluster puede ser ambigua
¿Cuántos clusters hay?
Cuatro ClustersDos Clusters
Seis Clusters
Agenda¿Qué es el análisis de Cluster?
Aplicaciones del Análisis de Cluster¿Qué no es Análisis de Cluster?
Similitud y DisimilitudSimilitud /Disimilitud para Atributos SimplesDistancia EuclidianaDistancia MinkowskiDistancia de MahalanobisPropiedades de una DistanciaPropiedades comunes de una similitudSimilitud entre Vectores BinariosEjemplo: SMC versus JaccardSimilitud por coseno Coeficiente Extendido de Jaccard (Tanimoto)CorrelaciónEvaluación Gráfica de la CorrelaciónAproximación General para Combinar SimilitudesUso de Pesos para Combinar SimilitudesDensidadDensidad Euclidiana - Basada en CeldasDensidad Euclidiana – Basada en el CentroTipos de Agrupamientos
212
Similitud y DisimilitudSimilitud
Medida numérica de semejanza entre objetosValor alto para objetos parecidosA menudo definida en el intervalo [0,1]
DisimilitudMedida numérica de diferencia entre objetosValor bajo para objetos parecidosVaria entre [0, ∞)Usualmente es una distancia
ProximidadSe refiere a similitud o disimilitud
Similitud /Disimilitud para Atributos Simples
p y q son los valores de los atributos para dos objetos de datos.
Similitud y disimilitud para atributos simples
213
Distancia Euclidiana
n es la dimensión (numero de atributos)pk y qk son los k- ésimos atributos de los datos p y q.
Se realiza normalización si las escalas de los atributos difieren.
∑=
−=n
kkk qpdist
1
2)(
0
1
2
3
0 1 2 3 4 5 6
p1
p2
p3 p4
punto x yp1 0 2p2 2 0p3 3 1p4 5 1
Matriz de Distancias
p1 p2 p3 p4p1 0 2.828 3.162 5.099p2 2.828 0 1.414 3.162p3 3.162 1.414 0 2p4 5.099 3.162 2 0
Distancia Euclidiana
214
Generalización de la distancia Euclidiana mediante el parámetro r
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 Euclidianar → ∞. Distancia “supremo” (norma Lmax o L∞).
La máxima diferencia entre los atributos
rn
k
rkk qpdist
1
1)||( ∑
=−=
Distancia Minkowski
Matriz de Distancias
punto x yp1 0 2p2 2 0p3 3 1p4 5 1
L1 p1 p2 p3 p4p1 0 4 4 6p2 4 0 2 4p3 4 2 0 2p4 6 4 2 0
L2 p1 p2 p3 p4p1 0 2.828 3.162 5.099p2 2.828 0 1.414 3.162p3 3.162 1.414 0 2p4 5.099 3.162 2 0
L∞ p1 p2 p3 p4p1 0 2 3 5p2 2 0 1 3p3 3 1 0 2p4 5 3 2 0
Distancia Minkowski
215
Distancia de MahalanobisTqpqpqpsmahalanobi )()(),( 1 −∑−= −
Para los puntos rojos, la distancia Euclidiana es 14.7, mientras que la distancia de Mahalanobis es 6.
Σ es la matriz de covarianzas de los datos de entrada X
∑=
−−−
=Σn
ikikjijkj XXXX
n 1, ))((
11
Distancia de MahalanobisMatriz de Covarianza:
⎥⎦
⎤⎢⎣
⎡=Σ
3.02.02.03.0
B
A
C
A: (0.5, 0.5)
B: (0, 1)
C: (1.5, 1.5)
Mahal(A,B) = 5
Mahal(A,C) = 4
216
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) = 0solamente si p = q. (Definida positiva)
2. d(p, q) = d(q, p) para todos p y q. (Simetría)3. d(p, r) ≤ d(p, q) + d(q, r) para todos p, q, y r.
(Desigualdad triangular)
Toda distancia satisface las propiedades de una métrica
Propiedades de una Distancia
Propiedades comunes de una similitud
Las similitudes tienen algunas características bien conocidas:
1. s(p, q) = 1 (o máxima similitud) solo si p = q.
2. s(p, q) = s(q, p) para todo p y q. (Simétrica)
Donde s(p, q) es la similitud entre puntos (objetos de datos), p y q.
217
Similitud entre Vectores Binarios
Una situación común es que los objetos, p y q, tienen solo atributos binariosSimilitudes de cálculo usando las cantidades siguientes:
M01 = el número de atributos donde p es 0 y q es 1M10 = el número de atributos donde p es 1 y q es 0M00 = el número de atributos donde p es 0 y q es 0M11 = el número de atributos donde p es 1 y q es 1
Correspondencia simple (SMC) y Coeficientes de Jaccard (J)
SMC = (M11 + M00) / (M01 + M10 + M11 + M00)
J = (M11) / (M01 + M10 + M11)
Ejemplo: SMC versus Jaccard
p = 1 0 0 0 0 0 0 0 0 0 q = 0 0 0 0 0 0 1 0 0 1
M01 = el número de atributos donde p es 0 y q es 1M10 = el número de atributos donde p es 1 y q es 0M00 = el número de atributos donde p es 0 y q es 0M11 = el número de atributos donde p es 1 y q es 1
SMC = (M11 + M00)/(M01 + M10 + M11 + M00) = (0+7) / (2+1+0+7) = 0.7
J = (M11) / (M01 + M10 + M11) = 0 / (2 + 1 + 0) = 0
218
Similitud por cosenoÚtil para vectores documentales
cos( d1, d2 ) = (d1 • d2) / ||d1|| ||d2|| ,
Ejemplo:
d1 = 3 2 0 5 0 0 0 2 0 0 d2 = 1 0 0 0 0 0 0 1 0 2
d1•d2=3*1 +2*0 +0*0 + 5*0 + 0*0 + 0*0 + 0*0 + 2*1 + 0*0 + 0*2 = 5||d1||=(3*3+2*2+0*0+5*5+0*0+0*0+0*0+2*2+0*0+0*0)0.5 = (42) 0.5
||d1|| = 6.481||d2|| = (1*1+0*0+0*0+0*0+0*0+0*0+0*0+1*1+0*0+2*2) 0.5 = (6) 0.5
||d2|| = 2.245
cos( d1, d2 ) = .3150
Coeficiente Extendido de Jaccard (Tanimoto)
Variación de Jaccard para atributos continuos o de conteo
Reduce el coeficiente Jaccard para atributos binarios
219
Correlación
La correlación cuantifica la relación lineal entre objetosPara calcular la correlación, se estandarizan los objetos, p y q, y luego se efectúa el producto punto
)(/))(( pstdpmediapp kk −=′
)(/))(( qstdqmediaqq kk −=′
qpqpncorrelació ′•′=),(
Densidad
El agrupamiento basado en densidad, requiere entender el concepto de densidad:Ejemplos:
Densidad Euclidiana:Densidad Euclidiana = número de puntos por unidad
de volumen
Densidad de Probabilidad
Graficas basadas en densidad
220
Densidad Euclidiana -Basada en Celdas
La aproximación más simple es dividir la región en un número de celdas rectangulares de igual volumen y donde su densidad se define como el número de puntos que contiene la celda.
Densidad basada en celdas Conteo de puntos para dada celda de la malla
Densidad Euclidiana – Basada en el Centro
La densidad Euclidiana es el número de puntos dentro de un radio específico al punto.
Densidad Basada en el Centro
221
AgendaTipos de Agrupamientos
Agrupamiento de Partición (Partitional Clustering)Agrupamiento JerárquicoOtras distinciones entre los conjuntos de ClustersCaracterísticas importantes de la entradas de datos
Algoritmos de AgrupamientoK-means y sus variantesAgrupamiento jerárquicoAgrupamiento basado en densidad
Tipos de Agrupamientos
Un agrupamiento es un grupo de clusters
Agrupamiento JerárquicoEs un conjunto de clusters anidados, organizados como un árbol jerárquico
Agrupamiento de ParticiónUna división de objetos de datos en conjuntos no superpuestos (clusters), donde cada objeto de dato es exactamente un subconjunto.
222
Agrupamiento de Partición (Partitional Clustering)
Puntos Originales Un agrupamiento de partición
Agrupamiento Jerárquico(Hierarchical Clustering)
p4p1
p3
p2
p4p1
p3
p2
p4p1 p2 p3
p4p1 p2 p3
Agrupamiento Tradicional Jerárquico
Agrupamiento Jerárquico No - Tradicional Dendrograma No tradicional
Dendrograma Tradicional
223
Otras distinciones entre los conjuntos de Clusters
Exclusivo vs. no - exclusivoEn los agrupamientos no exclusivos, los puntos pueden pertenecer a múltiples clusters.Se puede representar múltiples clases o puntos frontera.
Difuso vs. no - difusoEn el agrupamiento difuso, un punto pertenece a todo cluster con algún peso entre 0 y 1.Los pesos deben sumar 1.El agrupamiento probabilístico tiene características similares.
Otras distinciones entre los conjuntos de Clusters
Parcial vs. completoEn algunos casos, solo se necesita agrupar algunos de los datos.
Heterogéneo vs. homogéneo Agrupamiento generalmente de diferentes tamaños, formas y densidades.
224
Tipos de Clusters
Clusters bien separados Clusters basados en el centroClusters contiguos Clusters basados en densidadDe propiedad o ConceptualDescrito por una Función Objetivo
Tipos de Clusters: Bien Separados
Un cluster es un conjunto de puntos en el que cualquier punto en el cluster es más cercano a cualquier otro punto en el cluster que cualquier otro punto que no esté en el cluster
3 clusters bien separados
225
Tipos de Clusters: Basados en el centro
Un cluster es un conjunto de objetos en el que un objeto está más cerca al centro del cluster, que al centro de otro cluster.
El centro de un cluster frecuentemente es llamado centroide, el promedio de todos los puntos en el cluster o el “medoid”, el punto más representativo del cluster.
4 clusters basados en el centro
Tipos de Clusters:Clusters contiguos
Un cluster es un conjunto de puntos donde un punto en el cluster está más próximo a otro punto o puntos en el cluster que a cualquier otro punto que no pertenezca al cluster.
8 clusters contiguos
226
Tipos de Clusters:Basados en Densidad
Un cluster es una región densa de puntos, separados por regiones de baja densidad, de otras regiones de alta densidad.Se usan cuando los clusters son irregulares o entrelazados, y cuando se presenta ruido y datos atípicos
6 clusters basados en densidad
Tipos de Clusters: Clusters Conceptuales
De propiedad compartida o clusters conceptuales
Son clusters que tienen propiedad compartida o representan un concepto particular
.
2 Círculos entrelazados
227
Tipos de Clusters: De Función Objetivo
Clusters Definidos por una Función ObjetivoSon clusters que minimizan o maximizan una función objetivoEnumeran todas las posibles formas de dividir los puntos dentro de un cluster y evalúan la “bondad” de cada conjunto potencial de clusters usando una función objetivo dada (NP Hard)
Características importantes de la entradas de datos
Tipo de proximidad o medida de la densidadEs una medida derivada, pero básica para el agrupamiento.
Poca densidadDicta el tipo de similitudAgrega eficiencia
Tipo de atributoDicta el tipo de similitud
Tipo de DatosDicta el tipo de similitudOtra característica: auto-correlación
DimensionalidadRuido y datos atípicos (Outliers)Tipo de Distribución
228
Algoritmos de Agrupamiento
K-means y sus variantes
Agrupamiento jerárquico
Agrupamiento basado en densidad
Agrupamiento K-means
Aproximación al agrupamiento por particiónCada cluster está asociado con un centroide (punto central)Cada punto es asignado al cluster más cercano al centroideEl número de clusters “K” debe ser especificadoEl algoritmo básico es muy simple
1: Seleccionar K puntos como los centroides iniciales2: Repetir3: Desde K clusters asignar todos los puntos al centroide más cercano4: Recalcular el centroide de cada cluster5: Hasta El centroide no cambia
229
Detalles del Agrupamiento K-means
Los centroides iniciales se escogen aleatoriamente.Los clusters generados varían de una ejecución a otra.
El centroide generalmente es igual al número de puntos en el cluster.
La proximidad es medida por la distancia Euclidiana, la similitud por coseno, correlación, etc.K-means convergerá a una medida de similitud común mencionada anteriormente.La mayoría de la convergencia ocurre en las primeras iteraciones:
Frecuentemente la condición para parar es cambiada por “Hasta que algunos puntos cambien de cluster”
La complejidad es: O( n * K * I * d )n = número de puntos, K = número de clustersI = número de iteraciones, d = número de atributos
Dos Agrupamientos diferentes con K-means
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Agrupamiento Sub- óptimo
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Agrupamiento Óptimo
Puntos Originales
230
Importancia de la elección de los centroides iniciales
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 6
Importancia de la elección de los centroides iniciales
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 6
231
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.
x es un punto en el cluster Ci y mi es el punto representativo para el cluster Ci
Se puede mostrar que mi corresponde al centro (promedio) del clusterDados dos clusters, se puede elegir uso con el menor errorUna manera fácil de reducir el SSE es incrementar K, el número de clusters
Un buen agrupamiento con K pequeño, puede tener un SSE más bajo que un agrupamiento con un K grande
∑ ∑= ∈
=K
i Cxi
i
xmdistSSE1
2 ),(
Importancia de la elección de los centroides iniciales
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
232
Importancia de la elección de los centroides iniciales
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
yIteration 4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
3
x
y
Iteration 5
Problemas con Selección Inicial de Puntos
Si hay K clusters reales, luego la posibilidad de seleccionar un centroide desde cualquier cluster es pequeña
La probabilidad es relativamente pequeña cuando K es grande.Si los clusters son del mismo tamaño, n, entonces
Por ejemplo, si K = 10, entonces la probabilidad es = 10!/1010 = 0.00036A veces los centroides iniciales se reajustarán solos en la forma adecuada, y a veces no.
KK
K
KK
KnnKP
centroidesKrseleccionaparaformasdenúmeroclustercadadesdecentroideunrseleccionaparaformasdenúmeroP
!)(
!==
=
233
Ejemplo con 10 Clusters
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 1
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 2
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 3
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 4 Comenzando con dos centroides iniciales en un cluster para cada par de clusters
Ejemplo con 10 Clusters
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 1
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 2
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 3
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 4
Comenzando con dos centroides iniciales en un cluster para cada par de clusters
234
Ejemplo con 10 Clusters
Comenzando con algunos pares de clusters teniendo tres centroides iniciales, mientras los otros tienen solo uno
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 1
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 2
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 3
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 4
Ejemplo con 10 Clusters
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 1
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 2
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 3
0 5 10 15 20
-6
-4
-2
0
2
4
6
8
x
y
Iteration 4
Comenzando con algunos pares de clusters teniendo tres centroides iniciales, mientras los otros tienen solo uno
235
Soluciones al problema de los centroides iniciales
Múltiples ejecucionesAyuda, pero la probabilidad no está de su lado
Agrupamiento de prueba y agrupamiento jerárquico para determinar los centroides inicialesSeleccionar mas de un K inicial de centroides y luego seleccionar entre estos los centroides iniciales
Seleccionarlos ampliamente separados
PostprocesamientoBisectar K-means
No se recomienda para inicialización
Manejo de Clusters vacíos
El algoritmo básico K-means puede eliminar clusters vacíos.
Algunas estrategiasElegir el punto que contribuya más al SSEElegir el punto desde el cluster con el mayor SSESi hay varios clusters vacíos, el paso anterior puede repetirse varias veces.
236
Pre-procesamiento y Post-procesamiento
Pre-procesamientoNormaliza los datosElimina los datos atípicos (outliers)
Post-procesamientoElimina los clusters pequeños que pueden representar los datos atípicosDivide los clusters “flojos”, es decir, los que tienen un SSE relativamente altoCombina los clusters que están “cerrados” y que tienen un SSE relativamente bajoSe pueden usar estos paso durante el proceso de agrupamiento
ISODATA
Bisectar K-means
Algoritmo Bisectar K-meansVariación del K-means que produce un agrupamiento de partición o jerárquico
1: Inicializar la lista de clusters para reducir el cluster que contiene todos los puntos 2: Repetir3: Seleccionar un cluster de la lista de clusters4: Para i = 1 hasta número_de_iteraciones Hacer5: Bisectar el cluster seleccionado usando el K-means6: Fin_para7: Adicionar los dos clusters de la bisección con el menor SSE a la lista de clusters8: Hasta La lista de clusters tiene K clusters
237
Ejemplo de Bisectar K-means
Limitaciones del K-means
K-means tiene problemas cuando los clusters difieren en:
TamañoDensidadFormas no globulares
K-means tiene problemas cuando los datos tienen datos atípicos
238
Limitaciones del K-means: Diferentes Tamaños
Puntos Originales K-means (3 Clusters)
Limitaciones del K-means: Densidad Diferente
Puntos Originales K-means (3 Clusters)
239
Limitaciones del K-means: Formas no globulares
Puntos Originales K-means (2 Clusters)
Limitación del K-means superada
Una solución es usar muchos clusters.Encontrar partes de clusters, pero se necesita ponerlas todas
Puntos Originales K-means Clusters
240
Limitación del K-means superada
Puntos Originales K-means Clusters
Limitación del K-means superada
Puntos Originales K-means Clusters
241
Agrupamiento Jerárquico
Produce un conjunto de clusters anidados organizados como árboles jerárquicosPuede ser visualizado como un dendrograma
Un árbol como un diagrama que recuerda la secuencia de combinación o división
1 3 2 5 4 60
0.05
0.1
0.15
0.2
1
2
3
4
5
6
1
23 4
5
Fortalezas del Agrupamiento Jerárquico
No se asume un número particular de clusters
El número deseado de clusters se obtiene seleccionando el nivel adecuado del dendograma
Puede corresponder a taxonomías significativas
Ejemplo: en biología (reino animal, reconstrucción de filogenia)
242
Agrupamiento JerárquicoLos dos tipos principales de agrupamiento jerárquico:
Aglomerado: Comienza con los puntos como clusters individualesEn 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árquicoEl algoritmo básico es directo:
1. Calcula la matriz de proximidad2. Se deja que cada punto sea un cluster3. Repetir4. Combinar los dos clusters más cercanos
Actualizar la matriz de proximidad1. 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
243
Situación Inicial
Comienza con los clusters individuales y la matriz de proximidad
p1
p3
p5
p4
p2
p1 p2 p3 p4 p5 . . .
.
.
. Matriz de Proximidad
Situación IntermediaLuego de algunos pasos de combinación, se obtienen algunos clusters
C1
C4
C2 C5
C3
C2C1
C1
C3
C5
C4
C2
C3 C4 C5
Matriz de Proximidad
244
Situación IntermediaSe necesita combinar dos de los clusters más cercanos (C2 y C5 y actualizar la matriz de proximidad)
C2C1
C1
C3
C5
C4
C2
C3 C4 C5
C1
C4
C2 C5
C3
Matriz de Proximidad
Después de CombinarLa pregunta es “¿Cómo se puede actualizar la matriz de proximidad?”
C1
C4
C2 U C5
C3
? ? ? ?
?
?
?
C2 U C5C1
C1
C3
C4
C2 U C5
C3 C4
Matriz de Proximidad
245
¿Cómo definir la similitud entre clusters?
p1
p3
p5
p4
p2
p1 p2 p3 p4 p5 . . .
.
.
.
MINMAXPromedio del GrupoDistancia entre CentroidesOtros métodos se guían por una función objetivo
El método de Ward usa el error cuadrático
¿Similitud?
Matriz de Proximidad
¿Cómo definir la similitud entre clusters?
p1
p3
p5
p4
p2
p1 p2 p3 p4 p5 . . .
.
.
. Matriz de Proximidad
MINMAXPromedio del GrupoDistancia entre CentroidesOtros métodos se guían por una función objetivo
El método de Ward usa el error cuadrático
246
¿Cómo definir la similitud entre clusters?
p1
p3
p5
p4
p2
p1 p2 p3 p4 p5 . . .
.
.
. Matriz de Proximidad
MINMAXPromedio del GrupoDistancia entre CentroidesOtros métodos se guían por una función objetivo
El método de Ward usa el error cuadrático
¿Cómo definir la similitud entre clusters?
p1
p3
p5
p4
p2
p1 p2 p3 p4 p5 . . .
.
.
. Matriz de Proximidad
MINMAXPromedio del GrupoDistancia entre CentroidesOtros métodos se guían por una función objetivo
El método de Ward usa el error cuadrático
247
p1
p3
p5
p4
p2
p1 p2 p3 p4 p5 . . .
.
.
.
× ×
MINMAXPromedio del GrupoDistancia entre CentroidesOtros métodos se guían por una función objetivo
El método de Ward usa el error cuadrático
¿Cómo definir la similitud entre clusters?
Matriz de Proximidad
Similitud de Cluster: MIN o Enlace simple
La similitud de dos cluster se basa en los dos puntos más similares (cercanos) en dos clusters
Es determinado por un par de puntos, es decir, un enlace en la gráfica de proximidad
I1 I2 I3 I4 I5I1 1.00 0.90 0.10 0.65 0.20I2 0.90 1.00 0.70 0.60 0.50I3 0.10 0.70 1.00 0.40 0.30I4 0.65 0.60 0.40 1.00 0.80I5 0.20 0.50 0.30 0.80 1.00 1 2 3 4 5
248
Agrupamiento Jerárquico: MIN
Clusters Anidados Dendrogram
1
2
3
4
5
6
12
3
4
5
3 6 2 5 4 10
0.05
0.1
0.15
0.2
Fortaleza de MIN
Puntos Originales Dos Clusters
•Puede manejar formas no elípticas
249
Limitaciones de MIN
Dos Clusters
• Sensitivo al ruido y a los datos atípicos (outliers)
Puntos Originales
Similitud de Cluster: MAX o Enlace completo
La similitud de dos clusters se basa en al menos los dos puntos similares (más distantes) en los dos clusters
Está determinado por todos los pares de puntos en los dos clusters
I1 I2 I3 I4 I5I1 1.00 0.90 0.10 0.65 0.20I2 0.90 1.00 0.70 0.60 0.50I3 0.10 0.70 1.00 0.40 0.30I4 0.65 0.60 0.40 1.00 0.80I5 0.20 0.50 0.30 0.80 1.00 1 2 3 4 5
250
Similitud de Cluster: MAX
Clusters Anidados Dendrograma
3 6 4 1 2 50
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
1
2
3
4
5
61
2 5
3
4
Fortaleza de MAX
Dos Clusters
•Menos susceptible al ruido y a los datos atípicos
Puntos Originales
251
Limitaciones de MAX
Dos Clusters
•Tiende a romper los clusters grandes
•Predispuesto para clusters globulares
Puntos Originales
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
Es necesario usar el promedio para la conectividad y escalabilidad debido a que el total favorece es a los grandes clusters.
||Cluster||Cluster
)p,pproximity(
)Cluster,Clusterproximity(ji
ClusterpClusterp
ji
jijjii
∗=
∑∈∈
I1 I2 I3 I4 I5I1 1.00 0.90 0.10 0.65 0.20I2 0.90 1.00 0.70 0.60 0.50I3 0.10 0.70 1.00 0.40 0.30I4 0.65 0.60 0.40 1.00 0.80I5 0.20 0.50 0.30 0.80 1.00 1 2 3 4 5
252
Clusters Anidados Dendrograma
3 6 4 1 2 50
0.05
0.1
0.15
0.2
0.25
1
2
3
4
5
61
2
5
3
4
Similitud de Cluster: Promedio de Grupo
Similitud de Cluster: Promedio de Grupo
Compromete tanto el acoplamiento singular como el completo.
FortalezasMenos susceptible al ruido y a los datos atípicos
LimitacionesPredispuesto para clusters globulares
253
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 globularesJerarquía análoga al K - means
Puede ser usada para inicializar K- means
Agrupamiento Jerárquico: Comparación
Promedio de Grupo
Método de Ward
1
23
4
5
61
2
5
3
4
MIN
1
23
4
5
61
2
5
34
MAX
1
23
4
5
61
2
5
3
41
23
4
5
61
2
3
4
5
254
Agrupamiento Jerárquico: Requerimientos de Tiempo y Espacio
Espacio de orden O(N2) debido a que usa la matriz de proximidad.
N es el número de puntos.
El tiempo es de orden O(N3) en muchos casos
Hay N pasos y cada paso tiene un tamaño de N2, la matriz de proximidad debe ser hallada y actualizadaLa complejidad del tiempo puede reducirse a O(N2 log(N) en algunas aproximaciones
Agrupamiento Jerárquico: Problemas y Limitaciones
Una vez que se toma una decisión para combinar dos clusters, no puede ser deshacerseLa función objetivo no es directamente minimizadaLos esquemas diferentes tienen problemas con uno o más de los siguientes factores:
Sensibilidad al ruido y a los datos atípicosDificultad para manejar clusters de diferente tamaño y formas convexasRompimiento de clusters grandes
255
MST: Agrupamiento Jerárquico Divisivo
Construir MST (Minimum Spanning Tree, Árbol de Mínima cobertura)
Comenzar con un árbol que consiste en cualquier puntoEn 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 estaAdicionar q al árbol y colocar un enlace entre p y q.
MST: Agrupamiento Jerárquico Divisivo
Se usa el MST para construir jerarquías de clusters
Algoritmo para el MST Agrupamiento Jerárquico Divisivo
1: Calcular el árbol de mínima cobertura para la gráfica de proximidad2: Repetir3: Crear un nuevo cluster por rompimiento de enlace correspondiente a la distancia más grande (menor similitud)4:Hasta Solo queda un cluster con un único elemento
256
DBSCAN
DBSCAN es un algoritmo basado en densidadDensidad = número de puntos dentro de un radio específico(Eps)
Un punto es un punto nuclear si este tiene mas de un número específico de puntos (MinPts) dentro del Eps
Estos son puntos que están en el interior del cluster
Un punto frontera tiene menos de MinPts dentro del Eps, pero en su vecindad es un punto nuclear
Un punto de ruido es cualquier punto que no es un punto nuclear o un punto frontera
DBSCAN: Puntos nucleares, frontera, ruido
257
Algoritmo DBSCANEliminar los puntos de ruidoHacer agrupamiento en los puntos restantes
DBSCAN: Puntos nucleares, frontera, ruido
Puntos OriginalesTipo de puntos: nuclear, borde y ruido
Eps = 10, MinPts = 4
258
¿Cuándo funciona mejor DBSCAN?
Clusters
• Resistencia al Ruido
•Puede manejar clusters de diferentes formas y tamaños
Puntos Originales
¿Cuándo no funciona bien DBSCAN?
(MinPts=4, Eps=9.75).
(MinPts=4, Eps=9.92)
• Densidades que varían
• Alta dimensionalidad de los datos
Puntos Originales
259
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
Data Mining: Cluster Analysis: Basic Concepts and AlgorithmsLecture Notes for Chapter 8: “Introduction to Data Mining by Tan, Steinbach, Kumar
Bibliografía
260
Minería de DatosII - 2007
AGRUPAMIENTOEVALUACIÓN Y SOM
261
AgendaValidación de agrupamiento (clustering)Self Organizing Maps (SOM)
AgendaValidación de agrupamiento (clustering)Self Organizing Maps (SOM)
262
Validación de clustersDiferentes 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 ruidoPara comparar los algoritmos de agrupamientoPara comparar dos conjuntos de clustersPara comparar dos clusters
Clusters encontrados en Datos Aleatorios
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
Puntos Aleatorios
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
K-means
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
DBSCAN
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
Enlace Completo
263
1. Determinar la tendencia del agrupamiento de un grupo de datos, i.e., identificar si una estructura no aleatoria existe en los datos.
2. Comparar los resultados de un análisis de cluster con resultados externos conocidos, e.g, con etiqeutas de clases dadas externamente.
3. Evaluar que tan bien los resultados de un análisis de cluster se ajustan a los datos sin referirse a información externa.
4. Comparar los resultados de dos conjuntos diferentes de análisis de cluster para determinar cuál es mejor.
5. Determinar el número correcto de clusters
Para 2, 3 y 4 podemos además distinguir si se quiere evaluar el agrupamiento completo o solo unos clusters individuales
Aspectos principales para la Validación de Clusters
Las medidas numéricas que son aplicadas para juzgar varios aspectos de la validación de cluster, son clasificadas en los siguientes tres tipos:
Índice Externo: usado para medir el grado en que las etiquetas de cluster coinciden con etiquetas de clases externas.
Entropía Índice Interno: usado para medir la “bondad” de un estructura agrupada sin tener información de referencia externa
Sum of Squared Error (SSE)Índice Relativo: usado para comparar dos agrupamientos diferentes o clusters
Frecuentemente se usa un índice externo o interno para esta función, e.g., SSE o Entropía
Medidas de Validación de Cluster
264
Dos matrices:Matriz de proximidadMatriz de “incidencia”
Una fila y una columna para cada datoUna entrada es 1 si el par de datos pertenecen al mismo clusterUna entrada es 0 si el par de datos pertenecen a diferentes clusters.
Calcular la correlación entre dos matricesSi dos matrices son simétricas, solo la correlación entre
n (n-1)/2 entradas necesita ser calculada.
Una alta correlación indica que los puntos que pertenecen al mismo cluster son cercanos entre sí.No es una medida buena para algunos clusters basados en densidad o en cercanía.
Medidas de Validación de Cluster a través de Correlación
Medidas de Validación de Cluster a través de Correlación
Correlación para las matrices de incidencia y de proximidad para agrupamientos con K – means para los siguientes conjuntos
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
Corr = -0.9235 Corr = -0.5810
265
Ordenar la matriz de similaridad respecto a las etiquetas de agrupamiento e inspeccionar visualmente.
Usando Matriz de Similitud para Validación de Cluster
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
Points
Poin
ts
20 40 60 80 100
10
20
30
40
50
60
70
80
90
100Similarity
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Usando Matriz de Similitud para Validación de Cluster
Los agrupamientos en datos aleatorios no son tan bien definidos.
Points
Poin
ts
20 40 60 80 100
10
20
30
40
50
60
70
80
90
100Similarity
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
DBSCAN
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
266
Points
Poin
ts
20 40 60 80 100
10
20
30
40
50
60
70
80
90
100Similarity
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Usando Matriz de Similitud para Validación de Cluster
Los agrupamientos en datos aleatorios no son tan bien definidos.
K-means
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
Usando Matriz de Similitud para Validación de Cluster
Los agrupamientos en datos aleatorios no son tan bien definidos
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
Points
Poin
ts
20 40 60 80 100
10
20
30
40
50
60
70
80
90
100Similarity
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Complete Link
267
Usando Matriz de Similitud para Validación de Cluster
1 2
3
5
6
4
7
DBSCAN
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
500 1000 1500 2000 2500 3000
500
1000
1500
2000
2500
3000
Los clusters en figuras más complicadas no son bien separadosÍndice interno: se usa para medir la bondad de una estructura de agrupamiento sin tener información de referencia externa
SSE (suma de errores cuadráticos)SSE es una bueno para comparar dos agrupamientos o dos grupos (SSE promedio)Puede usarse para estimar el número de clusters
Medidas Internas: SSE
2 5 10 15 20 25 300
1
2
3
4
5
6
7
8
9
10
K
SSE
5 1 0 15
-6
-4
-2
0
2
4
6
268
Medidas Internas: SSE
Curva SSE para conjuntos de datos más complicados
1 2
3
5
6
4
7
SSE de clusters encontrados usando K-means
Se necesita un marco para interpretar cualquier medidaPor ejemplo, si nuestras medidas de evaluación tienen el valor, 10, es bueno, justo o pobre?
La estadística provee un marco para validación de clustersEntre más “atípico” es el resultado del agrupamiento, es más probable que represente una estructura válida en los datosSe puede comparar los valores de un índice que resulte del agrupamiento de datos aleatorios contra los resultados de un agrupamiento dado.
Si el valor del índice es poco probable, los resultados del cluster son válidos
Estas aproximaciones son más complicadas y difíciles de entender.Para comparar los resultados de dos agrupamientos diferentes, un marco es menos necesario:
Sin embargo, hay una pregunta de si la diferencia entre dos valores del índice es significativo.
Marco para Validación de Cluster
269
EjemploComparar SSE de 0.005 contra tres clusters en datos aleatoriosEl 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
Marco Estadístico para SSE
0.016 0.018 0.02 0.022 0.024 0.026 0.028 0.03 0.032 0.0340
5
10
15
20
25
30
35
40
45
50
SSE
Cou
nt
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
En las siguientes gráfica se muestra la correlación de las matrices de incidencia y proximidad para los agrupamientos de con K – Means, para dos conjuntos de datos.
Marco Estadístico para Correlación
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y
Corr = -0.9235 Corr = -0.5810
270
Cohesión del Cluster: Medidas de qué tan estrechamente relacionados están los objetos dentro de un cluster
Ejemplo: SSE
Separación del Cluster: Medida de que tan distinto o separado está un cluster de otros clusters
Ejemplo: Error cuadráticoLa cohesión es medida por la suma de los cuadrados dentro del cluster (SSE)
La separación es medida por la suma de los cuadrados entre clusters
Donde |Ci| es el tamaño del cluster i
Medidas Internas: Cohesión y Separación
∑∑∈
−i iCx
i )m(x=WSS 2
| |∑ −i
ii )m(mC=BSS 2
Medidas Internas: Cohesión y Separación
Ejemplo: SSEBSS + WSS = constante
1 2 3 4 5× ××m1 m2
m
1091934.521.532
14.554.541.521.5122
2222
=+=Total=)(+)(=BSS
=)(+)(+)(+)(=WSS−×−×
−−−−K=2 clusters:
100100334
10353432312
2222
=+=Total=)(=BSS
=)(+)(+)(+)(=WSS−×
−−−−K=1 cluster:
271
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
Medidas Internas: Cohesión y Separación
cohesión separación
Combina ideas tanto de cohesión como de separación, pero para puntos individuales, así como para clusters y agrupamientos.
Medidas Internas: Coeficiente de Perfil
272
Para un punto individual, iCalcular a = promedio de la distancia de i a los puntos en su cluster.Calcular b = min (promedio de la distancia de ia 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)
Típicamente entre 0 y 1El que es cercano a 1 es mejor
Medidas Internas: Coeficiente de Perfil
ab
Se puede calcular la amplitud del Perfil Promedio para un cluster o un agrupamiento.
Medidas Internas: Coeficiente de Perfil
273
“La validación de estructuras de agrupamiento es la parte de mayor dificultad y frustración del análisis de cluster.
Sin un esfuerzo fuerte en esta dirección, el análisis de cluster seguirá siendo un arte negro accesible solamente a esos creyentes verdaderos que tengan experiencia y gran coraje ”
Algorithms for Clustering Data, Jain and Dubes
Comentario Final
AgendaValidación de agrupamiento (clustering)Self Organizing Maps (SOM)
274
Entradas
Neuronas
También llamadas Mapas AutoorganizativosSelf Organizing Maps = SOM
Modelo de una red de Kohonen
Características de la Red de Kohonen
Los nodos de entrada están conectados a cada neurona.La neurona “ganadora” es la que cuyos pesos son más similares a la entrada.Las neuronas funcionan con un comportamiento “la ganadora toma todo”
La salida de la ganadora es un 1 y las demás 0Solo los pesos de la ganadora y sus vecinas son adaptadas
275
TopologíaLas neuronas de la capa de salida están conectadas de acuerdo con la topología que se quiere inducir en el espacioGeneralmente se trabaja con topologías en 1-D o 2-DLa topología 1-D más usual es la lineal, cada neurona tiene 1 o dos vecinasLas topologías 2-D corresponden a retículos que pueden tener vecindades cuadradas o hexagonales
Ecuaciones de la Red: SimilitudLa similitud es cuantificada usando la distancia Euclidiana desde un vector patrón de entrada.
El vector de pesos w[i] representa todos los pesos a la neurona i; por lo tanto, w[i][j] es el peso de la unión de la entrada j con la neurona i.
La ganadora tiene el valor más pequeño de s
( )∑ −=−=j
ppp jentradajientradaiis 2][][][||][||][ ww
276
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:
Donde s es un escalar que establece la amplitud de la función de peso.
2),(1
1),(⎟⎠⎞
⎜⎝⎛+
=
sid
iNbdWtα
α
2),(
),(⎟⎠⎞
⎜⎝⎛−
= sid
eiNbdWtα
α
277
VecindadOn-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ónComplementario al “off- center on-surround”
VecindadOn-center Off-Surround
On-center Off-surround Neighborhood Weighting
-1
-0,5
0
0,5
1
1,5
1 8 15 22 29 36 43 50 57 64 71 78
g1g2dogOCOS
278
Vecindad Sombrero mejicano
.0 donde )()(:por dadaser puede mejicano sombrero defunción UnaGaussiana.
diferencia una ),()()( Siendo .0 donde
)(y )(
Gaussianasfunciones dos doConsideran
21
12
21
2
2
2
1
>⋅+=
−=>>
==⎟⎟⎠
⎞⎜⎜⎝
⎛−⎟⎟
⎠
⎞⎜⎜⎝
⎛−
αα xh xgicano(x)SobreroMej
xgxgxhss
exgexg
i
sx
sx
Algoritmo Básico de Entrenamiento
Se inicializan los pesos desde los nodos de entrada a las neuronas.Se escoge la función de vecindadMientras (los patrones de entrada tengan pesos desajustados)
Encontrar una ganadoraAdaptar los pesos en la vecindad de la ganadora
Desarrollar una interpretación para la codificación identificando cuales neuronas codifican que patrones
279
VisualizaciónLas 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
Data Mining: Cluster Analysis: Basic Concepts and AlgorithmsLecture Notes for Chapter 8: “Introduction to Data Mining by Tan, Steinbach, Kumar
Gene Tagliarini, Artificial Intelligence Course, Notes in SOM, http://people.uncw.edu/tagliarinig/courses/415/Lectures/Kohonen%20Self-organizing%20Feature%20Maps.ppt
Bibliografía
280
NOTAS
NOTAS