Clasificación Supervisada Santiago González Tortosa
Contenidos Introducción Algoritmos de clasificación supervisada KNN Naive Bayes ID3 Métodos de Validación Resustitución Hold-out N fold cross-validation Leave one out 0.632 Bootstrap Medidas de Validación Brier Score Log Likelihood AURC Hosmer Lemeshow Mecanismos filter Mecanismos wrapper Referencias Clasificación Supervisada
Introducción Tipos de variables o atributos: Clasificación El problema general se basa en clasificar N individuos (instancias) procedentes de una muestra, en función de una serie de n variables (atributos) (X1, X2,...,Xn). Tipos de variables o atributos: Discretos: son aquellos para los que se dan, de modo inherente, separaciones entre valores observables sucesivos. Ejemplos: medios de transporte, tipologías de enfermedad, etc. Continuos: Su propiedad nos indica que 2 cualesquiera valores observables, hay otro valor observable. Toma valores a lo largo de un espacio continuo. Ejemplos: longitudes, pesos, etc. Clasificación Supervisada
Introducción Ejemplo variable discreta variables o atributos instancias o individuos variable continua Clasificación Supervisada
Introducción Discretización de variables continuas Divide el rango de atributos continuos en Intervalos Almacena solo las etiquetas de los intervalos Importante para reglas de asociación y clasificación, algunos algoritmos solo aceptan datos discretos. Clasificación Supervisada
Introducción Discretización por igual amplitud Clasificación Supervisada
Introducción Discretización por igual frecuencia Clasificación Supervisada
Introducción Dos criterios de clasificación: Clasificación supervisada Clasificación no supervisada (siguiente tema) Clasificación Supervisada
Introducción Clasificación Supervisada Se parte de un conjunto de M clases conocido a priori. Estas clases deben caracterizarse en función del conjunto de variables (atributos) mediante la medición de las mismas en individuos. Cada individuo debe pertenecer, al menos, a una clase. A partir de un conjunto de individuos con clase asignada (conjunto de entrenamiento) se debe estimar las clases de los individuos de otro conjunto (conjunto de test) Clasificación Supervisada
Introducción Clasificación Supervisada Clasificación Supervisada
Introducción Clasificación Supervisada Tasa de acierto: (a+d)/Suma Tasa de error: (c+b)/Suma Verdaderos positivos (sensibilidad): a/a+c Verdaderos negativos (especificidad): d/b+d Falsos positivos: b/a+c Falsos negativos: c/b+d Clasificación Supervisada
Introducción Ejemplo Tasa de acierto: 4/6 Tasa de error: 2/6 Verdaderos pos: 2/3 Verdaderos neg: 2/3 Falsos pos: 1/3 Falsos neg:1/3 Clasificación Supervisada
Contenidos Introducción Algoritmos de clasificación supervisada KNN Naive Bayes ID3 Métodos de Validación Resustitución Hold-out N fold cross-validation Leave one out 0.632 Bootstrap Medidas de Validación Brier Score Log Likelihood AURC Hosmer Lemeshow Mecanismos filter Mecanismos wrapper Referencias Clasificación Supervisada
Algoritmos de clasificación supervisada
Algoritmos de clasificación supervisada Algoritmos lazy El aprendizaje del conjunto de aprendizaje se realiza a la vez que se estima las clases del conjunto de test. Algoritmos probabilísticos Uso de la probabilidad y estadística para el aprendizaje y estimación de clases. Nuevo concepto: probabilidad de que un individuo pertenezca a una clase u otra. Arboles de decisión Representación del conocimiento y relación de los atributos y la clase usando arboles (binarios o no). Redes neuronales Uso del concepto de neurona artificial (simula la neurona del cerebro) Se entrena una red de neuronas interconectadas con los individuos para cada clase. Con esto, al presentarle un individuo nuevo en sus entradas, la red dará como resultado la clase a la cual pertenece. Clasificación Supervisada
Algoritmos de clasificación supervisada Algoritmos presentados en clase: Algoritmo lazy: KNN (K Nearest Neighbour) Algoritmo probabilístico: Naive Bayes Árbol de decisión: ID3 (Induction Decision Trees) Objetivo común: Obtener y estimar las clases del conjunto de test de individuos Obtener la menor tasa de error en las clases estimadas Clasificación Supervisada
KNN Idea: basarse en los K individuos “más cercanos” al individuo al que se desea obtener su clase. Es necesario calcular la distancia entre individuos para saber cuales son más cercanos (euclidea, manhattan, etc.) Variables iniciales necesarias: Numero de vecinos: K Calculo de distancia: d(x,y) Conjunto de datos de aprendizaje Individuo del conjunto de test Clasificación Supervisada
KNN Distancia euclidea Distancia Manhattan Muy parecida a la distancia euclidea Diferencia: eliminando de la ecuación la raiz cuadrada y sustituyendo el cuadrado de cada valor (pi-qi) por su valor absoluto. Clasificación Supervisada
KNN Ejemplo representado con K = 3, dos atributos y distancia euclidea Clasificación Supervisada
KNN Pseudocódigo del algoritmo Clasificación Supervisada
Naive Bayes Teorema de Bayes Siendo D los datos y H la hipótesis, ambos discretos: p(H | I ) se denomina probabilidad prior y representa el nivel de confianza en la hipótesis sin utilizar los datos p(D | H, I ) se denomina verosimilitud y representa lo verosímiles que son los datos si la hipótesis es cierta La verosimilitud sirve para transformar la probabilidad prior en posterior: p(H | D, I ) se denomina probabilidad posterior y representa el nivel de confianza en la hipótesis a la luz de los datos p(D| I ) se denomina evidencia y en muchas aplicaciones solo cumple una función de normalización, pues no depende de H Clasificación Supervisada
Naive Bayes Ejemplo: Un taxi golpea a una persona de noche y huye. En la ciudad operan don compañías de taxis: la verde y la azul. El 85% de los taxis de la ciudad son verdes y el 15% restante, azules. Una testigo identifica el taxi como azul. El jurado estima la fiabilidad de la testigo en un 80%. ¿Cuál es la probabilidad de que el taxi del accidente fuera azul? Clasificación Supervisada
Naive Bayes Las probabilidades a priori sin disponer del testimonio de la testigo son: P(H=verde) = 0.85 P(H=azul) = 0.15 Buscamos la probabilidad a posteriori de que la compañía sea azul, conociendo la identificación de la testigo: ¿¿P(H=verde|D=azul)?? Clasificación Supervisada
Naive Bayes La verosimilitud es fácil de calcular: P(D = azul | H = verde) = 0.20 P(D = azul | H = azul) = 0.80 El dato de que disponemos es que la testigo afirma que la compañía responsable es la azul. Este dato es más verosímil cuando aceptamos la hipótesis de que la compañía azul es responsable (80% frente a 20%). Si nuestro criterio fuera optimizar la verosimilitud, concluiríamos que la compañía responsable es la azul. Clasificación Supervisada
Naive Bayes Concluimos: P(H=verde|D=azul) = P(D=azul|H=verde) x P(H=verde) / P(D=azul) P(D=azul) = P(D=azul|H=azul) x P(H=azul) + P(D=azul|H=verde)x P(H=verde) P(D=azul) = 0.2 x 0.85 + 0.8 x 0.15 = 0.17 + 0.12 = 0.29 P(H=verde|D=azul) = 0.2 x 0.85 / 0.29 = 0.59 Clasificación Supervisada
Naive Bayes El método conocido como Naive Bayes aproxima el valor de la verosimilitud suponiendo que los atributos son independientes: La aproximación es distinta, puesto que no se fija la hipótesis: Clasificación Supervisada
Naive Bayes Cuando las hipótesis son varias: Clasificación Supervisada
ID3 Objetivo: Construir un árbol de decisión que explique cada instancia de la secuencia de entrada de la manera más compacta posible a partir de una tabla de inducción. Crear un árbol de decisión como un método para aproximar una función objetivo de valores discretos, que es resistente al ruido en los datos y que es capaz de hallar o aprender de una disyunción de expresiones. El resultado puede expresarse como un conjunto de reglas Si-entonces. Intenta encontrar el árbol más sencillo que separa mejor los ejemplos. Es recursivo. Utiliza la ganancia para decidir que atributo es mejor en cada iteración del algoritmo. Clasificación Supervisada
Clasificación Supervisada
ID3 El atributo mas discriminativo es aquel que tiene más ganancia: G (C,Attr1) = E (C) - ∑ P(C|Attr1=Vi) * E (Attr1) donde E (Attr1) = - ∑ P(Attr1=Vi ) * log2(P(Attr1=Vi )) = = - ∑ P(Attr1=Vi ) * ln(P(Attr1=Vi )) / ln(2) Clasificación Supervisada
ID3 Ejemplo Clasificación Supervisada
ID3 Ganancia(AdministrarTratamiento,Gota) = G(AT,G) G(AT,G) = E(AT) – P(G=Si) x E(G=Si) – P(G=No) x E(G=No) E(G=Si) = - P(AT=Si|G=Si) * log2(P(AT=Si|G=Si)) - P(AT=No|G=Si) * log2(P(AT=No|G=Si)) = = - 3/7 * log2 (3/7) – 4/7 * log2 (4/7) = 0.985 E(G=No) = - P(AT=Si|G=No) * log2(P(AT=Si|G=No)) - P(AT=No|G=No) * log2(P(AT=No|G=No)) = - 6/7 * log2 (6/7) – 1/7 * log2 (1/7) = 0.592 E(AT)=- P(AT=Si)* log2(P(AT=Si)) - P(AT=No)* log2(P(AT=No)) = = - 9/14 * log2(9/14) - 5/14 * log2(5/14) = 0.940 P(AT,G) = 0.94 – P(G=Si) x 0.985 – P(G=No) x 0.592 = = 0.94 – (7/14) x 0.985 – (7/14) x 0.592 = 0.151 Clasificación Supervisada
ID3 Que atributo tiene mayor ganancia?? Clasificación Supervisada
ID3 Una vez seleccionado el atributo “Presión Arterial”: Clasificación Supervisada
ID3 Después de varias iteraciones, el árbol resultante sería: Clasificación Supervisada
Contenidos Introducción Algoritmos de clasificación supervisada KNN Naive Bayes ID3 Métodos de Validación Resustitución Hold-out N fold cross-validation Leave one out 0.632 Bootstrap Medidas de Validación Brier Score Log Likelihood AURC Hosmer Lemeshow Mecanismos filter Mecanismos wrapper Referencias Clasificación Supervisada
Métodos de Validación Para poder validar los resultados obtenidos en el aprendizaje de algoritmos de clasificación supervisada, es necesario disponer de mecanismos y medidas de validación. Métodos de validación: Resustitución Hold-out Leave one out N fold cross-validation 0.632 Bootstrap Clasificación Supervisada
Métodos de Validación Resustitución Clasificación Supervisada
Métodos de Validación Hold-out Clasificación Supervisada
Métodos de Validación N-fold cross validation Clasificación Supervisada
Métodos de Validación Leave-one-out N-cross fold validation cuando N = dim(Datos) Clasificación Supervisada
Métodos de Validación 0.632 Bootstrap Clasificación Supervisada
Contenidos Introducción Algoritmos de clasificación supervisada KNN Naive Bayes ID3 Métodos de Validación Resustitución Hold-out N fold cross-validation Leave one out 0.632 Bootstrap Medidas de Validación Brier Score Log Likelihood AURC Hosmer Lemeshow Mecanismos filter Mecanismos wrapper Referencias Clasificación Supervisada
Medidas de Validación Las medidas de validación nos cuantifica como de bueno es el algoritmo de clasificación frente a los datos, utilizando un método de validación. Calibración y Discriminación Medidas: PBC o Accuracy Brier Score Log Likelihood AURC Hosmer Lemeshow Clasificación Supervisada
Medidas de Validación Calibración Discriminación Estima la distancia entre los valores observados (reales) y los predichos. Valores continuos [0,∞) Discriminación Estima la probabilidad de clasificación. Valores continuos [0,1] En una clasificación, se desea tener la menor calibración posible y la mayor discriminación posible Clasificación Supervisada
Medidas de Validación Ejemplo de Calibración y Discriminación: Clase real: 1 Clase estimada: 0.6 Discriminación: 1 (maxima) suponiendo que Si Cestimada > 0.5 entonces Cestimada = 1 Calibración: 0.4 (1-0.6) Clasificación Supervisada
Medidas de Validación Brier Score Medida de calibración para un clasificador que asigne, para cada patrón, probabilidades a posteriori a cada valor de la clase. Cuanto menor valor de Brier, mejor clasificador (más seguro en predicciones) Clasificación Supervisada
Medidas de Validación Log Likelihood Función de Máxima verosimilitud (negativa) Se utiliza para estimar coeficientes de un modelo de “regresión logística” Calcula la calibración del clasificador. Tiene cierta relación con la discriminación. Cuanto mayor log likehood, menor calibración. Clasificación Supervisada
Medidas de Validación AURC (Area Under ROC Curve) Calcula discriminación del clasificador Comportamiento de clasificación independientemente del error. Cuanto mayor AURC, mejor discrimina el clasificador TPR: Ciertos positivos FPR: Falsos positivos Clasificación Supervisada
Medidas de Validación Ejemplo AURC Clasificación Supervisada
Medidas de Validación Hosmer Lemeshow Dividir la muestra en X grupos del mismo número de individuos Comparativa entre clase real y predicha Yj es la suma de los valores 1 de cada grupo Pj es la media de los valores predichos en cada grupo Clasificación Supervisada
Medidas de Validación Hosmer Lemeshow VS Log Likelihood Aparentemente distintos Resultados empíricamente iguales Por tanto, utilizaremos el Log Likelihood Clasificación Supervisada
Contenidos Introducción Algoritmos de clasificación supervisada KNN Naive Bayes ID3 Métodos de Validación Resustitución Hold-out N fold cross-validation Leave one out 0.632 Bootstrap Medidas de Validación Brier Score Log Likelihood AURC Hosmer Lemeshow Mecanismos filter Mecanismos wrapper Referencias Clasificación Supervisada
Mecanismos filter Mecanismo para filtrar y eliminar cierta información del conjunto de datos inicial, con el fin de eliminar posible ruido del mismo Mejora la clasificación supervisada ¿Qué se necesita previamente? Conjunto de datos de aprendizaje/test Criterio de evaluación de información Clasificación Supervisada
Mecanismos filter Uso de mecanismos filter: Ranking de atributos Evalua cada uno de los atributos según un criterio específico, indicado previamente Se realiza un ranking con todos los atributos evaluados, ordenados de mayor a menor. Se seleccionan los X mejores atributos, eliminando aquellos atributos que generan mas ruido en el conjunto de datos Clasificación Supervisada
Contenidos Introducción Algoritmos de clasificación supervisada KNN Naive Bayes ID3 Métodos de Validación Resustitución Hold-out N fold cross-validation Leave one out 0.632 Bootstrap Medidas de Validación Brier Score Log Likelihood AURC Hosmer Lemeshow Mecanismos filter Mecanismos wrapper Referencias Clasificación Supervisada
Mecanismos wrapper Mecanismo iterativo consistente en la modificación de distintas características que influyen directamente en la clasificación, con el fin de mejorar la estimación de clases. Trata de mejorar la medida de validación Posibilidad de usar algoritmos de optimización ¿Qué se necesita previamente? Conjunto de datos de aprendizaje/test Seleccionar un algoritmo de aprendizaje supervisado Seleccionar una técnica de validación Seleccionar una medida de validación Decidir que característica se desea modificar Clasificación Supervisada
Mecanismos wrapper Usos de mecanismos wrapper: Selección de variables o atributos (Feature Subset Selection) Seleccionar aquellas variables importantes en el aprendizaje supervisado En cada iteración se seleccionan distintos atributos, y se realizan aprendizaje y validación (dependiendo de las técnicas y medidas seleccionadas) Nos quedamos con aquella selección de atributos que obtenga la mejor medida de validación. Clasificación Supervisada
Mecanismos wrapper Algoritmos de optimización aquellos que permiten optimizar una función objetivo de forma iterativa, a partir de ciertos parámetros de entrada. Algoritmos típicos: Métodos estocásticos Simulated Annealing, etc. Métodos heurísticos Tabu search, etc. Métodos evolutivos Algoritmos genéticos, EDAs, etc. Clasificación Supervisada
Contenidos Introducción Algoritmos de clasificación supervisada KNN Naive Bayes ID3 Métodos de Validación Resustitución Hold-out N fold cross-validation Leave one out 0.632 Bootstrap Medidas de Validación Brier Score Log Likelihood AURC Hosmer Lemeshow Mecanismos filter Mecanismos wrapper Referencias Clasificación Supervisada
Referencias Han, J., Kamber, M.; Data Mining: Concepts and Techniques Morgan Kaufman Publishers; 2000 Hernández-Orallo J y otros; Introducción a la Minería de datos Pearson Education; 2004 Ian H. Witten, Eibe Frank; Data Mining: Practical Machine Learning Tools and Techniques Morgan Kaufmann; 2005 Mitchell, T.; Machine Learning McGraw-Hill Science/Engineering/Math; 1997 Soukup, T.; Visual Data Mining: Techniques and Tools for Data Visualization and Mining John Wiley & Sons; 2002 David L. Olson and Yong Shi; Introduction to Business Data Mining Mc-Graw-Hill; 2005 Clasificación Supervisada
Clasificación Supervisada Santiago González Tortosa