Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de decision
Hugo Jair Escalante1,2,3, Eduardo Morales1
1INAOE, 2CINVESTAV, Mexico3ChaLearn, USA
[email protected]://ccc.inaoep.mx/~hugojair/
1 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Contenido
1 Introduccion
2 Arboles de DecisionAlgoritmo ID3Como le haceAtributos numericos y manejo de ruidoRuido y SobreajusteArboles de Regresion y de ModelosExtensiones
2 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Introduccion
Aprendizaje Basado en similitud (SBL)
El aprendizaje basado en similitudes se encarga del estudiode metodos que resuelven problemas de aprendizaje conbase en casos similares que se encuentran en los datos deentrenamiento. Principales variantes:• Arboles de decision• Reglas de clasificacion• Aprendizaje basado en instancias
3 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Introduccion
Aprendizaje Basado en Similitudes (SBL)
AtributosPeludo? Edad? Tamano? Clasesi viejo grande leonno joven grande no leonsi joven mediano leonsi viejo pequeno no leonsi joven pequeno no leonsi joven grande leonno joven pequeno no leonno viejo grande no leon
4 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Introduccion
Arbol de Decision
5 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Introduccion
Reglas de Clasificacion
If Tamano = mediano If Tamano = pequenoThen leon Then no leon
If Tamano = grande If Tamano = grandeand Peludo = si and Peludo = noThen leon Then no leon
6 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Introduccion
Aprendizaje basado en instancias
7 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Induccion de Arboles de Decision
Un arbol de decision es un modelo codificado mediante unaestructura de arbol donde:• Los nodos intermedios hacen preguntas sobre los
valores de los atributos que describen a los datos• Los nodos hoja estan asociados a las clases del
problema abordado
8 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Induccion de Arboles de Decision
Puede ser re- representado como un conjunto de reglas tipoif-then
9 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Induccion de Arboles de Decision
En general los arboles de decision representan unadisyuncion de conjunciones:• Cada path desde la raız hacia una hoja representa una
conjuncion sobre los valores de los atributos• El arbol es en si mismo una disyuncion sobre dichas
conjunciones
10 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Induccion de Arboles de Decision
• El arbol es construido a partir de ejemplos deentrenamiento (D = {(xi , yi)}1,...,m)• Se busca que el arbol se ajuste a la mayor cantidad
posible de ejemplos de entrenamiento• Una vez construido, un ejemplo nuevo que se quiere
clasificar se pasa a traves del arbol y se le asigna laclase correspondiente al nodo hoja a donde este llega
11 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Induccion de Arboles de Decision
• Desarrollados desde principios de los 60’s: CLS (Huntet al., 1966), ID3 (Quinlan, 1979), CART (Breiman etal., 1984), ACLS (Niblett et al., 1982), ASSISTANT(Cestnik et al., 1987), C4.5 (Quinlan, 1993), etc.• Muchos convertidos en herramientas comerciales:
RuleMaster (1984), Ex-Tran (1984), Expert-Ease(1983), y C5/See5 (2000).• Existen en la mayorıa de los ambientes de KDD.
X. Wu, et al. Top 10 algorithms in data mining. Knowl Inf Syst. 14:(1):1–37, 2008
12 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Induccion de Arboles de Decision
A pesar de ser modelos estudiados desde hace muchotiempo, hoy en dıa variantes basadas en estos seencuentran entre los mas usados por su efectividad:• Random forest• XGBoost with trees
De igual forma, son de los modelos mas atractivos paraimplementar en la toma de decisiones dentro de la industria.
Jamie Shotton et al. Real-Time Human Pose Recognition in Parts from Single Depth Images. CVPR 2016
Mario A. Saucedo-Espinosa, Hugo Jair Escalante, Arturo Berrones: Detection of defective embedded bearingsby sound analysis: a machine learning approach. J. Intelligent Manufacturing 28(2): 489-500 (2017)
13 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Induccion de Arboles de Decision
• El aprendizaje de arboles de decision es sencillo, facilde implementar y poderoso.• Un arbol recibe un objeto o situacion descrita por un
conjunto de atributos y regresa una decision• Por simplicidad se consideran primero solo simples
funciones Booleanas (“verdadero/falso”)• Nodos internos Corresponden a pruebas en el valor
de uno de los atributos y las ramas estan etiquetadascon los posibles valores de la prueba.• Cada hoja especifica el valor de la clase.
14 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Expresividad
• Son completamente expresivos dentro de la clase delenguajes proposicionales; cualquier funcion Booleanapuede ser descrita por un arbol de decision• Representan una disyuncion de conjunciones de
condicionales en los valores de los atributos de lasinstancias.
• Cada ruta desde la raız y hacia una hoja corresponde auna conjuncion de pruebas sobre atributos.
• Para muchas funciones, los arboles son relativamentepequenos, pero para otras funciones requieren un arbolexponencialmente grande
15 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Induccion de Arboles de Decision
• Un ejemplo es descrito por los valores de los atributos yel valor del predicado meta (clase)• Si el predicado es verdadero, entonces el ejemplo es
positivo, sino el ejemplo es negativo• En caso de existir mas clases, los ejemplos de una sola
clase son positivos y el resto de los ejemplos sonconsiderados negativos• El conjunto de ejemplos (datos), se divide
aleatoriamente en un subconjunto de entrenamiento(con el que se construye la hipotesis) y uno de prueba(con el que se prueba la hipotesis)
16 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Induccion de Arboles de Decision
Mas formalmente:
1 Junta una gran cantidad de ejemplos2 Dividelos en dos conjuntos disjuntos: entrenamiento y
prueba3 Usa el algoritmo de aprendizaje para generar una
hipotesis H4 Mide el porcentaje de clasificacion correcta de H en el
conjunto de prueba5 Repite los pasos 1 - 4 para diferentes tamanos de
conjuntos seleccionados aleatoriamente
17 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Induccion de Arboles de Decision
• Encontrar un arbol puede ser trivial, pero nonecesariamente es bueno para predecir casos no vistos• El extraer un patron significa el poder describir una gran
cantidad de ejemplos en forma concisa• Sigue un principio general en los algoritmos de
induccion llamado: Ockham’s razor (muchas vecesescrito como Occam): dar preferencia a hipotesis massimples que sean consistentes con todas lasobservaciones.• Encontrar el arbol mas pequeno es intratable, por lo que
se usan heurısticas para encontrar arboles pequenos
18 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Induccion de Arboles de Decision
• Idea: probar primero el atributo mas “importante”• Este particiona ejemplos y cada subconjunto en un
nuevo problema con menos ejemplos y un atributomenos
Esqueleto de casi todos los metodos para inducir arboles dedecision. Enfoque top-down greedy
19 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision
Induccion de Arboles de Decision
• Idea: probar primero el atributo mas “importante”• Este particiona los ejemplos y cada subconjunto en un
nuevo problema con menos ejemplos y un atributomenos• Este proceso recursivo tiene 4 posibles resultados:
1 Si existen ejemplos positivos y negativos, escoge elmejor atributo
2 Si todos los ejemplos son positivos (o negativos),termina y regresa True (o False)
3 No quedan ejemplos, regresa un default con base en laclasificacion mayoritaria de su nodo padre
4 No hay mas atributos, pero seguimos con ejemplospositivos y negativos. Posible solucion: toma la clasemayoritaria
20 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Algoritmo ID3
Algoritmo ID3
Esqueleto de casi todos los metodos para inducir arboles dedecision
funcion Arbol-decision(ejemplos,atributos,default)regresa un arbol de decision
entradas:ejemplos: conjunto de ejemplosatributos: conjunto de atributosdefault: valor de default para el predicado meta
if ejemplos = vacıo then regresa defaultelse if todos los ejemplos tienen la misma clasificacion
then regresa la clasificacionelse if atributos = vacıothen regresa VALOR-MAYORITARIO(ejemplos)else Mejor← ESCOGE-ATRIBUTO(atributos, ejemplos)
Arbol← nuevo arbol de decision con Mejor como raızpara cada valor vi de Mejor do
ejemplosi ←{ejemplos con Mejor = vi}Subarbol← ARBOL-DECISION(ejemplosi ,
atributos - mejor,VALOR-MAYORITARIO(ejemplos))
anade una rama a Arbol con etiqueta vi ysubarbol Subarbol
endreturn Arbol
21 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Algoritmo ID3
Algoritmo ID3
if ejemplos = vacıo then regresa defaultelse if todos los ejemplos tienen la misma clasificacion
then regresa la clasificacionelse if atributos = vacıothen regresa VALOR-MAYORITARIO(ejemplos)else Mejor← ESCOGE-ATRIBUTO(atributos, ejemplos)
Arbol← nuevo arbol de decision con Mejor como raızpara cada valor vi de Mejor do
ejemplosi ← {ejemplos con Mejor = vi}Subarbol← ARBOL-DECISION(ejemplosi ,
atributos - mejor,VALOR-MAYORITARIO(ejemplos))
anade una rama a Arbol con etiqueta vi ysubarbol Subarbol
endreturn Arbol
22 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Algoritmo ID3
Induccion de Arboles de Decision
Slide from I. Guyon.
23 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Algoritmo ID3
Tabla de Ejemplo
Ambiente Temp. Humedad Viento Clasesoleado alta alta no Nsoleado alta alta si Nnublado alta alta no Plluvioso media alta no Plluvioso baja normal no Plluvioso baja normal si Nnublado baja normal si Psoleado media alta no Nsoleado baja normal no Plluvioso media normal no Psoleado media normal si Pnublado media alta si Pnublado alta normal no Plluvioso media alta si N
24 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Algoritmo ID3
Arbol de Salida
25 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
¿Como le hace?
• La medida en ESCOGE-ATRIBUTO debe ser maximacuando el atributo discrimine perfectamente ejemplospositivos y negativos, y mınima cuando el atributo nosea relevante• Una posibilidad es usar una medida basada en
cantidad de informacion (basado en la teorıa deShannon y Weaver ’49)• La cantidad de informacion mide la (im)pureza en una
coleccion arbitraria de ejemplos• La cantidad de informacion (medida en bits) recibida
respecto a la ocurrencia de un evento es inversamenteproporcional a la probabilidad de ocurrencia de dichoevento
26 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Entropıa
Si se tienen vi posibles respuestas con probabilidadesP(vi), el contenido de informacion es:
I(P(v1), . . . ,P(vn)) = −n∑
i=1
P(vi)log2P(vi)
Nos representa el contenido promedio de informacion paralos diferentes eventos.
27 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Funcion de Entropıa
28 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Entropıa
• En el caso de los arboles queremos estimar lasprobabilidades de las respuestas, lo que se hace con laproporcion de ejemplos positivos y negativos• Si se tienen p ejemplos positivos y n ejemplos
negativos, entonces:
I(p
p + n,
np + n
) = − pp + n
log2p
p + n− n
p + nlog2
np + n
• Un solo atributo normalmente no nos proporciona todaesta informacion, pero podemos estimar cuanta, viendocuanta informacion necesitamos despues de utilizarese atributo
29 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Entropıa
• Cada atributo A, divide a los ejemplos en subconjuntosE1,E2, . . . ,Ev de acuerdo a los v valores del atributo• Cada subconjunto Ei tiene pi ejemplos positivos y ni
ejemplos negativos, por lo que para cada ramanecesitamos: I( pi
pi+ni, ni
pi+ni) cantidad de informacion
para responder a una pregunta• Un ejemplo aleatorio tiene el valor i-esimo del atributo
A con probabilidad: pi+nip+n . Por lo que en promedio,
despues de probar el atributo A, necesitamos:
E(A) =v∑
i=1
pi + ni
p + nI(
pi
pi + ni,
ni
pi + ni)
30 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Ganancia de Informacion
• La cantidad de informacion que ganamos al seleccionarun atributo esta dada por:
Ganancia(A) = I(p
p + n,
np + n
)− E(A)
• La ganancia de A me dice el numero de bits queahorramos para responder a la pregunta de la clase deun ejemplo, dado que conocemos el valor del atributo A.• Mide que tan bien un atributo separa a los ejemplos de
entrenamiento de acuerdo a la clase• La funcion de evaluacion escoge el atributo de mayor
ganancia
31 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
32 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
33 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
34 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
35 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
36 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Ejemplo
37 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Ejemplo
• Por ejemplo, si calculamos las ganancias para losatributos con los datos de la tabla de Golf (asumimosque 0× log2(0) = 0):I(9,5) = − 9
14 log2(9
14)−5
14 log2(5
14) = 0,941• Para Ambiente:
soleado: p1 = 2,n1 = 3, I(p1,n1) = 0,971nublado: p2 = 4,n2 = 0, I(p2,n2) = 0lluvioso: p3 = 3,n3 = 2, I(p3,n2) = 0,971Entropıa(Ambiente) =514 I(p1,n1) +
414 I(p2,n2) +
514 I(p3,n3) = 0,694
38 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Ejemplo
• Para Humedad:alta: p1 = 3,n1 = 4, I(p1,n1) = 0,985normal: p2 = 6,n2 = 1, I(p2,n2) = 0,592Entropıa(Humedad) = 0.798• Para Viento:
no: p1 = 6,n1 = 2, I(p1,n1) = 0,811si: p2 = 3,n2 = 3, I(p2,n2) = 1,0Entropıa(Viento) = 0.892• Para Temperatura, Entropıa(Temperatura) = 0.9111
39 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Ejemplo
• Las ganancias son entonces:Ganancia(Ambiente) = 0.246 (MAX)Ganancia(Humedad) = 0.151Ganancia(Viento) = 0.048Ganancia(Temperatura) = 0.029• Por lo que ID3 escoge el atributo Ambiente como nodo
raız y procede a realizar el mismo proceso con losejemplos de cada rama
40 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Ejemplo
• Para Ambiente tenemos tres subconjuntos: soleado(2+,3−), nublado (4+,0−), lluvioso (3+,2−). Paranublado, no tenemos que hacer nada, mas queasignarle la clase P• Por ejemplo, para soleado hariamos el mismo proceso:
Ganancia(Humedad) = 0.97 - [(3/5)0 + (2/5)0] = 0.97(MAX)Ganancia(Temperatura) = 0.97 - [(2/5)0 + (2/5)1 +(1/5)0] = 0.570Ganancia(Viento) = 0.97 - [(2/5)1 + (3/5)0.918] = 0.019
41 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Uso del Arbol de Decision
• Con el arbol construido, podemos preguntar si esta bienjugar el sabado en la manana con ambiente soleado,temperatura alta, humedad alta y con viento, a lo cual elabol me responde que no• ID3 sigue una estrategia hill-climbing, sin backtracking• Tiende a preferir construir arboles pequenos con
atributos con ganancia de informacion alta cerca de laraız
42 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Criterio de Seleccion
• El criterio de seleccion tiende a favorecer atributos quetienen mas valores• Por ejemplo, un atributo con valores aleatorios. Con
esto el algoritmo basico construye un arbol de un solonivel o decision stump
43 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Criterio de Seleccion• Posible solucion: compensar dividiendo entre la
informacion de la division (split information) que sedefine como:
SI(A) = −n∑
i=1
P(Ai)log2P(Ai)
• E.g., si un atributo binario divide los datos en dossubconjuntos de igual tamano, el contenido deinformacion de su division es 1. Mientras que uno losdivide en 14 subconjuntos de tamano 1, serıa:14(−1/14log2(1/14)) = −log2(1/14).• No siempre funciona y muchas veces se usa el atributo
de la razon de ganancia de informacion maxima si suganancia es al menos tan grande como el promedio deganancia del resto de los atributos
44 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Criterio de Seleccion
45 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Como le hace
Otras Medidas• Se han propuesto un gran numero de diferentes
heurısticas• Una medida muy utilizada es el ındice Gini (CART):
Gini(t) = 1−m∑
j=1
(p(j | t))2
donde p(j | t) es la frecuencia relativa de la clase j en t .• Lo que se quiere es minimizar el ındice al seleccionar
un atributo. Para esto se calcula el ındice en cada ramadel atributo tomando en cuenta su proporcion deejemplos• Si se divide en k ramas:
GiniA =k∑
i=1
ni
nGini(k)
donde ni son los ejemplos de la rama y n los del nodo.46 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Atributos numericos y manejo de ruido
Atributos Numericos y Ruido
Hasta ahora hemos visto como funciona el algoritmo conatributos con valores discretos finitos y con datos sin ruido.Veremos ahora algunas extensiones para estos casos.
47 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Atributos numericos y manejo de ruido
Atributos Numericos• Normalmente se ordena el atributo, se identifican
ejemplos adyacentes que tengan valor de clasediferente y se consideran como candidatos los puntosmedios de division del valor del atributo• A cada uno de estos se le calcula su ganancia de
informacion• Ejemplo de la tabla de Golf con temperatura:
64 65 68 69 70 71 72 75 80 81 83 85P N P P P N N P N P P N
P P
• Existen 8 posibles lugares de corte que separan el valorde la clase y a cada uno se calcula su gananciatomando el punto medio.• Por ejemplo, para 71.5, Temperatura < 71.5 tiene 4 P y
2 N, y Temperatura > 71.5 tiene 5 P y 3 N.48 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Atributos numericos y manejo de ruido
Atributos Numericos
• Cada posible particion entra en competencia con elresto de los atributos• Los atributos numericos pueden aparecer varias veces
en una rama de un arbol• Para evitar ordenar ejemplos cada vez que se
selecciona un atributo, se guarda (al principio) con cadasubconjunto el orden de acuerdo a un atributo numerico
49 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Atributos numericos y manejo de ruido
Induccion de Arboles de Decision
Slide from I. Guyon.
50 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Atributos numericos y manejo de ruido
Induccion de Arboles de Decision
Que pasa en el espacio de entrada?
51 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Atributos numericos y manejo de ruido
Induccion de Arboles de Decision
Que pasa en el espacio de entrada?
52 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Atributos numericos y manejo de ruido
Induccion de Arboles de Decision
Que pasa en el espacio de entrada?
53 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Atributos numericos y manejo de ruido
Induccion de Arboles de Decision
Que pasa en el espacio de entrada?
54 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Atributos numericos y manejo de ruido
Induccion de Arboles de Decision
Que pasa en el espacio de entrada?
55 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Atributos numericos y manejo de ruido
Valores Faltantes
• Una forma de tratar valores faltantes es como si fueranotro posible valor del atributo (solo funciona si el valorfaltante tiene un significado especial)• Ignorar los datos es demasiado drastico ya que algunas
veces el valor del atributo puede no ser relevante paratomar una decision• Se han hecho diferentes propuestas, como llenar estos
huecos con el valor mas probable o con el valor masprobable dada la clase
56 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Atributos numericos y manejo de ruido
Valores Faltantes
Lo que hace C4.5 es distribuir los objetos con valoresdesconocidos entre los demas. En donde se calcula laganacia en informacion como si pi fuera:
pi + pd · razoni
razoni =pi + ni∑i(pi + ni)
y pd es la probabilidad de los datos desconocidos. Haciendolo equivalente para ni .
57 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Atributos numericos y manejo de ruido
Costo de Clasificacion
• Si existe un costo en la clasificacion, y este se conoce,entonces se puede incorporar a la probabilidad de laprediccion de la clase (se multiplica)• Normalmente se define una matriz de costo con la
diagonal con 0’s y los elementos fuera de la diagonalrepresentan el costo de equivocarse en la clasificacion• Se multiplican las probabilidades de las clases
predichas por el clasificador, por la columnacorrespondiente a la clase predicha en la matriz decosto y se selecciona la clase de menor costo esperado• Variando las matrices de costo se puede variar la
clasificacion
58 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Ruido y Sobreajuste
Ruido y Overfitting
• ID3 es util en dominios no homogeneos (diferentesrelaciones entre atributos en diferentes regiones delespacio de problemas) y alta dimensionalidad (muchosatributos)• A pesar de que falte informacion relevante, se pueda
construir un arbol con atributos irrelevantes• Con muchas posibles hipotesis se pueden encontrar
“regularidades con poco sentido”• A este problema se le llama overfitting y afecta a todos
los tipos de aprendizaje (i.e., no solo a los arboles dedecision).
59 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Ruido y Sobreajuste
Ruido y Overfitting
Definicion: dado un espacio de hipotesis H, unahipotesis h ∈ H se dice que sobreajusta los datosde entrenamiento si existe otra hipotesis h′ ∈ H,tal que h tiene errores mas pequenos que h′ enlos ejemplos de entrenamiento, pero h′ tiene erro-res mas pequenos que h en toda la distribucion deejemplos.
60 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Ruido y Sobreajuste
Ruido y Overfitting
61 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Ruido y Sobreajuste
Ruido y Overfitting
Uno de los problemas a los que se enfrentan los sistemasde aprendizaje, y que provocan el sobreajuste, es cuandolos ejemplos de entrenamiento contienen ruido:
• valores de atributos erroneos, subjetivos• clasificacion equivocada• valores desconocidos
62 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Ruido y Sobreajuste
Ruido y Overfitting
• Con ruido, se pueden tener dos ejemplos con losmismos valores de atributos, pero clase diferente• En presencia de ruıdo, el algoritmo basico (ID3)
construye arboles de decision que son mas grandes delo necesario, y no clasifican adecuadamente• En el caso de arboles de decision se tiene que decidir:
• como trabajar con atributos inadecuados• cuando al anadir atributos extra no mejora la prediccion
del arbol de decision
63 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Ruido y Sobreajuste
Ruido y Overfitting
En general, existen dos metodos para manejar ruido(basados en la condicion de terminacion):
• pruning (o pre-pruning): cambiar el criterio de paro delarbol de decision (e.g., umbral en clase mayoritaria)para “podar” ramas.• post-pruning: “podar” ramas una vez construıdo el
arbol.
64 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Ruido y Sobreajuste
Pruning
• En este caso, se tiene que decidir cuando parar o dejarde construir el arbol a pesar de no tener hojas conejemplos de una sola clase• Se han propuesto tecnicas usando: (i) un umbral de
ganancia de informacion, (ii) usando validacion cruzada(si no mejora la clasificacion con datos desconocidosparar), (iii) usando medidas basadas en el principio delongitud de descripion mınima (MDL), ...• El problema principal en todos estos metodos es que
se basan en informacion local
65 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Ruido y Sobreajuste
Post-Pruning
Esta es la tecnica mas utilizada, y algunos de los metodosmencionados arriba se han utilizado para podar el arbol unavez ya construido.Pasos:
1 Crece el arbol como antes (solo verifica cuando setienen ejemplos iguales y clases diferentes).
2 “Poda” el arbol.El problema aquı es cual arbol podado considerar y comoestimar el error de clasificacion de los arboles.
66 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Ruido y Sobreajuste
Post-Pruning
• El estimado de re-substitucion esta dado por laproporcion de ejemplos en el nodo mal clasificados sise toma la clase mayoritaria en el nodo• Para hacer una estimacion directa del error por
re-substitucion (poda), se hace con los mismos datos,se asume que siguen una distribucion Bernoulli (por serunos cuantos (< 100), la cual se aproxima a unaNormal con muchos datos), y considerando unaestimacion pesimista dentro de un nivel de confianza• Para estimar errores se especifican niveles de
confianza y las estadısticas (media y varianza) seobtienen directamente de los datos y los valores detablas (e.g., z)
67 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Ruido y Sobreajuste
Multiples Clases
Al cambiar el criterio de paro, podemos tener hojas conejemplos de diferentes clases. Posibles soluciones:
• que las clases tomen valores fraccionarios (p/(p + n))• tomar la clase mayoritaria (mejor si se quiere minimizar
el error esperado)
En general con poco nivel de ruido, se comportan bien. Noconviene quitarle ruido a los datos si se van a probar enambientes ruidosos.
68 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Ruido y Sobreajuste
Analisis de Complejidad
• La complejidad de contruir un arbol es:
O(mnlogn) + O(n(logn)2)
• Donde n es el numero de datos y m el numero deatributos• El primer termino se refiere a construir un arbol de
decision sin considerar podado. El segundo termino serefiere cuando realizamos podado. Esto esindependiente de que los atributos sean continuos o no.
69 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Ruido y Sobreajuste
Algunas Extensiones
• En lugar de hacer una busqueda tipo hill climbing usarbeam search, o hacer busqueda tipo look-ahead• Generar varios arboles de decision y luego combinar
sus resultados.• En forma paralela con varias subconjuntos de los datos
(bagging)• En forma secuencial considerando errores de
clasificacion y modificando los datos (boosting)• Usando varias muestras de los datos de entrenamiento
e introduciendo aleatoriedad en la seleccion deatributos a considerar en cada nodo (random forest).
70 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Arboles de Regresion y de Modelos
Cuando la clase a predecir es numerica existen dosvariantes:• Regression trees: guardan el valor promedio de los
valores en las hojas• Model trees: utilizan una regresion lineal para predecir
los valores de las clasesLos dos tipos de arboles se construyen muy parecido a losarboles de decision para construir un arbol inicial.
71 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Arboles de Regresion y de Modelos
• En lugar de usar ganancia de informacion, seleccionarel atributo que minimiza la variacion de la clase en cadarama• Idea: tratar la desviacion estandar de la clase como
medida de error y calcular la reduccion esperada deerror (standard deviation reduction) como resultado deprobar cada atributo
SDR = destd(T )−∑
i
Ti
T× destd(Ti)
• donde T1,T2, . . . son los conjuntos que resultan dedividir al nodo de acuerdo al atributo seleccionado ydestd es desviacion estandar(destd =
√∑ni (x(i)− µ)2/(n − 1), µ =
∑ni x(i)/n).
72 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Valores Desconocidos
Para construir y probar un modelo con un valordesconocido, se usan dos tecnicas:• Se reemplaza el valor del atributo por el valor del
atributo mas fuertemente correlacionado a el (surrogatesplitting).• Se utiliza el valor de la clase (para entrenamiento). Se
cambia por el valor promedio de los datos en ese nodo(para prueba).
73 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Random forest
Clasificador conformado por muchos arboles de decision• Hipotesis 0 (ensambles): la combinacion de diversos
clasificadores debiles, pero complementarios, resultaen un modelo mas robusto.• Hipotesis 1 (RF): Combinacion en paralelo, mediante
muestreo con remplazo.
L. Breiman. Random forests Machine learning 45 (1), 5-32 45133 2001
74 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Random forest
En terminos generales:
• Genera k−arboles de decision tomando diferentesparticiones de datos y atributos con remplazo• Cuando un nuevo ejemplo debe ser clasificado, este se
pasa a traves de los k− modelos• La etiqueta del ejemplo se obtiene promediando las
salidas de los k−modelos
75 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Random forest
Arbol de decision vs. Random forest
http://www.datascienceblog.pw/
random-forests-r-explained.html
76 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Random forest
Arbol de decision vs. Random forest
77 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Boosting with trees
Otro clasificador por comite• Hipotesis 0 (ensambles): la combinacion de diversos
clasificadores debiles, pero complementarios, resultaen un modelo mas robusto.• Hipotesis 1 (Boosting): Generacion de modelos
sequenciales, generando un arbol a la vez.
Y. Freund, R. E. Schapire. A Short Introduction to Boosting.https://cseweb.ucsd.edu/~yfreund/papers/IntroToBoosting.pdf
78 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Boosting with trees
En terminos generales:
• Se tiene una distribucion de probabilidad sobre losejemplos, inicialmente uniforme• Genera sequencialmente un arbol de decision,
tomando en cuenta la distribucion de probabilidad• Actualizar la distribucion de probabilidad sobre los
ejemplos• La etiqueta del ejemplo se obtiene promediando las
salidas de los k−modelos
79 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Boosting with trees
80 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Boosting with trees
Arbol de decision vs. Boosting
81 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
XGD
Tianqi Chen, Carlos Guestrin. XGBoost: A Scalable TreeBoosting System, KDD 2016https://www.kdd.org/kdd2016/papers/files/
rfp0697-chenAemb.pdf
82 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Comentarios finales
• Arboles de decision: aprendizaje sencillo, intuitivos,transparentes, y efectivos.• Uno de los top-10 algoritmos en data mining• Relevancia historica en aprendizaje computacional• Presentes hoy en dıa en los modelos mas competitivos
que existe para el analisis de datos
83 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Tarea 1/2
• Arboles de decision:1 Obtener 3 conjuntos de datos para clasificacion de
repositorios (al menos uno multi-clase, al menos 10atributos, diferentes tareas)
2 Construir un arbol de decision tipo C4.5 (j.48) o ID3.3 Comparar el desempeno del arbol construido en (2) con
un clasificador tipo random forest (o adaboost o XGB,ambos con arboles)
4 Visualizar los arboles resultantes
84 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Tarea 2/2
• Ganancia de informacion1 Para los 3 conjuntos de datos, calcular la ganancia de
informacion de cada atributo2 Ordenar atributos por ganancia de informacion3 Realizar un analisis de la importancia de los diferentes
atributos4 Construir un arbol de decision removiendo el 50 % de
los atributos con menor valor de IG y comparar conmetodos anteriores
85 / 86
Introduccion
Arboles deDecisionAlgoritmo ID3
Como le hace
Atributos numericosy manejo de ruido
Ruido y Sobreajuste
Arboles deRegresion y deModelos
Extensiones
Arboles de Decision Arboles de Regresion y de Modelos
Tarea
Fecha de entrega 22 de Mayo de 2019 (11:59PM a mastardar)
Entregar1 Reporte con: descripcion de los conjuntos de datos
utilizados, fuentes/librerias/ implementaciones,algoritmo usado, parametros, resultados en tablas y/ograficas, analisis y conclusiones
2 Archivo zip con la carpeta del codigo, incluyendo losdatos
86 / 86