Chapter 8: Non metric Methods
0
ARBOLES DE DECISION
(SECCIONES 8.1-8.3
Introducción
1
Mayoría de problemas– datos reales ~ métrica
Datos nominales -->discretos sin orden
Vector números reales ->lista de atributos
d-upla
lista de atributos de largo variable
Problemas:
Como usar mejor los datos nominales?
Aprendizaje eficiente de categorías?
Arboles de decision
2
Arboles de decisión—Un grafo especial donde cada
nodo tiene solo un padre y no hay ciclos en el grafo.
Comienza con el nodo de arriba y procede hasta la
ultima hoja
Cada nivel tiene una propiedad diferente
Ejemplo
4
• Cada nodo interno corresponde a un test
• Cada rama corresponde a un resultado del test
• Cada hoja asigna una clasificacion
Arboles de decision
5
Regiones de decision
6
Divide y venceras
7
Nodos de decisión internos
Univariados: Usan un solo atributo, xi
Discreto xi : parte en n-formas los n valores posibles
Continuo xi : partición binaria: xi > wm
Multivariado: Usa mas de un atributo
Hojas
Clasificación: Etiquetas de clases o proporciones
Regresión: Numericas; r promedio o ajuste local
Una vez que el árbol esta entrenado una nueva instancia
se clasifica comenzando con la raíz y siguiendo el camino
dictado por los resultados de esta instancia .
Reglas
8
If (O=Sunny AND H=Normal) OR (O=Overcast)
OR (O=Rain AND W=Weak)
then YES
9
Cuan expresiva es esta representacion?
Como podriamos representar:
(A AND B) OR C
A XOR B
Puede representar cualquier funcion Booleana
Algoritmo de aprendizaje
10
Para una muestra de entrenamiento, hay muchos
arboles que codifican sin error
Encontrar el árbol mas chico es un problema NP-
complete (Quinlan 1986), por lo cual estamos
forzados a usar algún algoritmo local de búsqueda
para encontrar soluciones razonables.
Aprendizaje
11
Aprender es voraz; encuentra el mejor split
recursivamente (Breiman et al, 1984; Quinlan,
1986, 1993)
Si las decisiones son binarias , entonces en el mejor
caso, cada decisión elimina la mitad de las regiones
(hojas).
Si hay b regiones, la región correcta puede
encontrarse en log2b decisiones, en el mejor caso.
Algoritmo de entrenamiento básico
12
Un árbol de decisión puede ser construido
considerando los atributos de los ejemplos uno por
uno.
Que atributo considerar primero?
La altura de un árbol depende del orden de los
atributos que se consideran.
Inducción top-down
13
Ciclo central
1.
2.
3.
4.
5.
Ael mejor atributo para el próximo nodo
Asignar A como el atributo del nodo
Para cada valor de A, crear un descendiente del
nodo
Elegir las muestras de entrenamiento que
corresponden al nodo
Si todas las muestras están perfectamente
clasificadas, PARAR, si no iterar sobre los nuevos
nodos hoja
Que atributo es mejor?
14
Entropia
15
Entropía de una variable aleatoria X con muchos
valores posibles se define como:
Medida de incerteza
Entropía: ejemplo de teoria de codigos
16
X variable aleatoria discreta con 8 estados posibles ;
cuantos bits son necesarios para transmitir el estado
de X?
Todos los estados igualmente probables
Si tenemos la siguiente distribución X?
El uso de la entropia para elegir el nuevo atributo
18
Se usa la entropía en el resto del árbol para medir cuan
bueno es un atributo sobre otro
en resumen, consideraremos
La entropía sobre la distribución de las muestras que caen en cada
nodo hoja y
tomaremos el promedio pesado de esa entropía, pesado por la
proporción de muestras que caen en la hoja.
Se elige el atributo que trae la mayor ganancia de
información, o equivalentemente resultados en el árbol
con la menor entropía pesada.
Ganancia de informacion
19
Training Examples
20
Selecting the Next Attribute
21
We would select the Humidity attribute to split the root node as it
has a higher Information Gain
Selecting the Next Attribute
22
Computing the information gain for each attribute, we selected the Outlook attribute
as the first test, resulting in the following partially learned tree:
We can repeat the same process recursively, until Stopping conditions are satisfied.
Partially learned tree
23
Parar?
24
Hasta que paramos:
Seleccionar uno de los atributos no usados para
particionar los ejemplos de cada nodo no terminal
usando solo los ejemplos asociados con ese nodo
Criterio de parada:
cada nodo hoja contiene ejemplos de un solo tipo
algoritmo no tiene mas atributos
…
Over fitting árboles de decision
26
Porque ―over‖-fitting?
Un modelo puede ser mas complejo de lo que la
funcion objetivo (conceptual) puede manejar, cuando
trata de satisfacer datos ruidosos tambien .
Consideremos agregar el siguiente ejemplo de
entrenamiento el cual esta etiquetado
incorrectamente como negativo:
27
Sky;
Temp; Humidity; Wind; PlayTennis
Sunny; Hot; Normal; Strong; PlayTennis = No
Sobre-entrenamiento
28
Problema es el sobreentrenamiento del algoritmo, el cual puede verse
como generalizacion insuficiente de los datos de entrenamiento
Datos regulares por coincidencia
Datos insuficientes
Diferencias entre las distribuciones de test y de train de los
datos
Definicion de overftting
Una hipotesis se dice que existe sobre-entrenamiento si existe
alguna otra hipothesis que tiene mayor error sobre los datos
de entrenamiento pero menor error sobre todos los datos.
29
From: http://kogs-www.informatik.uni-hamburg.de/~neumann/WMA-WS-2007/WMA-10.pdf
30
Over fitting in Decision Trees
31
Eludir sobre-entrenamiento
32
Como podemos eludir sobreentrenamiento?
Hay por lo menos 2 formas:
1. Parar antes: parar el crecimiento del arbol antes
que clasifique perfectamente los datos
2. Recortar: armar el arbol completo y luego
recortarlo
Reduced error pruning
Rule post-pruning
Recortar es mas util en la practica .
Errores
33
Mientras estamos pre or post-pruning, lo importante
es seleccionar el ―mejor‖ arbol:
1.
2.
3.
4.
Podemos medir el desempeño en otra muestra
Podemos medir el desempeño en parte de la muestra de
entrenamiento
Aplicar un test de hipotesis para ver si se expande o se
recorta (Quinlan 1986)
MDL: minimize size(tree) + size(misclassifications(tree))
minimum description length
Reduced-Error Pruning (Quinlan 1987)
34
Partir datos en training y validation set
Decrecer hasta que el pruning sea malo :
1. Evaluar el impacto del pruning en cada nodo (mas los que
estan abajo de el) en el validation set
2. Remover el que reduce el desempeño en validation
Produce version mas chica del arbol mas certero
Que pasa si los datos estan limitados?
Podriamos no querer separar el validation test.
Reduced error pruning
35
Examina cada decision para ver si el recortado
(pruning) decrece el desempeño del arbol sobre los
datos de evaluacion.
―Pruning‖ aqui significa reemplazar un subtree con
una hoja con la clasificacion mas comun en el
subtree.