Documente Academic
Documente Profesional
Documente Cultură
Técnicas básicas de
aprendizaje automático
María José Ramírez (mramirez@dsic.upv.es)
Universitat Politècnica de València, Valencia (www.upv.es)
Tareas, modelos y técnicas
§ La idea es determinar las reglas exactas que clasifican un caso como positivo o
negativo a partir de los otros atributos.
11
Técnicas supervisadas
• Basadas en modelos
§ Lenguaje de representación del conocimiento mas rico que el utilizado para
expresar la evidencia
§ Construyen generalizaciones explícitas (modelo) que se aplican para clasificar
casos no vistos
• Basadas en instancias
§ El conocimiento aprendido se expresa como un conjunto de prototipos
§ Mismo lengiaje de representación para conocimiento y evidencia
13
Inducción de reglas
• Tarea: Clasificación.
• Los modelos consisten en una coleccion de reglas de la forma
SI-parte Entonces-parte
Ejemplo: Si dev_cred_prev=T entonces concesion=SI
Basados en particion Basados en cobertura
Y − Y −
− + − +
− + − +
− −
+ +
• Hay dos aproximaciones: Y=2
−
−
+ +
Y=2
−
−
+ +
+ +
+ + − − + + − −
− −
+ + + +
− −
X=2 X=3 X X=2 X=3 X
Técnicas supervisadas 14
Inducción de reglas basadas en partición
• Árboles de Decisión (ID3 (Quinlan), C4.5 (Quinlan), CART).
• Algoritmo Divide y Vencerás:
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 cierra. Solución
encontrada.
3. Se elige una condición de partición siguiendo un cierto criterio (splitting criterion).
4. El problema (y S) queda subdivido en dos subárboles (los que cumplen la condición y los
que no) y se vuelve a 2 para cada uno de los dos subárboles.
0 X>0.25
1
0 No Sí
X>0.25 Y>0.25
No Sí
X>0.75 X>0.66
X>0.66 Sí
X>0.75 No Sí No
Y>0.6
1 Y>0.25 Y>0.6 No Sí
Técnicas supervisadas 15
Inducción de reglas basadas en partición
• Ejemplo: Ejemplo
1
Cielo
Soleado
Temperatura
Calor
Humedad
Alta
Viento
Debil
JugarTenis
NO
Predecir si se 2 Soleado Calor Alta Fuerte NO
jugará al tenis 3 Nublado Calor Alta Debil SI
4 Lluvioso Suave Alta Debil SI
dependiendo 5 Lluvioso Frio Normal Debil SI
de las 6 Lluvioso Frio Normal Fuerte NO
condiciones 7
8
Nublado
Soleado
Frio
Suave
Normal
Alta
Fuerte
Debil
SI
NO
climatológicas. 9 Soleado Frio Normal Debil SI
10 Lluvioso Suave Normal Debil SI
11 Soleado Suave Normal Fuerte SI
12 Nublado Suave Alta Fuerte SI
13 Nublado Calor Normal Debil SI
14 Lluvioso Suave Alta Fuerte NO
Técnicas supervisadas 16
Inducción de reglas basadas en partición
• Ejemplo: Árbol de decisión generado con el criterio de partición de C4.5
SI Cielo=Nublado ENTONCES JugarTenis=SI
Cielo?
SI Cielo=Soleado & Humedad=Alta
Soleado Lluvioso ENTONCES JugarTenis=NO
Nublado
SI Cielo=Soleado & Humedad=Normal
Humedad? SI Viento? ENTONCES JugarTenis=NO
SI Cielo=Lluvioso & Viento=Fuerte
Alta Normal Fuerte Debil
ENTONCES JugarTenis=NO
NO SI NO SI SI Cielo=Lluvioso & Viento=Debil
ENTONCES JugarTenis=SI
Técnicas supervisadas 18
Inducción de reglas basadas en cobertura
• Las reglas se crean de forma no ordenada.
• Las reglas no son excluyentes entre sí.
• Se organizan como una lista y se aplican siguiendo el orden en el que
han sido generadas.
Técnicas supervisadas 19
Inducción de reglas basadas en cobertura
• Ejemplo: Crear las reglas para la clase “SI” del problema de predecir si
se juega al tenis.
§ Ep={3, 4, 5, 7, 9, 10, 11, 12, 13} y En={1, 2, 6, 8, 14}
§ Generaremos las reglas siguiendo una búsqueda de lo general a lo específico
(CN2) empezando por condiciones que solo involucran a un atributo y
añadiéndole más condiciones si es necesario hasta no cubrir ejemplos
negativos.
Técnicas supervisadas 20
Inducción de reglas basadas en cobertura
Atributo Valor Ej. Positivos cubiertos Ej. negativos cubiertos
SI Cielo=Nublado
Cielo Nublado 3,7,12, 13
ENTONCES JugarTenis=SI
Cielo Soleado 9,11 1,2,8
Cielo Lluvioso 4,5,10 6,14
Temperatura Calor 3,13 1,2
• Se eliminan los ejemplos 3,7, 12, 13
Temperatura Suave 4,10,11,12 8,14
Temperatura Frio 5,7,9 6
Humedad Alta 3,4,12 1,2,8,14
Humedad Normal 5,7,9,10,11,13 6
Viento Fuerte 7,11,12 2,6,14
Viento Debil 3,4,5,9,10,13 1,8
Técnicas supervisadas 21
Inducción de reglas basadas en cobertura
Atributo Valor Ej. Positivos cubiertos Ej. negativos cubiertos
Cielo Soleado 9,11 1,2,8
Cielo Lluvioso 4,5,10 6,14
Temperatura Calor 1,2
Temperatura Suave 4,10,11 8,14
Temperatura Frio 5,9 6
Humedad Alta 4 1,2,8,14
Humedad Normal 5,9,10,11 6 • Esta es la regla que
Viento Fuerte 11 2,6,14 cubre menos ejemplos
negativos.
Viento Debil 4,5,9,10 1,8
Técnicas supervisadas 22
Inducción de reglas basadas en cobertura
Atributo Valor Ej. Positivos cubiertos Ej. negativos cubiertos
Cielo Soleado 9,11
Cielo Lluvioso 5,10 6
Humedad=Normal &
Temperatura Suave 10,11
Temperatura Frio 5,9
Viento Fuerte 11 6
Viento Debil 5,9,10
Técnicas supervisadas 23
Técnicas supervisadas
Técnicas bayesianas
Técnicas basadas en distancias
24
Técnicas bayesianas
• Tarea: Clasificación.
• Se basan en la idea “el mejor modelo es el más probable”:
§ Dado un conjunto de clases C={c1,…cm}, y un ejemplo x=x1,…,xn, el modelo
clasifica x con el valor de y∈C que maximiza P(y|x) (probabilidad a posteriori)
arg max ci∈C P(y=ci|x1,…,xn)
Técnicas supervisadas 25
Técnicas bayesianas: Naïve Bayes
• ¿Cómo entrenar el clasificador Naïve Bayes (P(y|x))?
§ Teorema de Bayes:
P(y|x)=P(x|y)*P(y)
P(x)
§ Podemos suprimir P(x) asumiendo que todos los ejemplos son igualmente
probables
§ Asumiendo independencia de los atributos: P(x|y)= ∏j P(xj|y)
§ Para cada valor de y (y=ci∈C ), P(xj|y) y P(y) pueden estimarse usando
frecuencias relativas (asumiendo que los atributos son discretos)
Técnicas supervisadas 26
Técnicas bayesianas: Naïve Bayes
• Ejemplo: Determinar los buenos clientes
Ejemplo pago casado buen_cliente
1 credito no si
2 efectivo no si
3 efectivo no si
4 credito si no
5 credito si no
6 credito no si
7 credito no no
8 efectivo si no
9 credito si si
10 credito si si
Técnicas supervisadas 27
Técnicas bayesianas: Naïve Bayes
Ejemplo pago casado buen_cliente § Cálculo de P(y) arg max y=ci∈C P(y) *∏j P(xj|y)
1 credito no si § P(buen_cliente=si)=6/10=0.6
§ P(buen_cliente=no)=4/10=0.4
2 efectivo no si
3 efectivo no si § Cálculo de P(xj|y)
4 credito si no § P(pago=credito|buen_cliente=si)=4/6=0.67
5 credito si no § P(pago=efectivo|buen_cliente=si)=2/6=0.33
6 credito no si § P(casado=si|buen_cliente=si)=2/6=0.33
§ P(casado=no|buen_cliente=si)=4/6=0.67
7 credito no no
8 efectivo si no
§ P(pago=credito|buen_cliente=no)=3/4=0.75
9 credito si si § P(pago=efectivo|buen_cliente=no)=1/4=0.25
10 credito si si § P(casado=si|buen_cliente=no)=3/4=0.75
§ P(casado=no|buen_cliente=no)=1/4=0.25
• Aplicar el clasificador al ejemplo: (efectivo,si, buen_cliente?)
§ P( buen_cliente=si)*P(pago=efectivo|buen_cliente=si)*P(casado=si|buen_cliente=si)=0.6*0.33*0.33=0.06 buen_cliente=no
§ P( buen_cliente=no)*P(pago=efectivo|buen_cliente=no)*P(casado=si|buen_cliente=no)=0.4*0.25*0.75=0.075
Técnicas supervisadas 28
Técnicas basadas en distancias: k-NN
(Nearest Neighbour, vecinos mas próximos)
• Tarea: Clasificación.
• Se basan en la noción de similitud:
§ Un individuo será de la misma clase que individuos similares.
§ Ejemplo: ¿Comprará el cliente X el producto Y?
• Se buscan clientes similares y se mira qué hicieron.
Técnicas supervisadas 29
Técnicas basadas en distancias: k-NN
• Clasificación con k-NN:
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.
? Clasifica ? Clasifica
círculo cuadrado
31
Técnicas estadísticas: Regresión
• Regresión Lineal Global
• Se buscan los coeficientes de una función lineal y=f(x)
Estimación
Técnicas supervisadas 32
Técnicas estadísticas: Regresión
Temperatura Ventas_helados (€) • Ejemplo: Ventas de helados
14.2° 215
16.4° 325
11.9° 185
15.2° 332
18.5° 406
22.1° 522
19,4° 412
25,1° 614
23,4° 544
18.1° 421
Ventas = -159.47+30.09*Temperatura
22.6° 445
17.2° 408
Técnicas supervisadas 33
Técnicas estadísticas: Regresión no lineal
• Regresión no lineal por cambios de variable
§ Estimación Logarítmica:
• Se sustituye la función a obtener por y=ln(f):
y = ln(f)
• Se hace regresión lineal para calcular los coeficientes y a la hora de predecir se calcula la f = ey
f’ = ey
Técnicas supervisadas 34
Técnicas estadísticas: Regresión no lineal
• Regresión no lineal por cambios de variable
§ Otros cambios:
• Se introducen nuevas variables cuadráticas, cúbicas o ad-hoc para el problema en
cuestión:
8
Datos
7
Modelo Lineal At. Originales
6
Ventas (mill. euros)
Técnicas supervisadas 35
Técnicas estadísticas: Regresión no lineal
• Lineal ponderada localmente:
? ? ?
Técnicas supervisadas 36
Técnicas estadísticas: Regresión logística
• Clasificación: Regresión logística
§ Podemos usar regresión lineal y umbrales para tareas de clasificación donde y
toma dos valores (1 ó 0):
• Ejemplo: si establecemos el umbral a 0.5
si f(x) ≥ 0.5 entonces “y=1”
si f(x) < 0.5 entonces “y=0”
• Inconvenientes:
§ la regresión puede dar valores por debajo de 0 y por encima de 1.
§ la regresión es sensible a valores anómalos.
Técnicas supervisadas 37
Técnicas estadísticas: Regresión logística
• Clasificación: Regresión logística
1 P(y=1|x)=p
y= f(x)= ln(p/(1-p))
0 P(y=0|x)=1-p
Técnicas supervisadas 38
Técnicas estadísticas: Regresión logística
• Clasificación: Regresión logística
§ La función mas utilizada es la logística
1
p= −z
1+ e
z = w0 + w1x 1 +...+ wn xn
⎛ p ⎞
§ Algunas fórmulas derivadas logit( p) = ln ⎜ ⎟ = w0 + w1x 1 +...+ wn xn
⎝ 1− p ⎠
ez
p=
1+ e z
Técnicas supervisadas 39
Técnicas estadísticas: Regresión logística
• Ejemplo: Queremos predecir si los clientes estan satisfachos con la
gestión del banco a partir del saldo y la edad.
Ejemplo edad satisfecho saldo
1 30 1 1787
2 33 0 4108
3 35 1 1350
4 30 1 1476
5 59 1 0
6 35 1 747
7 36 0 307
8 39 1 147
9 41 0 221
10 43 0 -88
11 39 1 3374
12 43 0 264
Técnicas supervisadas 40
Técnicas estadísticas: Regresión logística
• Ejemplo
§ Aprendemos con los datos una regresión generalizada
z= -2.1028959+ 0.0492215* edad + 0.0001814* saldo
Técnicas supervisadas 41
Técnicas supervisadas
Técnicas lineales
42
Técnicas lineales
• Tareas de clasificación cuando los datos son linealmente separables,
es decir existe un límite de decisión lineal (linear boundary) que separa
las dos clases.
+ +
+ +
+ +
-
--
-
Técnicas supervisadas 43
Técnicas lineales: Discriminante lineal
• Discriminante lineal (Fisher, Perceptron)
Salidas y1
W1,1
W2,1 W3,1
W4,1
W5,1
Entradas x1 x2 x3 x4 x5
PARTICIÓN
LINEAL
POSIBLE
PARTICIÓN
LINEAL
IMPOSIBLE
Técnicas supervisadas 45
Redes Neuronales
• Redes neuronales artificiales multicapa (Multi-layer ANN).
§ Se añaden capas internas, varias salidas, se introducen diferentes funciones de
activación e incluso se introducen bucles y retardos.
Salidas y1 y2 y3
Capa
oculta h1,1 h1,2 h1,3 h1,4 h1,5
Entradas x1 x2 x3 x4
Técnicas supervisadas 46
Redes Neuronales
• Redes neuronales artificiales multicapa
§ Permite particiones no lineales:
PARTICIÓN NO LINEAL
MÚLTIPLE POSIBLE CON
4 UNIDADES INTERNAS
§ Entrenamiento de la red:
• Distintos algoritmos: propagación hacia atrás, …
• Se necesitan muchos ejemplos: al menos 10 ejemplos por cada peso y salida a aprender.
• P.ej, una red con 50 entradas y 10 nodos internos (con una salida tenemos 500 + 10,
necesita 5.100 ejemplos...)
Técnicas supervisadas 47
Técnicas basadas en núcleo: Máquinas de
soporte vectorial
• Máquinas de vectores soporte (SVM, Support Vector Machines)
§ Se basan en un clasificador lineal muy sencillo.
• El clasificador lineal que se usa simplemente saca la línea (en más dimensiones, el
hiperplano) que divida limpiamente las dos clases y además que los tres ejemplos más
próximos a la frontera estén lo más distantes posibles.
Separa Separa
perfectamente, perfectamente,
pero los tres pero además los
ejemplos más ejemplos más
cercanos cercanos
(vectores soporte) (vectores soporte)
están muy cerca están lo más lejos
de la frontera. posible de la
frontera.
Técnicas supervisadas 48
Técnicas basadas en núcleo: Máquinas de
soporte vectorial
• Máquinas de vectores soporte
§ Son eficientes (incluso para cientos de dimensiones), pues el separador lineal
sólo mira unos pocos puntos (vectores soporte) y descarta muchos que estarán
lejos de la frontera.
¿Pero qué ocurre si los datos no son
separables linealmente?
50
Comparación de técnicas supervisadas
• Comparación de potencia de representación:
Redes k-NN
Neuronales
Multicapa
Técnicas supervisadas 51
Comparación de técnicas supervisadas
• Comparación según otros factores:
§ Muy fácil de usar
§ Lento si el nº de ejemplos es excesivamente grande.
§ k-NN: § Gran expresividad de la partición.
§ No hay modelo. Inteligible sólo visualmente.
§ Robusto al ruido pero no a atributos no significativos (las distancias
aumentan)
§ Muy rápido.
§ Discriminante lineal: § Poco expresivo
§ Inteligible.
Técnicas supervisadas 52
Comparación de técnicas supervisadas
• Comparación según otros factores:
§ El número de capas y elementos por capa difíciles de ajustar.
§ Gran potencia expresiva
§ Redes neuronales § Poca inteligibilidad.
§ Muy sensibles a outliers (datos anómalos).
(multicapa):
§ Se necesitan muchos ejemplos (sqrt(n)).
Técnicas supervisadas 53
Comparación de técnicas supervisadas
• Comparación según otros factores:
Técnicas supervisadas 54
Técnicas no supervisadas
Técnicas estadísticas
Asociaciones y dependencias
55
Técnicas estadísticas: correlación
• Correlaciones
§ Permiten establecer relevancia/irrelevancia de factores y si aquélla es positiva o
negativa respecto a otro factor o variable a estudiar.
§ Atributos numéricos.
• Coeficientes de Regresión:
Independent Variable Coefficient
Health .6434 Indica que un incremento de 1 en el factor
Need .0445 Health aumenta la probabilidad de que no
Transportation -.2391
Child Care -.0599
aparezca el paciente en un 64.34%
Sick Time -.7584
Satisfaction .3537
Ease -.0786
Técnicas no supervisadas 57
Asociaciones y dependencias
• Las reglas de asociación y dependencias expresan patrones entre los
datos en función de la aparición conjunta de valores de dos o más
atributos.
• A diferencia de las correlaciones, estas reglas sólo tratan atributos
nominales.
• Las técnicas de aprendizaje de reglas de asociación y dependencias se
basan en la búsqueda de valores de los atributos (items) que ocurren
frecuentemente.
Técnicas no supervisadas 58
Asociaciones y dependencias
• Asociaciones no direccionales
§ Son de la forma :
(X1 = a) (X4 = b)
↔
§ Evaluación
• De las n instancias de la tabla de datos, se cuenta en cuántos casos ambas partes de la
asociación son simultáneamente ciertas o falsas (rc).
• Confianza TC (certeza):
TC = rc/n
Técnicas no supervisadas 59
Asociaciones y dependencias
Técnicas no supervisadas 60
Asociaciones y dependencias
• Ejemplo ID Ciudad Profesion Edad Hijos Credito Casado
11251545 Barcelona Ejecutivo 45 3 S S
30512526 Melilla Abogado 25 0 S N
22451616 León Ejecutivo 35 2 S S
25152516 Valencia Camarero 30 0 S S
23525251 Benidorm Animador 30 0 N N
Parque
Temático
§ Asociaciones no direccionales
• Casado ∧ (Hijos> 0) están asociados (80%, 4 casos de 5 instancias).
• Credito ∧ Casado están asociados (80%, 4 casos de 5 instancias).
• (Hijos> 0) Credito están asociados (60%, 3 casos de 5 instancias).
§ Asociaciones direccionales
• (Hijos> 0) à Casado (Confianza=100%, 2 cases; Soporte=40%, 2 casos de 5 instancias).
• Casado à Credito (Confianza=100%, 3 cases; Soporte=60%, 3 casos de 5 instancias)
Técnicas no supervisadas 61
Asociaciones y dependencias: Reglas de
asociación
• Este tipo de asociaciones surgieron inicialmente para afrontar el
problema del análisis de las cestas de la compra.
• Los datos se organizan en una tabla que solo contiene valores binarios,
donde
§ cada fila representa una transacción (una cesta de la compra).
§ las columnas representan los productos en venta
• un valor 1 en la posición (i,j) indica que la cesta i incorpora el producto j
• 0 en caso contrario
• El algoritmo más habitual es el “A PRIORI” y derivados.
Técnicas no supervisadas 62
Asociaciones y dependencias: Reglas de
asociación
• Ejemplo: Análisis de la cesta de la compra
VINO SODA HUEVOS LECHE BIZCOCHOS GALLETAS CHOCOLATE
“EL RIOJANO” “CHISPA” “LA GRANJA” “LA VACA” “GOLOSO” “TRIGO” “CAPRICHO”
T1 1 1 0 0 0 1 0
T2 0 1 1 0 0 0 0
T3 0 0 0 1 1 1 0
T4 1 1 0 1 1 1 1
T5 0 0 0 0 0 1 0
T6 1 0 0 0 0 1 1
T7 0 1 1 1 1 0 0
T8 0 0 0 1 1 1 1
T9 1 1 0 0 1 0 1
T10 0 1 0 0 1 0 0
Técnicas no supervisadas 63
Asociaciones y dependencias: Reglas de
asociación
• Ejemplo: Análisis de la cesta de la compra
§ Si definimos un soporte mínimo Ts = 2/10 (20% de los casos):
§ PRIMERA FASE: conjuntos de ítems frecuentes (superan el soporte mínimo)
• Siete conjuntos de sólo un ítem (siete atributos)
• De los 7!/(2!5!)=21 posibles casos de conjuntos formados por dos ítems, tenemos 15
conjuntos que superan el soporte mínimo.
• 11 conjuntos de tres ítems.
• 2 conjuntos de cuatro ítems.
• SEGUNDA FASE: creación de reglas a partir de los conjuntos de ítems frecuentes:
SI bizcochos “Goloso” Y leche “La vaca” ENTONCES galletas “Trigo” Ts = 3/10, Tc = 3/4
SI bizcochos “Goloso” Y galletas “Trigo” ENTONCES leche “La vaca” Ts =
3/10, Tc = 3/3
SI galletas “Trigo” Y leche “La vaca” ENTONCES bizcochos “Goloso” Ts =
3/10, Tc = 3/3
Técnicas no supervisadas 64
Asociaciones y dependencias: Reglas de
asociación
Técnicas no supervisadas 65
Técnicas no supervisadas
Técnicas de agrupamiento
66
Técnicas de agrupamiento basadas en
distancias
• Tareas de agrupamiento
§ Se trata de buscar agrupamientos naturales en un conjunto de datos tal que
tengan semejanzas.
§ Métodos de Agrupamiento:
• Jerárquicos: los datos se agrupan en una estructura de árbol.
• No jerárquicos: los datos se agrupan en un nivel.
Técnicas no supervisadas 67
Técnicas de agrupamiento jerárquico
• Agrupamiento: métodos jerárquicos
§ se basan en la construcción de un árbol
donde las hojas corresponden a los
ejemplos y el resto de los nodos son
grupos de ejemplos.
§ La estructura resultante se denomina
dendrograma
Técnicas no supervisadas 68
Técnicas de agrupamiento jerárquico
Técnicas no supervisadas 69
Técnicas de agrupamiento basadas en
vecindad: k-NN
• Dado una serie de ejemplos en un espacio, se conecta cada punto con
sus k puntos más cercanos.
• Ejemplo: 1-NN
G1
G4
G2
G3
Técnicas no supervisadas 70
Técnicas de agrupamiento basadas en
vecindad: k-medias
• Se utiliza para encontrar los k grupos más densos en un conjunto
arbitrario de puntos.
• Algoritmo:
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 el 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.
Técnicas no supervisadas 71
Técnicas de agrupamiento basadas en
vecindad: k-medias
2 2
1 1
2 2
3 3 3 3
1 1 1 1
1 1 x2 x1 1 1
2 2 3
3 x
2 3 2 3
3
3 1 3 1
2 2 2
2 2 2
1 1 1
2 1 2 2 1 1 2 2 1 1
2
x2 x1
1 2 x x 1 2 x x 1
1 1 1 1 1 1
2 3 2 3
3 x
2 3 2 3 3 2 3 1
3 x 3 x
2 3 2 3 3 3
2 2 2 2 2
2 2
1 1 x 1
22 1 22 2
2x
1 1 1
2x
1
x 1 x 1 2
x1
1 1
1 1 1 1 1
2 3 3 3 3
3 3 1 3 1 3 3 1
3 3 x
x x
3 3 3 3 3 3
Técnicas no supervisadas 72
Técnicas de agrupamiento basadas en
vecindad: k-medias
• El valor de k se suele determinar heurísticamente.
• Problemas:
§ Incluso con k exacto, puede haber algún centro que quede huérfano.
Técnicas no supervisadas 73