Minería de Datos
2.5 Tareas de la Minería de Datos.
El proceso de minería involucra ajustar modelos o determinar patrones a
partir de datos. Este ajuste normalmente es de tipo estadístico, en el sentido que
se permite un cierto ruido o error dentro del modelo.
Los algoritmos de minería de datos realizan en general tareas de predicción
(de datos desconocidos) y de descripción (de patrones).
Las tareas principales son:
Agrupamiento o Identificación de Clases: Es una tarea en donde se busca
identificar un conjunto de categorías o conjuntos para describir los datos.
Las categorías pueden ser mutuamente exclusivas y exhaustivas, o
consistir de una representación jerárquica, o permitir solapamientos. Entre
los ejemplos que utilizan agrupamiento en aplicaciones de KDD, se incluyen
las subpoblaciones homogéneas de consumidores en una base de datos de
mercados y la identificación de subcategorías en el espectro de alguna
medida. Se utilizan algoritmos de clustering.
Clasificación: Es la habilidad para adquirir una función que mapee (clasifica)
un elemento de dato a una de varias clases predefinidas. Ejemplos de
Minería de Datos
métodos de Clasificación usados como parte de las aplicaciones de KDD,
se encuentran la clasificación de" tendencias en los mercados financieros y
la identificación automática de objetos de interés en grandes bases de
datos de imágenes.
Condensación o Descripción de Conceptos: Consiste en encontrar un
método que permita encontrar una descripción compacta de un subconjunto
de datos. Los métodos más sofisticados involucran reglas de compactación
técnicas de visualización multivariada y descubrimiento de relaciones
funcionales entre las variables. Estas técnicas son a menudo aplicadas en
el análisis datos en forma interactiva y en la generación de reportes
automáticos.
Detección de Desviaciones, Casos Extremos o Anomalías: Detectar los
cambios más significativos en los datos con respecto a valores pasados o
normales. Sirve para filtrar grandes volúmenes de datos que son menos
probables de ser interesantes. El problema está en determinar cuándo una
desviación es significativa para ser de interés.
Modelado de Dependencias: Consiste en encontrar un modelo el cual
describa las dependencias significantes entre las variables. Los modelos de
dependencia existen a dos niveles: A nivel estructural del modelo
específica, a menudo en forma gráfica, cuáles variables son localmente
dependientes sobre cada una de las otras, mientras que a nivel cuantitativo
especifica la robustez de las dependencias, usando una escala numérica.
Por ejemplo, las redes de dependencia probabilística usan una
independencia condicional para especificar el aspecto estructural del
modelo y probabilidades y correlaciones para especificar la solidez de las
dependencias. Las redes de dependencia probabilística se encuentran en
aplicaciones, tales como: los sistemas expertos probabilístico para bases
de datos médicas, recuperación de información y en el modelado de los
fenómenos humanos.
Regresión: Consiste en adquirir una función que mapee un elemento de
dato a una variable de predicción de valor real. Existen muchas
aplicaciones, como por ejemplo, predecir la cantidad de biomasa presente
en un bosque dado, sensado remotamente por vía microondas, estimar la
probabilidad de que un paciente no muera, dados los resultados de un
conjunto de pruebas de diagnósticos, predecir la demanda de un
consumidor por un nuevo producto como una función del gasto publicitario.
2.6 Proceso de Minería de Datos
El proceso de Data Mining se inicia con la identificación de los datos. Para
ello hay que imaginar qué datos se necesitan, dónde se pueden encontrar (en una
o varias bases de datos; en papel, etc.) y cómo conseguirlos. Una vez que se
Minería de Datos
dispone de los datos, se deben preparar, poniéndolos en bases de datos en un
formato adecuado o construir una warehouse. Esta es una de las tareas más
difíciles del Data Mining. Una vez que se tiene los datos en el formato adecuado
hay que realizar una selección de los datos esenciales y eliminación de los
innecesarios.
Antes de proceder al análisis de los datos por Data Mining, conviene tener
una idea de qué es lo que interesa averiguar, qué herramientas se necesitan y
cómo proceder. Tras aplicar la herramienta elegida o construida por nosotros
mismos hay que saber interpretar los resultados o patrones obtenidos para saber
los que son significativos y cómo podarlos para extraer únicamente los resultados
útiles. Tras examinar los resultados útiles hay que identificar las acciones que
deben de ser tomadas, discutirlas y pensar en los procedimientos para llevarlas a
cabo e implementarlas.
Una vez implementadas hay que evaluarlas para ello hay que observar los
resultados, los beneficios y el coste para poder reevaluar el procedimiento
completo. Para entonces los datos pueden haber cambiado, nuevas herramientas
pueden estar disponibles y probablemente habrá que planificar el siguiente ciclo
de minería.
La actividad de minería de datos es en realidad un proceso que involucra
ajustar modelos o determinar patrones a partir de datos. El ajuste en modelos
normalmente es de tipo estadístico, en el sentido que se permite un cierto ruido o
error dentro del modelo, en tanto que el establecimiento de patrones es
generalmente de tipo determinístico o probabilístico. Los pasos a seguir para la
realización de un proyecto de minería de datos son siempre los mismos,
independientemente de la técnica específica de extracción de conocimiento
usada.
A continuación se proporciona una visión general del proceso de minería de
datos y una breve descripción de cada estado:
BD Datos
Selección Selección de Extracción de Evaluación
Preprocesado
características conocimiento
Modelo
Clasificador
Conocimiento
Figura 2. Proceso de la Minería de Datos
Minería de Datos
El proceso de minería de datos pasa por los siguientes estados:
Procesado de los datos.
Selección de características.
Uso de un algoritmo de extracción de conocimiento
Interpretación y evaluación.
2.6.1 Procesado de los Datos
BD Datos
Selección Preprocesado Selección de Extracción de Evaluación
características conocimiento
Modelo
Clasificador
Conocimiento
Figura 3. Proceso de la Minería de Datos: Preprocesado
El formato de los datos contenidos en la fuente de datos (base de datos,
Data Warehouse, etc.) nunca es el idóneo, y la mayoría de las veces no es posible
ni siquiera utilizar ningún algoritmo de minería sobre los datos "en bruto". Mediante
el preprocesado, se filtran los datos (de forma que se eliminan valores
incorrectos, no válidos, desconocidos; según las necesidades y el algoritmo a
usar), se obtienen muestras de los mismos (en busca de una mayor velocidad de
respuesta del proceso), o se reducen el número de valores posibles (mediante
redondeo, clustering, etc.).
2.6.2 Selección de Características
BD Datos
Selección Selección de Extracción de Evaluación
Preprocesado
características conocimiento
Modelo
Clasificador
Figura 4. Proceso de la Minería de Datos: Selección Conocimiento
Minería de Datos
Aún después de haber sido preprocesados, en la mayoría de los casos se
tiene una cantidad ingente de datos. La selección de características reduce el
tamaño de los datos eligiendo las variables más influyentes en el problema, sin
apenas sacrificar la calidad del modelo de conocimiento obtenido del proceso de
minería.
Los métodos para la selección de características son básicamente dos:
Aquellos basados en la elección de los mejores atributos del problema,
Y aquellos que buscan variables independientes mediante tests de
sensibilidad, algoritmos de distancia o heurísticos.
2.6.3 Algoritmos de Aprendizaje
BD Datos
Selección Preprocesado Selección de Extracción de Evaluación
características conocimiento
Modelo
Clasificador
Conocimiento
Figura 5. Proceso de la Minería de Datos: Extracción
Mediante una técnica de minería de datos, se obtiene un modelo de
conocimiento, que representa patrones de comportamiento observados en los
valores de las variables del problema o relaciones de asociación entre dichas
variables. También pueden usarse varias técnicas a la vez para generar distintos
modelos, aunque generalmente cada técnica obliga a un preprocesado diferente
de los datos.
2.6.4 Evaluación y Validación
Una vez obtenido el modelo, se debe proceder a su validación,
comprobando que las conclusiones que arroja son válidas y suficientemente
satisfactorias. En el caso de haber obtenido varios modelos mediante el uso de
distintas técnicas, se deben comparar los modelos en busca de aquel que se
ajuste mejor al problema. Si ninguno de los modelos alcanza los resultados
esperados, debe alterarse alguno de los pasos anteriores para generar nuevos
modelos.
Minería de Datos
BD Datos
Selección Selección de Extracción de Evaluación
Preprocesado
características conocimiento
Modelo
Clasificador
Conocimiento
Figura 6. Proceso de la Minería de Datos: Evaluación
La minería de datos se puede definir como un proceso analítico diseñado
para explorar grandes cantidades de datos (generalmente datos de negocio y
mercado) con el objetivo de detectar patrones de comportamiento consistentes o
relaciones entre las diferentes variables para aplicarlos a nuevos conjuntos de
datos.
Como se puede apreciar en los estados anteriores, la esencia del problema
consiste en "escarbar" en la información almacenada para "descubrir" los
elementos de utilidad.
Minería de Datos
3.1 Tipología de Técnicas de Minería de Datos
Las técnicas de minería de datos crean modelos que son predictivos y/ o
descriptivos. Un modelo predictivo responde preguntas sobre datos futuros. Un
modelo descriptivo proporciona información sobre las relaciones entre los datos y
sus características.
Los algoritmos supervisados o predictivos predicen el valor de un atributo
(etiqueta) de un conjunto de datos, conocidos otros atributos (atributos
descriptivos). A partir de datos cuya etiqueta se conoce se induce una relación
entre dicha etiqueta y otra serie de atributos. Esas relaciones sirven para realizar
la predicción en datos cuya etiqueta es desconocida. Esta forma de trabajar se
conoce como aprendizaje supervisado y se desarrolla en dos fases:
Entrenamiento (construcción de un modelo usando un subconjunto de
datos con etiqueta conocida) y,
Prueba (prueba del modelo sobre el resto de los datos).
Cuando una aplicación no es lo suficientemente madura no tiene el
potencial necesario para una solución predictiva, en ese caso hay que recurrir a
los métodos no supervisados o de descubrimiento del conocimiento que
descubren patrones y tendencias en los datos actuales (no utilizan datos
históricos). El descubrimiento de esa información sirve para llevar a cabo acciones
y obtener un beneficio (científico o de negocio) de ellas.
Ejemplo de Modelo Predictivo: Queremos saber si jugar o no jugar esta
tarde al tenis.
Example Sky Temperature Humidity Wind Play Tennis
1 Sunny Hot High Weak No
2 Sunny Hot High Strong No
3 Overcast Hot High Weak Yes
4 Rain Mild High Weak Yes
5 Rain Cool Normal Weak Yes
6 Rain Cool Normal Strong No
7 Overcast Cool Normal Strong Yes
8 Sunny Mild High Weak No
9 Sunny Cool Normal Weak Yes
10 Rain Mild Normal Weak Yes
Minería de Datos
11 Sunny Mild Normal Strong Yes
12 Overcast Mild High Strong Yes
13 Overcast Hot Normal Weak Yes
14 Rain Mild High Strong No
Tabla 2. Atributos para el ejemplo “Play Tennis”
Pasamos estos ejemplos a un algoritmo de aprendizaje de árboles de
decisión, señalando el atributo "Play Tennis" como la clase.
El resultado del algoritmo es el siguiente modelo:
Outlook?
Sunny Rain
Overcast
Yes
Humity? Outlook
High Normal Strong Weak
No Yes No Yes
Figura 7. Árbol de decisión
Ahora podemos utilizar este modelo para predecir si esta tarde jugamos o
no al tenis.
Por ejemplo, la instancia: (Outlook = sunny, Temperature = hot, Humidity =
high, Wind = strong) es No.
#Ej Sueldo Casado Coche Hijos Alq/Prop Sindico Bajas/Año Antigüedad Sexo
1 10000 SI No 0 Alquiler No 7 15 H
2 20000 No SI 1 Alquiler SI 3 3 M
3 15000 SI SI 2 Prop SI 5 10 H
4 30000. SI SI 1 Alquiler No 15 7 M
5 10000 SI SI 0 Prop SI 1 6 H
6 40000 No SI 0 Alquiler SI 3 16 M
7 25000 No No 0 Alquiler SI 0 8 H
8 20000 No SI 0 Prop SI 2 6 M
9 20000 SI SI 3 Prop No 7 5 H
Minería de Datos
10 30000 SI SI 2 Prop No 1 20 H
11 50000 No No 0 Alquiler No 2 12 M
12 8000 SI SI 2 Prop No 3 1 H
13 20000 No No 0 Alquiler No 27 5 M
14 10000 No SI 0 Alquiler SI 0 7 H
15 8000 No SI 0 Alquiler No 3 2 H
Tabla 3. Categorías de Empleados
Ejemplo de Modelo Descriptivo: Queremos categorizar nuestros empleados.
Tenemos estos datos de los empleados:
Pasamos estos ejemplos a un algoritmo de clustering K – means. Se crean
tres clusters, con la siguiente descripción:
Cluster 1: 5 examples Cluster 2: 4 examples Cluster 3: 6 examples
Sueldo: 226000 Sueldo: 225000 Sueldo: 188333
Casado: No 0.8 Casado: No 1.0 Casado: Si 1.0
Si 0.2 Coche: Si 1.0 Coche: Si 1.0
Coche: No 0.8 Hijos: 0 Hijos: 2
Si 0.2 Alq/Prop: Alquiler 0.75 Alq/Prop: Alquiler 0.2
Hijos: 0 Prop 0.25 Prop 0.8
Alq/Prop: Alquiler 1.0 Sindic: Si 1.0 Sindic: No 0.67
Sindic: No 0.8 Baja / Año: 2 Si 0.33
Si 0.2 Antigüedad: 8 Baja / Año: 5
Baja / Año: 8 Sexo: H 0.25 Antigüedad: 8
Antigüedad: 8 M 0.75 Sexo: H 0.83
Sexo: H 0.6 M 0.0.17
M 0.4
Tabla 4. Cluster generados
GRUPO 1 Sin hijos y de alquiler. Poco sindicados. Muchas bajas.
GRUPO 2 Sin hijos y con coche. Muy sindicados. Pocas bajas. Normalmente de
alquiler y mujeres.
GRUPO 3 Con hijos, casados y con coche. Propietarios. Poco sindicados.
Hombres.
3.2 Taxonomía de las Técnicas de Minería de Datos
Clasificación de las técnicas de aprendizaje
Cualquier problema de aprendizaje inductivo se puede presentar (más o
menos directamente) de cualquiera de estas cuatro formas:
Interpolación: una función continua sobre varias dimensiones.
Minería de Datos
Predicción secuencial: las observaciones están ordenadas
secuencialmente. Se predice el siguiente valor de la secuencia. Caso
particular de interpolación con 2 dimensiones, una discreta y regular.
Data Mining
Verification Driven DM Discovery Driven DM
SQL SQL Generator Description Prediction
Query Tools Visualization Classification Statistical
Regression
OLAP Clustering
Decision Tree
Association
Rule Induction
Sequential Association
Neural Network
Distillation
Figura 8. Taxonomía de las técnicas de DM
Aprendizaje supervisado: cada observación incluye un valor de la clase a
la que corresponde. Se aprende un clasificador. Caso particular de
interpolación: la clase es discreta.
Aprendizaje no supervisado: el conjunto de observaciones no tiene
clases asociadas. El objetivo es detectar regularidades en los datos de
cualquier tipo: agrupaciones, contornos, asociaciones, valores anómalos.
Abducción o Aprendizaje Analítico: B es muy importante. El objetivo es
explicar la evidencia respecto a B.
A continuación haremos una clasificación de los algoritmos Predictivos y
Descriptivos:
Predictivo
Minería de Datos
Interpolación y Predicción Secuencial.
Generalmente las mismas técnicas:
Datos continuos (reales):
Regresión Lineal:
Regresión lineal global (clásica).
Regresión lineal ponderada localmente.
Regresión No Lineal: logarítmica, pick & mix, etc.
Datos discretos:
No hay técnicas específicas: se suelen utilizar técnicas de algoritmos
genéticos o algoritmos de enumeración refinados.
Aprendizaje supervisado.
Dependiendo de sí se estima una función o una correspondencia:
Clasificación: se estima una función (las clases son disjuntas).
Categorización: se estima una correspondencia (las clases pueden
solapar).
Dependiendo del número y tipo de clases:
Clase discreta: se conoce como "clasificación".
Ejemplo: Determinar el grupo sanguíneo a partir de los grupos
sanguíneos de los padres.
Si sólo tiene dos valores (V y F) se conoce como "concept learning".
Ejemplo: Determinar si un compuesto químico es cancerígeno.
Clase continua o discreta ordenada: se conoce como "estimación".
Ejemplo: Estimar el número de hijos de una familia a partir de otros
ejemplos de familias.
Aprendizaje supervisado (Clasificación).
Técnicas:
K – NN (Nearest Neighbor).
K – means (competitive learning).
Perceptron Learning.
Multilayer ANN methods (e. g. backpropagation).
Radial Basis Functions.
Decision Tree Leaming (e. g. 103, C4.5, CART).
Bayes Classifiers.
Center Splitting Methods.
Minería de Datos
Rules (CN2).
Pseudo- relational: Supercharging, Pick- and- Mix.
Relational: ILP, IFLP, SCIL.
Descriptivo
Análisis Exploratorio
Técnicas:
Estudios correlacionales.
Dependencias.
Detección datos anómalos.
Análisis de dispersión.
Segmentación (Aprendizaje no supervisado)
Técnicas de clustering:
K – means (competitive learning).
redes neuronales de Kohonen
EM (Estimated Means) (Dempster 1977).
Cobweb (Fisher 1987).
AUTOCLASS
Ejemplos:
x ? x
Interpolación: xx xx x f(2,2) = ?
x x
Predictivos
Predicción Secuencial: 1, 2, 3, 5, 7, 11, 13, 17, 19, … ?
Aprendizaje Supervisado:
1 3 - > 4.
3 5 - > 8. 4 2-> ?
7 2 - > 9.
Segmentación (Aprendizaje no supervisados):
Descriptivos
¿Cuántos grupos hay?
¿Qué grupos formo?
Análisis Exploratorio: Correlaciones, Asociaciones y Dependencia
Minería de Datos
3.2.1 Técnicas No Supervisadas y Descriptivas.
Métodos Descriptivos
Correlación y Asociaciones (análisis exploratorio o links analysis):
Coeficiente de correlación:
𝐶𝑜𝑣(𝑥̅ , 𝑦̅)
𝐶𝑜𝑟(𝑥̅ , 𝑦̅) =
𝜎𝑥 ∙ 𝜎𝑦
Donde
𝑛
1
𝐶𝑜𝑣(𝑥̅ , 𝑦̅) = ∑(𝑥𝑖 − 𝜇𝑥 )(𝑦𝑖 − 𝜇𝑦 )
𝑛
𝑖=1
Asociaciones (cuando los atributos son discretos).
Ejemplo: tabaquismo y alcoholismo están asociados.
Dependencias funcionales: asociación unidireccional.
Ejemplo: el nivel de riesgo de enfermedades cardiovasculares
depende del tabaquismo y alcoholismo (entre otras cosas).
Correlaciones y Estudios Factoriales
Permiten establecer relevancia! irrelevancia de factores y si aquélla es
positiva o negativa respecto a otro factor o variable a estudiar.
Ejemplo (Kiel 2000): Estudio de visitas: 11 pacientes, 7 factores:
Health: salud del paciente (referida a la capacidad de ir a la
consulta). (1- 10)
Need: convicción del paciente que la visita es importante. (1- 10)
Transportation: disponibilidad de transporte del paciente al centro. (1-
10)
Child Care: disponibilidad de dejar los niños a cuidado. (1- 10)
Sick Time: si el paciente está trabajando, puede darse de baja. (1-
10)
Satisfaction: satisfacción del cliente con su médico. (1- 10)
Ease: facilidad del centro para concertar cita y eficiencia de la
misma. (1- 10)
No – Show: indica si el paciente no se ha pasado por el médico
durante el último año (O se ha pasado, 1 no se ha pasado).
Minería de Datos
Matriz de correlaciones:
Health Need Transportation Child Care Sick Time Satisfaction Ease No – Show
Health 1
Need -0.7378 1
Transportation 0.3116 -0.1041 1
Child Care 0.3116 -0.104 1 1 1
Sick Time 0.2771 0.0602 0.6228 0.6228 1
Satisfaction 0.22008 -0.1337 0.6538 0.6538 0.6257 1
Ease 0.3887 -0.0334 0.6504 0.6504 0.6588 0.8964 1
No – Show 0.3955 -0.5416 -0.5031 -0.5031 -0.7249 -0.3988 -0.3278 1
Coeficientes de Regresión:
Independent Variable Coefficient
Health .6434
Indica que un incremento de
Need .0445 1 en el factor Health aumenta
Transportaltion -.2391 la probabilidad de que no
Child Care -.0599 aparezca el paciente en un
Sick Time -.7584 64.34%
Satisfaction .3537
Ease -.0786
Reglas de Asociación y Dependencia de Valor:
La terminología no es muy coherente en este campo (Fawad, por Ejemplo,
suele llamar asociaciones a todo y regla de asociación a las dependencias).
Asociaciones: Se buscan asociaciones de la siguiente forma:
(𝑋1 = 𝑎) ⊏ (𝑋4 = 𝑏)
De los n casos de la tabla, que las dos comparaciones sean verdaderas o
falsas será cierto en rc casos: Un parámetro Tc (confidence): Tc = certeza
de la regla = rc/n.
Si consideramos valores nulos, tenemos también un número de casos en
los que se aplica satisfactoriamente (diferente de Tc) y denominado Ts.
Dependencias de Valor: Se buscan dependencias de la siguiente forma
(if Ante then Cons):
Por ejemplo: If (𝑋1 = 𝑎, 𝑋3 = 𝑐, 𝑋5 = 𝑑)then(𝑋4 = 𝑏, 𝑋2 = 𝑎)
De los n casos de la tabla, el antecedente se puede hacer cierto en r a
casos y de estos en rc casos se hace también el consecuente, tenemos:
Minería de Datos
Dos parámetros Tc (confidence/ accuracy) y Ts (support):
Tc = certeza de la regla = rc/ra, fuerza o confianza P (Cons l Ante)
Ts = mínimo número de casos o porcentaje en los que se aplica
satisfactoriamente (rc o rc/n respectivamente).
Llamado también prevalencia: P (cons ⊏ Ante).
Ejemplo:
DNl Renta Familiar Ciudad Profesión Edad Hijos Obeso Casado
11251545 5.000.000 Barcelona Ejecutivo 45 3 S S
30512526 1.000.000 Melilla Abogado 25 0 S N
22451616 3.000.000 León Ejecutivo 35 2 S S
25152516 2.000.000 Valencia Camarero 30 0 S S
23525251 1.500.000 Benidorm Animador 30 0 N N
Parque
Temático
Tabla 5. Ejemplo de personas y sus características
Asociaciones:
Casado e (Hijos > 0) están asociados (67%, 2 casos). Obeso y casado
están asociados (75%, 3 casos)
Dependencias:
(Hijos > 0) Æ Casado (100%, 2 casos). Casado Æ Obeso (100%, 3 casos).
Complejidad de los algoritmos de asociaciones y dependencias:
Temporal: bajo ciertas condiciones de dispersión y para atributos discretos
se pueden encontrar en casi tiempo lineal.
Algoritmos de búsqueda de asociaciones y dependencias.
La mayoría se basa en descomponer el problema en dos fases:
FASE A: BÚSQUEDA DE "LARGE ITEMSETS". Se buscan conjuntos de
atributos con 'support' >= al support deseado, llamados 'Iarge itemsets'
(conjuntos de atributos grandes). De momento no se busca separarlos
en parte izquierda y parte derecha.
FASE B: ESCLARECIMIENTO DE DEPENDENCIAS (REGLAS). Se
hacen particiones binarias y disjuntas de los itemsets y se calcula la
confianza de cada uno. Se retienen aquellas reglas que tienen confianza
>= a la confianza deseada.
Minería de Datos
Otros tipos de asociaciones:
Asociaciones entre jerarquías. Si existen jerarquías entre los ítems (por
ejemplo: Las familias de productos de un comercio o de un supermercado)
a veces sólo es interesante buscar asociaciones inter – jerarquía y no intra
– jerarquía. Esto puede reducir mucho el espacio de búsqueda.
Asociaciones negativas. A veces nos interesa conocer asociaciones
negativas, por ejemplo: "80% de los clientes que compran pizzas
congeladas no compran lentejas". El problema es mucho más difícil en
general, porque, cuando hay muchos ítems, existen muchas más
combinaciones que no se dan que las que se dan.
Asociaciones con valores no binarios yl o continuos. Se deben
binarizar. Por ejemplo: Si se tiene un atributo a con k posibles valores v1, ...,
vk (k > 2) se sustituye por k atributos con la condición (a = vi). Con los
atributos continuos se discretizan en rangos (0 – 5, 6 – 10, 11 – 15, ...) y
luego se hace el mismo procedimiento.
Asociaciones relacionales.
Métodos Representativos:
AprioriAII
AprioriSome
DynamicSome
Problema: los usuarios quieren especificar restricciones sobre el tiempo
máximo y mínimo entre eventos secuenciales.
Extensiones:
Minería de patrones secuenciales con restricciones.
Dependencias Funcionales:
𝐴 ∧ 𝐵 ∧ 𝐶⨀𝐷
Significa: para los mismos valores de A, B y C tenemos un solo valor de D.
Es decir D es función de A, B y C.
Si representamos la parte izquierda como un conjunto de condiciones,
podemos establecer una relación de orden entre las dependencias
funcionales. Esto genera un semi- retículo.
Minería de Datos
ABC
AB BC AC
A B C
Figura 9. Semi – retículo
La búsqueda se realiza en este retículo. El coste exponencial FDEP incluye:
a) simple top- down algorithm,
b) bottom- up algorithm, and
c) bi- directional algorithm.
3.2.2 Técnicas supervisadas y predictivas.
Métodos Predictivos
Interpolación y Predicción Secuencial.
Regresión Lineal Global.
Se buscan los coeficientes de una función lineal
x
𝑓̂(𝑥) = 𝑤0 + 𝑤1 𝑥1 + … + 𝑤𝑛 𝑥𝑛 x x
x x x
x x x
Una manera fácil (sí es lineal simple, sólo dos dimensiones x e y):
𝑛(∑ 𝑥𝑦 )(∑ 𝑥)(∑ 𝑦) (∑ 𝑦)(∑ 𝑥 2 ) − (∑ 𝑥)(∑ 𝑥𝑦)
𝑤1 = 𝑤0 =
𝑛(∑ 𝑥 2 ) − (∑ 𝑥)2 𝑛(∑ 𝑥 2 ) − (∑ 𝑥)2
Obteniendo 𝑦 = 𝑤0 + 𝑤1 𝑥
Error típico de una regresión lineal simple:
1 2 [(𝑛 ∑ 𝑥𝑦) − (∑ 𝑥 )(∑ 𝑦)]2
𝐸𝑡í𝑝𝑖𝑐𝑜 = √[ 2
] [𝑛 (∑ 𝑦 ) − (∑ 𝑦) − ]
𝑛(𝑛 − 2) 𝑛(∑ 𝑥 2 ) − (∑ 𝑥)2
41
MC Beatriz Beltrán Martínez
Minería de Datos
Regresión Lineal Global por Gradient Descent.
Una manera usual es utilizando "gradient descenf'. Se intenta minimizar la
suma de cuadrados:
1 x
𝐸= ∑ (𝑓 (𝑥) − 𝑓̂(𝑥))2 x x
2 𝑥∈𝐷 x x x
x x x
Derivando:
∆𝑤𝑗 = 𝑟 ∙ ∑ (𝑓 (𝑥) − 𝑓̂(𝑥))𝑥𝑗
𝑥𝜖𝐷
Iterativamente se van ajustando los coeficientes y reduciendo el error.
Regresión Lineal Ponderada Localmente.
La función lineal se aproxima para cada punto xq a interpolar:
x
𝑓̂(𝑥) = 𝑤0 + 𝑤1 𝑥1 + … + 𝑤𝑚 𝑥𝑚 x x
x x x
x x x
? ? ?
Se intenta minimizar la suma de cuadrados de los k más cercanos
1 2
𝐸= ∑ (𝑓(𝑥) − 𝑓̂(𝑥)) 𝐾(𝑑(𝑥𝑞 , 𝑥))
2
𝑥∈[los 𝑘 puntos más cercanos]
donde d(,) es una distancia y K es una función que disminuye con la
distancia (una función Kernel), por ejemplo 1/ d2.
Gradient descent:
∆𝑤𝑗 = 𝑟 ∙ ∑ (𝑓(𝑥) − 𝑓̂(𝑥)) ∙ 𝐾(𝑑(𝑥𝑞 , 𝑥)) ∙ 𝑥𝑗
𝑥∈[los 𝑘 puntos más cercanos]
A mayor K más global, a menor K más local.
Regresión Adaptativa.
Son casos particulares de regresión local, en el que se supone un orden y
se utiliza preferentemente para predecir futuros valores de una serie:
42
MC Beatriz Beltrán Martínez
Minería de Datos
Muy utilizada en compresión de sonido y de vídeo, en redes, etc. (se
predicen las siguientes tramas).
Algoritmos mucho más sofisticados (cadenas de Markov), Algoritmo MARS
(Multiple Adaptive Regression Splines).
Regresión No Lineal.
Estimación Logarítmica (se sustituye la función a obtener por y = In(f)):
𝑦 = 𝑤0 + 𝑤1 𝑥1 + … + 𝑤𝑚 𝑥𝑚
Se hace regresión lineal para calcular los coeficientes y a la hora de
predecir se calcula la 𝑓 = 𝑒𝑦.
Pick and Mix – Supercharging
Se añaden dimensiones, combinando las dadas. Por ejemplo: Si tenemos
cuatro dimensiones: x1, x2, x3 (además de y) podemos definir x4=x1x2,
x5=x32, x6=x1x2 y obtener una función lineal de x1, x2, x3, x4, x5, x6.
Aprendizaje supervisado.
k- NN (Nearest Neighbour):
1. Se miran los k casos más cercanos.
2. Si todos son de la misma clase, el nuevo caso se clasifica en esa clase.
3. Si no, se calcula la distancia media por clase o se asigna a la clase con
más elementos.
El valor de k se suele determinar heurísticamente.
(On-line) k- means clustering:
Aunque lo vimos como una técnica no supervisada, también se puede
utilizar para aprendizaje supervisado, si se utiliza convenientemente
Elegir un k mayor que el número de clases pero no mucho mayor.
Perceptron Leaming:
Computan una función lineal para cada y¡ es:
𝑛
𝑦′𝑗 = ∑ 𝑤𝑖,𝑗 ∙ 𝑥𝑖
𝑖=1
Minería de Datos
Perceptron Learning (Gradient Descent).
El algoritmo Gradiente Descendiente ajusta así:
1. Se asigna a los Wi,j un valor pequeño aleatorio entre 0 y 1.
2. Hasta que la condición de terminación se cumple, hacer:
3. Para todos los p ejemplos (xk, yk) t se calcula la matriz de error (etk= ytk –
y'tk)
4. Se recalculan los pesos siguiendo Least – Mean Square (LMS), con un
rango de aprendizaje (r):
𝑡+1 𝑡 𝑡 𝑡
𝑤𝑖∙𝑗 = 𝑤𝑖∙𝑗 + ∑ 𝑟(𝑥𝑖∙𝑘 ∙ 𝑒𝑗∙𝑘 )
𝑘:1..𝑝
5. t := t + 1, ir a 2.
r es un valor generalmente pequeño (0.05) y se determina heurísticamente.
A mayor r converge más rápido pero puede perderse en valles locales.
El algoritmo Perceptron (versión incremental o aproximación estocástica al
Gradiente Descendiente):
1. Se asignan aleatoriamente los wi,j entre 0 y 1 (o se pone 0.5)
2. t = 1 (se toma el primer ejemplo).
3. Para el ejemplo (x, y) t se calcula el vector error (et = yt – y't )
4. Se recalculan los pesos siguiendo Least – Mean Squares (LMS),
llamada regla delta, Adaline o Widrow- Hoff:
𝑡+1 𝑡
𝑤𝑖∙𝑗 = 𝑤𝑖∙𝑗 + 𝑟(𝑥𝑖𝑡 ∙ 𝑒𝑗𝑡 )
5. t : = t + 1, ir a 2 hasta que no queden ejemplos o el error medio se ha
reducido a un valor deseado.
En general, esta versión es más eficiente que la anterior y evita algunos
mínimos locales.
Multilayer Perceptron (redes neuronales artificiales multicapas, ANN)
El perceptron de una capa no es capaz de aprender las funciones más
sencillas. Se añaden capas internas, se introducen diferentes funciones de
activación e incluso recientemente se introducen bucles y retardos.
En el caso más sencillo, con la función de activación sgn, el número de
unidades internas k define exactamente el número de límites que la función
global puede calcular por cada salida.
El valor de k se suele determinar heurísticamente. Pero, ¿cómo entrenar
este tipo de red?
Para poder extender el Gradiente Descendiente necesitamos una función
Minería de Datos
de activación continua. La más usual es la función sigmoidal:
1
𝜎(𝑋) =
1 + 𝑒 −𝑥
Esto permite particiones no lineales.
Radial- Basis Function (Clustering Method + LMS).
PRIMER PASO: Algoritmo Clustering:
1. Dividir aleatoriamente los ejemplos en k conjuntos y calcular la media (el
punto medio) de cada conjunto.
2. Reasignar cada ejemplo al conjunto. Con punto medio más cercano.
3. Calcular los puntos medios de los k conjuntos.
4. Repetir los pasos 2 y 3 hasta que los conjuntos no varíen.
SEGUNDO PASO: Recodificar los ejemplos como distancias a los centros y
normalizar (cada ejemplo pasa a ser un vector de k elementos).
TERCER PASO: Con un perceptron de k elementos de entrada y una
salida, aplicar el algoritmo visto antes.
Métodos pseudo – relacionales
Una manera de poder abordar problemas con poca separabilidad es
transformar los datos, mediante recodificaciones o aumento de la
dimensionalidad.
Super – charging: aumentar la dimensionalidad separando todos los
atributos en dígitos binarios.
Pick and Mix: crear nuevos atributos como combinación de los ya
existentes.
SCIL: iterar múltiples veces un método clásico fence & fill seguido de
recodificación.
Pero estos métodos pseudo – relacionales no son capaces de:
Detectar relaciones entre varios ejemplos o entre partes complejas
del mismo ejemplo.
Aprender funciones recursivas.
Minería de Datos
Aprendizaje Recursivo
Modelos Estructurales de Grammar Learning:
Es uno de los campos más antiguos de ML: (las frases gramaticales son de
la clase true).
Aprendizaje de autómatas aceptadores de gramáticas.
Gramáticas regulares estocásticas.
Lenguajes probabilísticos: cadenas de Markov, algoritmo de Viterbi.
Aprendizaje Relacional y Recursivo
IFP (Inductive Functional Programming): Se aprenden reglas de la
forma: g(f(a), X) ⊏ b.
Existen aproximaciones con LlSP, el lenguaje ML y otros (70s).
ILP (Inductive Logic Programming). El lenguaje representacional es
cláusulas de Horn: p(x, Y, b) : - q(f(x, Y), c).
Inicio en los 80 (Shapiro) y gran desarrollo en la década de los 90.
IFLP (Inductive Functional Logic Programming): g(f(a), X) ⊏ b : - p(x, b) =
true, q(x, X) = a.
Mayor naturalidad y expresividad. Ventaja con problemas de
clasificación.
Combinación de hipótesis.
BOOSTING:
Se utiliza el MISMO algoritmo para aprender distintas hipótesis sobre
distintas particiones de los datos.
Luego se combinan las distintas hipótesis.
VOTlNG / ARBITER / COMBINER:
Se utiliza DISTINTOS algoritmos para aprender distintas hipótesis sobre
todo el conjunto de los datos.
Luego se combinan las distintas hipótesis.
Maneras de Combinar hipótesis:
WEIGHTING MAJORITV: el valor se obtiene haciendo la media (caso