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.