A p re n d iza je 1 . Pre lim in a re s 2 . Alg o ritm o s g e n tico s y re

Anuncio
1. Preliminares
Aprendizaje
2. Algoritmos genéticos y redes neuronales
Aprendizaje: árboles
3. Inducción de árboles clasificadores
4. Inducción de reglas
c 2010 DIT-ETSIT-UPM
Aprendizaje: árboles
Algoritmo ID3 y derivados
Construcción del árbol
Valor informativo de un atributo
Procedimiento CLS
Árboles de clasificación
Inducción de árboles de clasificación
c 2010 DIT-ETSIT-UPM
5. Minería de datos
UPM
UPM
transp. 1
transp. 2
Árboles de clasificación: ejemplo
Clasificadores:
Una red neuronal de tipo MLP, una vez entrenada, clasifica
objetos caracterizados por atributos numéricos
pelo
C
R
ojos
O
-
Si (v(pelo) = «negro»)
entonces «–»
Si (v(pelo) = «castaño»)
entonces «+»
Si (v(pelo) = «rubio») y (v(ojos) = «verdes»)
entonces «+»
Si (v(pelo) = «rubio») y (v(ojos) = «oscuros»)
entonces «–»
transp. 3
Un árbol de clasificación, una vez construido, clasifica objetos
caracterizados por atributos nominales (o binarios)
N
+
V
+
Aprendizaje: árboles
• ID3 (Iterative Dichotomizer) (Quinlan, 1979)
Aprendizaje: árboles
C4.5 (Quinlan, 1993) y C5.0 (comercial)
c 2010 DIT-ETSIT-UPM
transp. 4
• CART (Classification And Regression Trees) (Friedman,
1977; Briemen et al. 1984)
• CHAID (Chi-squared Automatic Interaction Detection)
(Hartigan, 1975)
Hunt et al. (1966): CLS (Concept Learning System)
Años 60: modelos informales de psicología cognitiva: elección
de atributos más significativos para formar conceptos
Inducción de árboles de clasificación
c 2010 DIT-ETSIT-UPM
-
Ejemplo:
UPM
UPM
UPM
Procedimiento CLS
Dado E = {e}, con e = {h~
xe, f (~xe)i}
= {hv(A1), v(A2), . . . v(An),C j i}
genera árbol de clasificación (clasificador) mínimo
(nodos: atributos; arcos: valores)
Aprendizaje: árboles
proedimiento CLS(E)
si todo e está en Cj
terminar on hoja "Cj"
si no
rear nodo = atributo "mejor";
partiionar E por valores atributo;
para ada partiión
CLS(partiión)
c 2010 DIT-ETSIT-UPM
¿Cuál es el mejor atributo?
El que más información da
Precio
Aprendizaje: árboles
: clase 1: se ha interesado
: clase 2: no se ha interesado
v11 v12 v13 v14
Volumen (páginas)
v23
v22
v21
Autor
c 2010 DIT-ETSIT-UPM
¿Es mejor Precio o Volumen?
UPM
transp. 5
transp. 6
Entropía
¿Por qué es mejor Volumen?
Porque da más información (reduce más la incertidumbre)
Medida de la incertidumbre: entropía
k
H = − ∑(pk × lg2 pk )
Volumen (páginas)
v23
v22
v21
transp. 7
: clase 1: se ha interesado
: clase 2: no se ha interesado
v11 v12 v13 v14
Precio
pk : probabilidad de que un ejemplo esté en la clase k:
nk
pk =
∑k nk
Aprendizaje: árboles
con nk = número de ejemplos en la clase k
c 2010 DIT-ETSIT-UPM
= 1 bit
Entropía en el ejemplo
Si hay dos clases, 0 ≤ H ≤ 1
UPM
=
5
5
5
5
−( 10
· lg 10
) − ( 10
· lg 10
)
Entropía inicial:
H0
Autor
Entropía media tras conocer el valor de Precio:
Aprendizaje: árboles
transp. 8
2
3
3
2
HP = 10
· 0 + 10
· (− 31 lg 31 − 32 lg 32 ) + 10
· (− 23 lg 23 − 31 lg 31 ) + 10
· 0 = 0,55 bits
Entropía media tras conocer el valor de Volumen:
c 2010 DIT-ETSIT-UPM
Ganancia de información por Volumen: H0 − HV = 0,6 bits
Ganancia de información por Precio: H0 − HP = 0,45 bits
3
4
3
HV = 10
· 0 + 10
· (− 21 lg 21 − 21 lg 12 ) + 10
· 0 = 0,4 bits
UPM
v(A1)=v1
N1
p = n /(n + n )
1 1
1
2
p = n /(n + n )
2 1
2
2
H(N0) = -(p log p + p log p )
2 2 2
2 1
1
Valor informativo de un atributo
n
i2
Pr{v(A1) = vi}*H(Ni) =
i
[(n + n )/(n + n )]*H(Ni)
i1 i2
1 2
transp. 9
vi
p = n /(n + n i2)
i1 i1
Ni i1
H(Ni ) = -(p log p + p log p )
i1 2 i1 i2 2 i2
p i2= n i2 /(n + n i2)
i1
n de C
1
i1
de C
2
N0
n de C
1
1
n 2 de C 2
v2
N2
H(N0| A1) =
i
H(N0) − H(N0|A1)
Aprendizaje: árboles
talla pelo ojos clase
B
R
V
+
A
R
O
–
A
C
V
+
B
N
V
–
A
N
V
–
A
R
V
+
A
N
O
–
B
R
O
–
Construcción del árbol (1)
Valores
Clases
Alto, Bajo
+, –
Negro, Cast., Rubio
Verdes, Oscuros
c 2010 DIT-ETSIT-UPM
Reducción de entropía = información ganada por A1 =
UPM
Atrib.
talla
pelo
ojos
Inicialmente:
p+ = 3/8; p− = 5/8;
H(N0) = −( 38 · lg2 83 + 58 · lg2 85 )
= 0,954 bits
c 2010 DIT-ETSIT-UPM
Aprendizaje: árboles
transp. 10
Ejemplo de Quinlan (1983). Trivial, pero ilustra aplicaciones
reales: descubrir criterio de selección, factores que influyen en
comportamiento (violencia, hábitos de compra. . . )
UPM
A
talla
ARO−
ACV+
ANV−
ARV+
ANO−
(5/8)
B
Construcción del árbol (2)
Valor informativo de «talla»:
H(N0|A) = −( 53 · lg2 53 + 52 · lg2 25 ) = 0,971
Aprendizaje: árboles
Construcción del árbol (3)
Aprendizaje: árboles
transp. 12
H(N0|pelo) = 38 · 0 + 18 · 0 + 84 · 1 = 0,5
H(N0|R) = −( 12 · lg2 12 + 21 · lg2 12 ) = 1
H(N0|C) = 0
H(N0|N) = −( 33 · lg2 33 + 30 · lg2 03 ) = 0
Valor informativo de «pelo»:
BRV+
AROARV+
BRO-
transp. 11
H(N0|B) = −( 31 · lg2 31 + 32 · lg2 23 ) = 0,918
BRV+
H(N0|talla) = 58 · 0,971 + 83 · 0,918 = 0,951
BNV−
BRO+
(3/8)
Ganancia de información por «talla»:
c 2010 DIT-ETSIT-UPM
pelo
C
AVC+
(1/8)
R
H(N0) − H(N0|talla) = 0,954 − 0,951 = 0,003 bits
UPM
N
BNVANVANO(3/8)
(4/8)
Ganancia de información por «pelo»:
c 2010 DIT-ETSIT-UPM
H(N0) − H(N0|pelo) = 0,954 − 0,5 = 0,454 bits
UPM
V
ojos
O
H(N0|ojos) = 58 · 0,971 + 83 · 0 = 0,607
H(N0|O) = 0
H(N0|V) = −( 52 · lg2 52 + 53 · lg2 35 ) = 0,971
Valor informativo de «ojos»:
Construcción del árbol (4)
AROANOBRO(3/8)
Ganancia de información por «ojos»:
-
N
pelo
C
+
R
Aprendizaje: árboles
BRV+
AROARV+
BROH(N1)=1
Construcción del árbol (5)
Aprendizaje: árboles
transp. 14
transp. 13
H(N0) − H(N0|ojos) = 0,954 − 0,657 = 0,347 bits
c 2010 DIT-ETSIT-UPM
BRV+
ACV+
BNVANVARV+
(5/8)
UPM
c 2010 DIT-ETSIT-UPM
Mejor atributo hasta ahora: pelo
Árbol provisional:
UPM
N
talla:
ojos:
+
pelo
C
c 2010 DIT-ETSIT-UPM
-
Construcción del árbol (6)
AROARV+
V
BRV+
ARV+
talla
ojos
ojos
B
BRV+
BRO-
O
H(N|talla) = 1
Ganancia: 0
H(N|ojos) = 0
Ganancia: 1
Aprendizaje: árboles
AROBRO-
-
O
Aprendizaje: árboles
transp. 15
transp. 16
Si (v(pelo) = «rubio»)
y (v(ojos) = «oscuros»)
entonces «–»
Si (v(pelo) = «rubio»)
y (v(ojos) = «verdes»)
entonces «+»
Si (v(pelo) = «castaño»)
entonces «+»
Si (v(pelo) = «negro»)
entonces «–»
Reglas:
Construcción del árbol (7)
+
V
R
Árbol resultante:
c 2010 DIT-ETSIT-UPM
A
Dado el valor de «pelo» quedan 4 ejemplos, 2 «+» y 2 «–»
UPM
UPM
pk
n de C
1
1
n de C
2
2
N2
v2
N
n de C
K
K
---
K
vi
Ni
n
i2
---
de C
K
n de C
1
i1
de C
2
p = n /(n + n + ... + n )
K 1
K
2
K
---
p = n /(n + n + ... + n )
1 1
1
2
K
p = n /(n + n + ... + n )
2 1
2
2
K
k=1
H(N) = − ∑ (pk lg2 pk );
v(A)=v1
N1
iK
n
H(N) − H(N|A)
Aprendizaje: árboles
∑ nik
transp. 17
0 ≤ H(N) ≤ lg2K
ID3: generalización para K clases
nk
;
=
n1 + n2 + . . . + nK
Partición por el atributo A
con valores v1, v2, . . . :
ik
pik = ni1+ni2n+...
+niK
Hi = − ∑k (pik lg2 pik )
n
n
i=1
Valor medio de la entropía después de saber el valor de A:
i=1
H(N|A) = Pr(v(A) = v ) · H = ( k
) · Hi
i
i
∑
∑
∑i ∑k nik
c 2010 DIT-ETSIT-UPM
Reducción media de la entropía = información ganada por A =
UPM
ID talla pelo ojos clase
1
B
R
V
+
2
A
R
O
–
3
A
C
V
+
4
B
N
V
–
5
A
N
V
–
6
A
R
V
+
7
A
N
O
–
8
B
R
O
–
¿Es la ganancia la mejor medida?
En el ejemplo de Quinlan
supongamos un cuarto atributo:
un número de identificación
¿Qué árbol se induce?
H(N0|1) = H(N0|2) = ... = H(N0|8) = 0
Es decir, ¡H(N0|ID) = 0!
Causa: con la ganancia se da preferencia a atributos con muchos
valores posibles que conducen a nodos con pocos ejemplos.
c 2010 DIT-ETSIT-UPM
Aprendizaje: árboles
transp. 18
Una solución: ponderar la ganancia del atributo teniendo en
cuenta el número de nodos resultantes y el número de ejemplos
en cada uno, independientemente de la clasificación de estos
ejemplos en cada nodo
UPM
Entropía de un atributo
n
i2
p = n /(n + n )
1 1
1
2
p = n /(n + n )
2 1
2
2
Pr{v(A1) = vi}*H(Ni) =
i
H(N0) = -(p log p + p log p )
2 2 2
2 1
1
[(n + n )/(n + n )]*H(Ni)
i1 i2
1 2
vi
p = n /(n + n )
i1 i1 i2
Ni i1
H(Ni ) = -(p log p + p log p )
p i2= n i2 /(n + n i2)
i1 2 i1 i2 2 i2
i1
n de C
1
i1
de C
2
N0
n de C
1
1
n 2 de C 2
v2
N2
i
Aprendizaje: árboles
transp. 19
Medida de la cantidad de información necesaria para determinar a qué
partición (rama del árbol) se asigna un ejemplo: a más ramas y a menos
ejemplos por rama, más entropía.
v(A1)=v1
N1
H(N0| A1) =
c 2010 DIT-ETSIT-UPM
donde: pi = ni/n, con ni = ni1 + ni2 y n = ∑i ni
Entropía de A1 en N0: H(A1) = − ∑i (pi × lg2 pi )
UPM
Ganancia ponderada, o tasa de ganancia
pelo
ojos
transp. 20
H(N) − H(N|A)
GP(A) =
H(A)
En el ejemplo, en N0
H(ID) = −( 81 · lg2 81 ) × 8 = 3 (8 ramas, 1 ejemplo por rama)
H(talla) = H(ojos) = −( 85 · lg2 58 + 83 · lg2 83 ) = 0, 954
(dos ramas, 5 + 3 ejemplos)
talla
H(pelo) = −( 38 · lg2 38 + 81 · lg2 81 + 48 · lg2 84 ) = 1, 406
ID
Aprendizaje: árboles
Ganancia, G 0,954 0,003 0,454 0,347
Entropía, H 3,0
0,954 1,406 0,954
GP = G/H 0,318 0,003 0,323 0,364
c 2010 DIT-ETSIT-UPM
Y el mejor atributo es...
UPM
talla
pelo
pelo
ojos
N
O
ojos
V
−
R
+
pelo
C
+
Aprendizaje: árboles
Aprendizaje: árboles
transp. 22
transp. 21
Árbol resultante en el ejemplo con la ganancia ponderada
ID
talla
−
Ganancia, G 0,954 0,003 0,454 0,347
Entropía, H 3
0,954 1,406 0,954
GP = G/H 0,318 0,003 0,323 0,364
ID
c 2010 DIT-ETSIT-UPM
c 2010 DIT-ETSIT-UPM
Muchas implementadas en C4.5 (Quinlan, 1993)
y derivados
Costes de los atributos
Ejemplos incompletos
Atributos con valores continuos
Datos con «ruido» evitando sobreajuste
Mejoras sobre ID3
Ganancia, G 0,971 0,020 0,971
Entropía, H 2,322 0,951 1,522
GP = G/H 0,418 0,0021 0,638
UPM
UPM
Sobreajuste (overfitting) (1)
Aprendizaje: árboles
Sobreajuste (overfitting) (2)
transp. 23
Una hipótesis h ∈ H sobreajusta los datos del conjunto de
entrenamiento (ejemplos) si existe una hipótesis alternativa
h′ ∈ H tal que:
h tiene menor error que h′ sobre los ejemplos,
pero
h′ tiene menor error que h sobre el universo (E )
c 2010 DIT-ETSIT-UPM
Causa: Unos pocos ejemplos con ruido hacen crecer
artificialmente al árbol
UPM
Heurístico: poda
temprana (durante la construcción del árbol)
tardía (después de construido)
c 2010 DIT-ETSIT-UPM
Aprendizaje: árboles
transp. 24
medidas de la complejidad de la enumeración de los ejemplos
y de la descripción del árbol (Minimum Description Length)
pruebas estadísticas para estimar si la expansión (o la poda)
de un nodo puede mejorar la precisión sobre E
un segundo conjunto de entrenamiento (conjunto de
validación)
Criterios para la poda:
UPM
Atributos con valores continuos
v(A)
40
-
48
+
60
+
72
+
80
-
90
85
54
puntos de corte
Aprendizaje: árboles
{v(A) > 54, v(A) > 85}
c 2010 DIT-ETSIT-UPM
v(A)
Dependiente del conocimiento de base del dominio
Por ejemplo: Edad
{niño, joven, adulto, viejo}
Temperatura
{baja, normal, alta}
Automática. Por ejemplo:
Discretización
UPM
Ejemplos incompletos
valor = «desconocido»
el más frecuente entre los ejemplos que sí lo tienen
(atributos nominales)
Aprendizaje: árboles
un valor medio, ponderado o no
(atributos numéricos)
c 2010 DIT-ETSIT-UPM
transp. 25
transp. 26
Estimación del valor de un atributo en un ejemplo en el que falta:
UPM
Costes de medida de atributos
1. Definición de una función de coste, C(A)
Aprendizaje: árboles
ITI (Incremental Tree Inducer)
http://www-lrn.s.umass.edu/iti/index.html
Enlaces a programas comerciales y libres en:
Aprendizaje: árboles
http://www.kdnuggets.om/software/
lassifiation-deision-tree.html
c 2010 DIT-ETSIT-UPM
transp. 27
transp. 28
C4.5: http://www.rulequest.om/Personal/
Integrado (con distintas variantes) en muchas herramientas de
minería de datos
Software para inducción de árboles
c 2010 DIT-ETSIT-UPM
(Núñez, 1991: diagnóstico médico)
2G(A) −1
(C(A)+1)α
(Tan, 1993: robótica)
G2(A)
C(A)
2. Ponderación de la función Ganancia
(muy dependiente del dominio):
UPM
UPM
Descargar