Documentos de Académico
Documentos de Profesional
Documentos de Cultura
dm3 PDF
dm3 PDF
dm3 PDF
Objetivos Tema 3
3. Técnicas de Minería de Datos
• Conocer las distintas técnicas de aprendizaje
automático y estadísticas utilizadas en minería de
datos, su potencial, su coste computacional y sus 3.1. El Problema de la Extracción Automática
limitaciones de representación y de inteligibilidad. de Conocimiento.
• Conocer medidas de evaluación de modelos (p.ej. 3.2. Evaluación de Hipótesis
validación cruzada). 3.3. Técnicas no supervisadas y descriptivas.
• Utilizar métodos de combinación de técnicas (p.ej. 3.4. Técnicas supervisadas y predictivas.
voting) y de reiteración (p.ej. boosting).
• Conocer los métodos descriptivos y no
supervisados más importantes.
• Conocer los métodos predictivos y supervisados
más importantes.
3 4
El Problema de la Extracción El Problema de la Extracción
Automática de Conocimiento Automática de Conocimiento
∑ (x − y )
2
Valores Continuos
• Distancia de Manhattan: n
∑
(conveniente normalizar
• La razón de este uso es que, intuitivametne, datos xi − yi entre 0-1 antes)
i =1
similares tendrán clases/grupos similares. ¿Cómo se
• Distancia de Chebychev:
mide la similitud? maxi =1..n xi − yi
• Distancia del coseno: Valores Continuos.
• DISTANCIA inversa a SIMILITUD. cada ejemplo es un vector y No es necesario
la distancia es el coseno del ángulo que forman normalizar
• Los métodos de similitud (o de distancia) se basan en
• Distancias por Diferencia:
almacenar los ejemplos vistos, y calcular la ejemplo: if x=y then D=0 else D=1 Valores
similitud/distancia del nuevo caso con el resto de • Distancia de Edición: Discretos
ejemplos. 13 • Distancias Específicas: para los ejemplos complejos de CBR. 14
15 16
Evaluación de Hipótesis Evaluación de Hipótesis
Si el cjto. de hipótesis H es pequeño y conocido: • Asumimos P(h) como la distribución universal (Occam’s
• Se puede asumir la distribución uniforme: Razor):
1 P ( h) = 2 − K ( h )
P ( h) =
|H | donde K(·) es la complejidad descripcional (Kolmogorov) de
H.
27 P ( D | h ) = 2 − K ( D| h ) 28
Evaluación de Hipótesis Evaluación de Hipótesis
El principio MDL: Evaluación de modelos predictivos.
• A partir de MAP tenemos:
hMAP = arg max P( D | h) P(h) = arg max log[P( D | h) P(h)] = PARTICIÓN DE LOS DATOS:
k∈H k∈H
Separación de los datos en:
= arg max log P( D | h) + log P(h) = arg max log 2 − K ( D|h ) + log 2 − K ( h ) =
k∈H k∈H Conjunto de entrenamiento (train).
Los modelos se entrenan con estos datos
= arg max(− K ( D | h) − K (h))
k∈H Conjunto de prueba (test).
Los modelos se evalúan con estos datos.
• Resulta en:
hMDL = arg min( K (h) + K ( D | h)) Vista minable Partición aleatoria Modelado
k∈H Modelos Mejor modelo
Entrenamiento
Se realizan n particiones,
Validación cruzada: Se parten los datos
incluyendo n-1 pliegues
aleatoriamente en n pliegues de igual tamaño. Datos
Evaluación
para entrenamiento y 1
Test
para evaluación.
Bootstrap: se realizan n muestras con repetición de El error medio se calcula
los datos iniciales. promediando las 10 veces.
Aprendizaje
hn Se reentrena un último
Entrenamiento
modelo con todos los
datos.
Especialmente útiles si hay pocos datos. Evaluación
' Proceso mucho más lento Test
31 32
Evaluación de Hipótesis Evaluación de Hipótesis
Una vez obtenida una hipótesis... Podemos obtener un intervalo de confianza a un nivel c:
Soluciones:
Utilizar sobremuestro...
Macromedia,
Análisis ROC 39 40
Métodos Descriptivos Métodos Descriptivos
tabla: 2 x x x
“EL CABEZÓN” “CHISPA” “TÍO PACO” “XUFER” “GOLOSO” “TRIGO” “LA VACA”
3 x x x x confidence = 0.75 T1 1 1 0 0 0 1 0
4 x x T2 0 1 1 0 0 0 0
S1= { {1}, {2}, {3}, {4}, {5} } S’1:support = { {1}:2, {2}:3, {3}:3, {5}:3 } T3 0 0 0 1 1 1 0
S2= { {1,2}, {1,3}, {1,5}, {2,3}, {2,5}, {3,5} } S’2:support = { {1,3}:2, {2,3}:2, {2,5}:3, {3,5}:2 } T4 1 1 0 1 1 1 1
T7 0 1 1 1 1 0 0
FASE B: Se evalúa la confianza: T8 0 0 0 1 1 1 1
{2}→{5} : 1 {5}→{2} : 1
{3}→{5} : 0.67 {5}→{3} : 0.67
{2,3}→{5} : 1 {2,5}→{3} : 0.67 {3,5}→{2} : 1 49 50
51 52
Métodos Descriptivos Métodos Descriptivos
Mary
55 56
Métodos Descriptivos
Métodos Descriptivos Aprendizaje No Supervisado
Patrones Secuenciales: Clustering (Segmentación):
Métodos Representativos (Agrawal Srikant 1995, 1996) Se trata de buscar agrupamientos naturales en un
• AprioriAll conjunto de datos tal que tengan semejanzas.
• AprioriSome
• DynamicSome Métodos de Agrupamiento:
Problema: los usuarios quieren especificar restricciones • Jerárquicos: los datos se agrupan de manera arborescente
sobre el tiempo máximo y mínimo entre eventos secuenciales. (p.ej. el reino animal).
• No jerárquicos: generar particiones a un nivel.
Extensiones: • (a) Paramétricos: se asumen que las densidades condicionales
• Minería de patrones secuenciales con restricciones. de los grupos tienen cierta forma paramétrica conocida (p.e.
P.ej. Sólo permitir las secuencias si los elementos adyacentes Gaussiana), y se reduce a estimar los parámetros.
(p.ej. compras) suceden en un intervalo menor a dos meses. • (b) No paramétricos: no asumen nada sobre el modo en el que se
agrupan los objetos.
57 58
59 60
Métodos Descriptivos Métodos Descriptivos
Aprendizaje No Supervisado Aprendizaje No Supervisado
Clustering (Segmentación). Métodos paramétricos: Clustering (Segmentación). Métodos No Paramétricos
El algoritmo EM (Expectation Maximization, Maximum Likelihood Estimate) (Dempster
et al. 1977). Métodos:
• k-NN
• k-means clustering,
• online k-means clustering,
• centroides
• SOM (Self-Organizing Maps) o Redes Kohonen.
Otros específicos:
• El algoritmo Cobweb (Fisher 1987).
• El algoritmo AUTOCLASS (Cheeseman & Stutz 1996)
Gráficas:
Enrique Vidal
61 62
G4 • Algoritmo:
G2
1. Dividir aleatoriamente los ejemplos en k conjuntos y
G3
calcular la media (el punto medio) de cada conjunto.
2. Reasignar cada ejemplo al conjunto con el punto medio
La conectividad entre puntos genera los grupos. más cercano.
3. Calcular los puntos medios de los k conjuntos.
A veces hace grupos pequeños. 4. Repetir los pasos 2 y 3 hasta que los conjuntos no varíen.
Existen variantes: k-NN o como el spanning tree que para de
agrupar cuando llega a un número de grupos. 63 64
Métodos Descriptivos
Modelado: Métodos Descriptivos Aprendizaje No Supervisado
Clustering (Segmentación). Métodos No Paramétricos
Agrupamiento. Métodos No Paramétricos
k-means clustering:
k-medias: • El valor de k se suele determinar heurísticamente.
2
1
2
1 • Problemas:
2 2
1
3 3 1 1
3 3 1 • Si se sabe que hay n clases, hacer k=n puede
1 x2 x1 1
2
1
2 3
1
resultar en que, algunas veces, algún grupo use
3 x
2 3 2 3
3
3 1 3 1 dos centros y dos grupos separados tengan que
compartir centro.
2 2 2
2 2 2
1 1 1
2 2 2 1 2 2
2
x2 x1
1 1 2 x
1
x 1 2 x
1
x1 1
1 1 1
2 3
1
2
1
3
1
• Si k se elige muy grande, la generalización es
3 x
2 3 2 3 3 2 3 1
3 x 3 x
2 3 2 3 3 3 pobre y las agrupaciones futuras serán malas.
2 2 2 2 2
2 2
1 1 x 1
x 22 1
x
1
1 x 22 1
x 1
1
2 1 1 • Determinar el k ideal es difícil.
2
1 1
2
1 1
2
1 x11
3 3
2 1 3
3
1 3 1 65 66
x
3 3
x3
3 x3 3
3 3 3 3 3 3
Derivando,
( )
n ∑ x 2 − (∑ x )
2
n(∑ x ) − (∑ x )
2 2
obteniendo y = w0 + w1x
∆w j = r ·∑ x∈D ( f ( x) − fˆ ( x )) x j
Error típico de una regresión lineal simple:
1
( ) ( ) [ ]
(n∑ xy ) − (∑ x )(∑ y ) 2 Iterativamente se van ajustando los coeficientes y
∑ ∑
2
Etipico = n y 2
− y −
n(n − 2) (
n ∑ x 2 − (∑ x ) )
2
73
reduciendo el error. 74
función lineal de x1, x2, x3, x4, x5, x6 75 A mayor k más global, a menor k más local (pero ojo con el overfitting)
76
Métodos Predictivos. Métodos Predictivos.
Interpolación y Predicción Secuencial Aprendizaje Supervisado
k-NN (Nearest Neighbour). Mejora (ponderar los más cercanos): (On-line) k-means clustering:
1 • Aunque lo vimos como una técnica no
Atracción(c j , xq ) = {xi : xi ∈ c j } ·krnli donde: krnli = supervisada, también se puede utilizar
d ( xq , xi ) 2
Se calcula la fuerza de atracción de cada clase cj para el para aprendizaje supervisado, si se
nuevo punto xq. Y se elige la clase que más atrae. utiliza convenientemente.
(Si el punto xq coincide con un punto xi, la clase es la de xi)
(Si el punto xq coincide con más de un punto xi, se procede de la forma
anterior)
Para valores continuos (sirve para interpolar):
• Elegir un k mayor que el número de
Si la clase es un valor real, el k-NN es fácilmente adaptable:
k clases pero no mucho mayor.
∑ krnl f ( x )i i
fˆ ( xq ) = i =1
k
∑ krnl
i =1
i
• El algoritmo Gradient Descent ajusta así: • El algoritmo Perceptron (versión incremental o aproximación
1. Se asigna a los wi,j un valor pequeño aleatorio entre 0 y 1. estocástica al gradient descent):
2. Hasta que la condición de terminación se cumple, hacer: 1. Se asignan aleatoriamente los wi,j entre 0 y 1 (o se pone .5)
3. Para todos los p ejemplos (xk,yk)t se calcula la matriz de 2. t= 1 (se toma el primer ejemplo).
error (etk=ytk-y’tk) 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 4. Se recalculan los pesos siguiendo Least-Mean Squares
(LMS), con un learning rate (r): (LMS), también llamada regla delta, Adaline o Widrow-
Hoff:
wit,+j1 = wit, j + ∑ r(x
k :1.. p
t
i ,k ·e tj ,k ) wt +1 = wt + r ( x t ·e t )
i, j i, j i j
Multilayer Perceptron (redes neuronales artificiales, ANN). Multilayer Perceptron (redes neuronales artificiales, ANN).
• El perceptron de una capa no es capaz de aprender las
funciones más sencillas. • En el caso más sencillo, con la función de activación sgn, el
• Se añaden capas internas, se introducen diferentes funciones número de unidades internas k define exactamente el número
de activación e incluso se introducen bucles y retardos. de boundaries que la función global puede calcular por cada
salida.
Salidas y1 y2 y3
PARTICIÓN POLIGONAL
POSIBLE CON 4
UNIDADES INTERNAS
Hidden
h1,1 h1,3 h1,5
Layer h1,2 h1,4
85 86
Multilayer Perceptron (redes neuronales artificiales, ANN). Algoritmo Backpropagation (Rumelhart et al. 1986)
• Inicializar los pesos a valores pequeños aleatorios (entre -.05 y .05)
• Para poder extender el gradient descent necesitamos una • Hasta que se cumpla la condición de terminación hacer:
función de activación continua: • Para cada ejemplo (x,y):
• La más usual es la función sigmoidal: • Se calculan las salidas de todas las unidades ou
• Se calcula el error en cada salida k:
1
σ ( x) = δ k = ok (1 − ok )( yk − ok )
1 + e−x
• Esto permite particiones no lineales: • Para cada unidad oculta h se calcula su error:
δh = oh (1 − oh ) ∑ (w
k∈outputs
k ,h × δk )
Separa Separa
perfectamente, perfectamente,
pero además los
pero los tres
ejemplos más ejemplos más
• Se aplica una función núcleo (“kernel”) que suele aumentar el
cercanos cercanos número de dimensiones de tal manera que los datos sean
(vectores soporte) (vectores soporte)
están muy cerca están lo más lejos separables.
de la frontera. posible de la
frontera. 91 92
Aprendizaje Supervisado Aprendizaje Supervisado
Árboles de Decisión (ID3 (Quinlan), C4.5 (Quinlan), CART). Árboles de Decisión.
• Algoritmo Divide y Vencerás: • Ejemplo C4.5 con datos discretos:
1. Se crea un nodo raíz con S:= todos los ejemplos.
2. Si todos los elementos de S son de la misma clase, el subárbol se Example Sky Temperature Humidity Wind PlayTennis
cierra. Solución encontrada. 1 Sunny Hot High Weak No
3. Se elige una condición de partición siguiendo un criterio de 2 Sunny Hot High Strong No
partición (split criterion). 3 Overcast Hot High Weak Yes
4. El problema (y S) queda subdivido en dos subárboles (los que 4 Rain Mild High Weak Yes
cumplen la condición y los que no) y se vuelve a 2 para cada uno 5 Rain Cool Normal Weak Yes
de los dos subárboles. 6 Rain Cool Normal Strong No
7 Overcast Cool Normal Strong Yes
X>0.25
0 1 No
8 Sunny Mild High Weak No
Sí
0
Y>0.25
9 Sunny Cool Normal Weak Yes
X>0.25 No Sí 10 Rain Mild Normal Weak Yes
PARTICIÓN
X>0.75 X>0.66 11 Sunny Mild Normal Strong Yes
X>0.66
CUADRICULAR. No Sí No Sí 12 Overcast Mild High Strong Yes
X>0.75
No
Y>0.6
13 Overcast Hot Normal Weak Yes
Sí
1 Y>0.6
93 14 Rain Mild High Strong No 94
Y>0.25
Comparación de accuracy (k-NN, C4.5 y CS) (de Thornton 2000): Sobremuestreo (oversampling):
• En problemas de clasificación sobre bases de datos es posible
Dataset (del UCI repository) C4.5 1-NN CS
BC (Breast Cancer) 72.0 67.31 70.6
que haya muchísima más proporción de algunas clases sobre
CH (chess endgames) 99.2 82.82 89.9 otras. Esto puede ocasionar que haya muy pocos casos de una
GL (glass) 63.2 73.6 67.19 clase:
G2 (GL con clases 1 y 3 combinadas, y 4 a 7 borradas) 74.3 81.6 78.87
HD (heart disease) 73.6 76.24 78.77 • Problema: la clase escasa se puede tomar como ruido y ser
HE (hepatitis) 81.2 61.94 62.62 ignorada por la teoría. Ejemplo: si un problema binario (yes /
HO (horse colic) 83.6 76.9 77.73 no) sólo hay un 1% de ejemplos de la clase no, la teoría “todo
HY (hypothyroid) 99.1 97.76 96.1
IR (iris) 93.8 94.0 95.76
es de la clase yes” tendría un 99% de precisión (accuracy).
LA (labor negotiations) 77.2 94.74 90.7
LY (lymphography) 77.5 77.03 79.4
MU (agaricus-lepiota) 100.0 100.0 100.0 Soluciones:
SE (sick-euthyroid) 97.7 93.19 91.3
SO (soybean-small) 97.5 100.0 99.38 • Utilizar sobremuestro...
VO (house votes, 1984) 95.6 92.87 92.59
V1 (VO con “physician fee freeze” borrado) 89.4 87.47 89.46 • Análisis ROC
105 106
Media: 85.9 84.8 85
109 110
Aprendizaje Supervisado.
Análisis ROC. Aprendizaje Supervisado. Mailings.
Análisis ROC (Receiver Operating Characteristic): • Mailings:
• Se basa en dibujar el “true-positive rate” en el eje y y el “false- o Existen técnicas específicas para evaluar la conveniencia de
positive rate” en el eje x. Por ejemplo, dada la siguiente matriz de campañas de ‘mailings’ (propaganda por correo selectiva):
confusión: Actual o EJEMPLO: Supongamos que una empresa de venta de productos
T F informáticos por catálogo posee una base de datos de clientes. Esta
T 30 30 empresa desea promocionar la venta de un nuevo producto: un mando
Predicted
F 20 70 de piloto para ser utilizado en programas de simulación de vuelo.
• Tendríamos TPR= 0.6 y FPR= 0.3.
1.0
o Podríamos enviar propaganda a todos sus clientes:
o Solución poco rentable
True Positive Rate
0.6
Classifier at
(0.3, 0.6) o Podemos utilizar técnicas de aprendizaje automático para poder
predecir la respuesta de un determinado cliente al envío de la
propaganda y utilizar esta información para optimizar el diseño de
0.0
0.0 0.3 1.0 111
la campaña. 112
False Positive Rate
Aprendizaje Supervisado. Mailings. Aprendizaje Supervisado. Mailings.
• Mailings: • Mailings:
1. Selección de una muestra aleatoria y suficientemente o Con el clasificador probabilístico podemos ordenar a los
numerosa de clientes clientes según su interés y dibujar un gráfico de respuesta
acumulada
2. Se realiza el envío de la propaganda a los clientes
seleccionados 100%
90%
80%
3. Una vez pasado un tiempo prudencial etiquetamos a los 70%
30%
4. Con la muestra etiqueta aprendemos un clasificador 20%
10%
probabilístico 0%
0%
%
%
%
%
%
%
%
0%
10
20
30
40
50
60
70
80
90
10
sino una estimación de la probabilidad de respuesta
o Nos indican qué porcentaje de las posibles respuestas vamos a
de ese cliente
obtener dependiendo del porcentaje de envíos que realicemos
113 sobre la población total 114
Aprendizaje Supervisado.
Aprendizaje Supervisado. Mailings. Mailings.
o Además si estimamos la matriz de coste, podemos conocer la Secuenciación de Mailings:
configuración optima mediante los gráficos de beneficio
• No sobrecargar los clientes con demasiados mensajes de
o Configuración 1: Coste inicial de la campaña 10.000€, coste de envío de
cada folleto 1,5€. Por cada producto vendido ganamos 3€ márketing... O bien acabarán ignorándolos o bien se
o Configuración 2: Coste inicial de la campaña 20.000€, coste de envío de
cambiarán de compañía.
cada folleto 0,8€. Por cada producto vendido ganamos 2,5€
30.000 €
20.000 €
El mismo
10.000 €
pequeño grupo de
0€ gente se elige una
-10.000 € Configuración 1 y otra vez y otros
-20.000 € Configuración 2
no se eligen
-30.000 €
nunca.
-40.000 €
-50.000 €
-60.000 €
115 116
0%
0%
%
%
10
20
30
40
50
60
70
80
90
10
Aprendizaje Supervisado. Métodos Predictivos
Mailings. Combinación de Hipótesis
Secuenciación de Mailings: Combinación de Hipótesis:
• Hay que intentar abarcar mejor los clientes:
• VOTING/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.
Ahora todos los • Maneras de COMBINAR hipótesis:
clientes • WEIGHTING MAJORITY: el valor se obtiene haciendo la
participan en media (caso continuo) o la mediana (caso discreto).
una campaña. • STACKING/CASCADE: se utiliza cada hipótesis como
una variable y se utiliza otro algoritmo (p.ej. una red
neuronal para asignar diferentes pesos a las diferentes
hipótesis).
117 118