Métodos de Clasificación sin Métrica Reconocimiento de Patrones- 2013 Métodos de Clasificación sin Métrica Datos nominales sin noción de similitud o distancia (sin orden). Escala nominal: conjunto de categorías mutuamente excluyentes y globalmente exhaustivas. Ej: Clasificación de frutas Características: color, textura, sabor, tamaño x={rojo, brillante, dulce, pequeño} Características cualitativas (categóricas): Ordinales (grado de educación) Nominales (profesión) ¿Cómo aprender clases usando datos sin métrica? ¿Cuál es la forma más eficiente de aprender usando datos nominales para clasificar? Árboles de Decisión Es un clasificador con una estructura de árbol. Regla de decisión para clasificar datos usando atributos. El árbol consiste de nodos interiores y nodos terminales. Nodo interior : pregunta sobre un atributo concreto (ramas mutuamente distintas y excluyentes) Nodo terminal u hoja: asociado a una clase. Color? Amarillo Verde Rojo Tamaño? Tamaño? Grande SANDIA Medio MANZANA Chico UVA Medio MANZANA Chico FRUTILLA Arboles de Clasificación Aprendizaje. Construcción del árbol a partir de un conjunto de muestras. Clasificación. Preguntas sobre los valores de los atributos, empezado por el nodo raíz y siguiendo el camino determinado por las respuestas a las preguntas de los nodos internos, hasta llegar a un nodo hoja. La etiqueta asignada a esta hoja es la que se asignará al patrón a clasificar. Árboles de Decisión Fácilmente interpretables: interpretación de las clases en función de los atributos. Ej: MANZANA=(verde y medio) o (rojo y medio). Permite explicar decisiones. Adecuados para datos cuantitativos y cualitativos. Clasificación es rápida. Permite incluir conocimiento a priori de expertos Explicitan utilidad de las características. Benchmarck (referencia) para evaluar desempeño, a veces alcanza el desempeño de clasificadores complejos. Requerimientos Objetos expresables en términos de una colección fija de atributos o propiedades. Es necesario discretizar atributos continuos o lo debe hacer el algoritmo. Las clases deben estar predefinidas (aprendizaje supervisado. Datos suficientes: usualmente cientos o miles de muestras de entrenamiento. Construcción del árbol a partir de un conjunto de muestras de entrenamiento. Construcción de árboles de decisión (CART, ID3, C4.5) Cart: (classification and regression trees) Breimer 1984 ID3, C4.5 Quinlann 1992 Partimos de patrones etiquetados (D) ? ? ? Principio fundamental: simplicidad del árbol (principio parsimonia o “navaja de Occam”) Construcción Proceso recursivo: dados los patrones que llegan a un nodo: declarar el nodo terminal- asigna clase ó encontrar una nueva característica y volver a dividir los patrones. Preguntas: ¿Dos ramificaciones o más? ¿Qué atributo en cada nodo? ¿Cuando un nodo es terminal ? ¿Cómo asignar la clase? Árboles Binarios Número de ramificaciones: Binarias No binarias Color verde? si Color amarillo? si no Cualquier decisión (cualquier árbol) puede representarse usando sólo decisiones binarias. Nos concentraremos en árboles binarios (son los usados en algoritmos prácticos) : Poder expresivo universal de los árboles binarios. Simplicidad comparativa del entrenamiento. Construcción del árbol de clasificación Nodo raíz- tiene a todos los prototipos Parto el nodo raíz: Para una característica elijo la mejor partición que separe a los prototipos en clases más puras. Realizo lo mismo para las otras características. Repito para los nodos hijos hasta llegar a condición de parada (nodo hoja). Los prototipos asociados a un nodo hoja agrupamiento homogéneo, al nodo se le asigna una etiqueta. Selección de las particiones ¿De qué forma se hacen las particiones y se selecciona la mejor de entre las posibles en cada momento? Objetivo de una partición: es incrementar la homogeneidad de los conjuntos resultantes que sean mas puros. Medida de pureza nodo: Impureza del nodo N: i(N). Criterios de partición Función de impureza N definida sobre c - uplas de la forma d1,d 2 ....d c tales que : c d j 0 y d j 1 1 Impureza máxima max : cuando 1/c, 1/c,....1/c clases estan representadas en la misma proporción. Impureza mínima min 0 : cuando 1, 0,....0 todos los patrones son de una clase. i N Pw1 , Pw2 ...Pwc # j N ˆ Pw j P(x w j / N ) # N Bondad de una partición N PD PI s NI ND Bondad de la partición s en un nodo N s,N : decrecimie nto en impureza s,N Δi s,N iN -PI iN I PDiN D Impureza de un árbol I T I N iN PN N T N T La selección continua de particiones que maximizan Δ i(s,N) es equivalent e a encontrar las particiones que minizan la impureza global I T . La suma es en el conjunto de nodos terminale s. Criterios de medida de impureza Impureza de entropía – Información (ID3, C4.5) i N Pw j log 2 Pw j c j 1 i N min 0 i N máx log 2 c iN 0 Criterios de medida de impureza Impureza de Gini (varianza) (CART) i ( N ) P( w1 ) P ( w2 ) c i ( N ) P( wi )P ( w j ) i j i ( N ) min 0 i ( N ) máx c2 c 2 i ( N ) 1 / 2 1 P ( w j ) j 1 (c 1) 2c Interpretación- Gini Esta es la Tasa de error esperado en el nodo N : si la clase a asignar al nodo N se sortea en forma aleatoria usando la distribución de clases presente en el nodo N. P( w1 )(1 P( w1 )) P( w1 )( P( w2 ) P( w3 )... P( wc )) P(w )(1 P(w )) P(w ) P(w ) i i i i i i i 2 1 P( wi ) i 2 Criterios de medida de impureza Impureza de error de clasificación i( N ) 1 máx( P( w j )) j Error de clasificación si se asigna al nodo N la clase de la mayoría. Es la medida más picuda de las tres cuando las probabilidades son iguales. Derivadas discontinuas, complica búsqueda de decisión optima. Fig: Hastie Entropía y Gini más sensibles Gini más picudo cuando las probabilidades son iguales. Entropía o Gini se usan para crecer el árbol y error de clasificación para podarlo. Ej: Error de clasificación Gini Entropía (90,10) 0,1 0,09 0,33 (45,5) (5,45) 0,1 0,09 0,33 0,066 0,19 (70,0) (10,20) 0,1 Criterios de partición ¿Cuál es la mejor característica? La que maximiza el decremento de impureza i N iN PI iN I 1 PI iN D Características nominales (color verde?): probar con cada una y seleccionar la de mayor ∆i . Decisiones sobre características ordinales o continuas: primero encontrar el límite de decisión óptimo para cada característica y luego elegir la mejor. Ejemplo email/spam palabra clave: free,gift, offer, price presente/ausente : x={1,1, 0,1} m =e+s free? si si spam spam offer? si m1=e1+s1 no email Obs: no se repiten las características no m2=e2+s2 Ejemplo m =e+s si m1=e1+s1 no m2=e2+s2 e e s s log 2 log 2 m m m m m1 e1 e1 s1 s1 m2 e2 e2 s2 s2 log 2 log 2 log 2 log 2 m m1 m1 m1 m1 m m2 m2 m2 m2 i( N ) Incorporación de atributos continuos Requiere la discretización de las características para poder incluirlas en el proceso de aprendizaje. Genero una característica por ejemplo booleana comparando la característica continua contra un umbral. Eligiendo el umbral que produzca la mejor ganancia de entropía. Ejemplo Característica continua: frecuencia de aparición Se determina primero el límite de decisión óptimo “free” frec.% “offer” frec.% 0 0.1 0.2 0.5 0.7 1.2 email email spam email spam spam spam spam email spam Punto medio o promedio ponderado Límites de decisión z2 si z1 no spam z2 z2 x x x x no x email R2 R2 R1 offer<0,35? email free<0,65? Capacidad expresiva limitada de los límites de decisión R1 free<0,15? si R1 x x x spam Obs: Se puede volver a usar una característica. z1 Pierde facilidad de interpretación z1 Optimalidad de la solución Optimalidad de decisión local: elegir el mejor atributo en cada nodo). No garantiza la optimalidad global (por ejemplo el número mínimo de nodos) La elección de la función de impureza no es tan determinante como la elección del criterio de parada y los métodos de podado. Árbol muy grande sobreajustará a los datos, muy pequeño puede perder capacidad de discriminación. Tamaño: parámetro que gobierna la complejidad del modelo. Debe elegirse de acuerdo a los datos. Se busca árbol más simple, más compacto. Occam´s razor. Criterio de parada Hacen crecer el árbol hasta el mínimo de impureza. Desventaja: sobre-ajuste (overfiting) Alternativas: Pre-podado: Detener el crecimiento Pos- podado: Crecer hasta el límite y luego podar Criterios de Parada 1. Validación (cruzada): entrenamiento (90%), test (10%). Desventaja: se usan menos datos para entrenar. Paro partición cuando error comienza a crecer. E test entrenamiento 2. 3. Umbral sobre la reducción de impureza: ∆i (N)≤β. Árbol depende del β elegido por diseñador. Umbral sobre la cantidad de patrones en un nodo. Continuar creciendo el árbol con “pocos” patrones produciría sobreajuste. (Particiones chicas en zonas densas y grandes en zonas dispersas similar k-vecinos). Criterios de parada 4. Penalizar la complejidad del árbol T min C T min iN T m1 Tamaño: # nodos, #hojas . Depende de elección de α.>0 MDL: descripción de largo mínimo- si se utiliza impureza basada en entropía. Minimiza la suma de la complejidad del modelo y la descripción de los patrones dado el modelo. Dificultad determinar relación entre α y desempeño del clasificador . Criterios de parada 5. Test de hipótesis- mide si reducción de impureza es estadísticamente significativa. Compara la distribución de clases en un nodo con la distribución de clases luego de hacer la ramificación y establecer si son significativamente distintos usando un test de hipótesis. Test ji-cuadrado: (o Pearson). Determinar si la distribución de eventos observados en una muestra es consistente con una cierta distribución teórica. (Eventos excluyentes y probabilidad total =1) Criterios de parada C2 I nI 1 ne1 2 2 n n1 n2 w1 , w2 ne1 nI 2 ne 2 2 ne 2 nI ne1 Pn1 n1 n queremos ver si la partición s es distinta de randomica. 2 I D 2 2 2 n n 2 2 I D 2nD 2nI x<xs n=nI+nD nI=nI1+nI2 nD=nD1+nD2 Hipótesis nula: las distribuciones son iguales Umbral para cierto nivel de confianza 2 0.01(1) Nivel de confianza 2 6.64 2 6.64 : 2 6.64 Grados de libertad: c-1 rechazamos H0 : hacemos ramificación aceptamos H0 : se detiene crecimiento (nodo terminal) umbral establecido por el usuario 0 árbol completo 10 podado severo 2 2 Métodos de podado (pos-podado) Efecto horizonte: al detener el crecimiento podemos perder ramificaciones posteriores beneficiosas. Alternativa: crecer el árbol completamente y podarlo luego. Preferible si es computacionalmente tolerable. Idea: estimar error con y sin la ramificación y decidir si vale la pena (si no unir los nodos) x<xs? Métodos de podado 1. Remplazo de sub-árbol Conjunto independiente para podado. Comenzando desde hojas y hacia la raíz, remplazo nodo con hoja etiquetada por clase mayoritaria. Calculo error en el conjunto de podado si es menor remplazo nodo por hoja. Obtengo árbol óptimo (para conjunto podado). El podado por mínimo costo- complejidad puede remplazar un sub-árbol complejo por una hoja directamente. Poda por mínimo coste-complejidad Complejidad de un subarbol como el número de nodos terminales, |T |. Error de clasificación R(T). Medida de coste-complejidad : R (T) = R(T) + |T | 0:parámetro de complejidad R (T ( )) min R (T ) T Tmax Selección del mejor árbol podado Escoger aquel que tenga asociado el menor error R*(Tk) ¿cómo estimar honestamente R*(Tk)?. Estimación por validación cruzada. Métodos de podado 2. Elevación de Sub- árbol Usando todo los datos para entrenamiento Es más compleja y no necesariamente siempre es útil: Usada en C4.5. Estima el error cometido en un nodo cuando sustituyo sub-árbol por una de sus ramas. Top/down. C4.5 Usa heurística para podado basada en la significancia estadística de las particiones. Terminamos con un conjunto de reglas simplificada que definen cada nodo terminal. No usa características sustitutas cuando faltan datos. No siempre sigue una estructura de árbol. Árboles Inestabilidad: sensibles al conjunto de entrenamiento, alta varianza. Pequeño cambio en los datos puede generar gran cambio en particiones, haciendo interpretación precaria. Alternativas: Bagging, Random Forest, Option Trees. Priors y costos: Es posible incluir priors o costos pesando los patrones de entrenamiento con el prior o los costos. i( N ) i , j P( wi ) P( w j ) Ej: Índice de Gini: i, j Datos faltantes Construir el árbol usando los patrones que tienen definida la característica. Ej: Si falta x2 para un patrón x={x1, x2, x3} i(N) con n patrones para x1 y x3, con n-1 para x2 Procedimiento: Luego de elegir una característica para una ramificación, elegir características suplentes en orden (surrogante) considerando la correlación entre características. Datos faltantes Ej: correlación =# patrones a la izquierda por ambas decisiones + # patrones a la derecha por ambas decisiones En la clasificación si el atributo sobre el que hay que decidir falta se usa el siguiente suplente. Duda ¿Qué clasificador es mejor? Algunos criterios: Criterio de crecimiento: impureza de entropía funciona bien regla defecto. Podado preferible a parada con validación cruzada. Aunque podado de conjunto de datos grandes puede ser inabordable. No hay un árbol superior a otro. Logran desempeño similar a otros métodos como redes neuronales, k-vecinos. Particularmente útiles con datos no métricos. Fortalezas y debilidades de Arboles Interpretabilidad de las reglas de decisión Bajo costo computacional para clasificar Pueden usar características continuas y categóricas Entrenamiento computacionalmente caro (postpoda) No tratan bien regiones no-rectangulares.