450 likes | 593 Views
Local Voting of Weak Classifiers. S. Kotsiantis . and P. Pintelas Educational Software Development Laboratory, Department of Mathematics, University of Patras, Greece. Introducción Local Learning Antecedentes Conjuntos de clasificadores Bagging Boosting AdaBoost Output Coding
E N D
Local Voting of Weak Classifiers S. Kotsiantis. and P. Pintelas Educational Software Development Laboratory, Department of Mathematics, University of Patras, Greece
Introducción Local Learning Antecedentes Conjuntos de clasificadores Bagging Boosting AdaBoost Output Coding Stacked Generalization Meta-Algoritmos Propuesta Anterior La Propuesta El Algoritmo Clasificadores Usados One Per Class Regla de la Suma Hipótesis Clase Resultante Otros Parámetros Resumen Experimentos y Resultados Ventajas del Local Voting sobre el Simple Voting Conclusiones Agenda
Introducción • Uso de múltiples clasificadores para resolver problemas complejos • Se encuentran diferentes patrones de clasificación • A mayor desagregación de los datos menores errores de cada subgrupo y menor es el error de la clasificación combinada
Aprendizaje Local • Modelos locales que se entrenan independientemente de los demás modelos locales, creando un sistema de aprendizaje robusto que trabaja sobre todo el conjunto • No se afecta por lo compleja que puede llegar a ser la función de aprendizaje • Se usa en conjuntos de datos complejos • El conjunto de datos se divide en subconjuntos????
Aprendizaje Local • Problema: Para una buena generalización hay que controlar el algoritmo de entrenamiento evitando overfiting y ruido • Aprendizaje local es una extensión del aprendizaje basado en instancias, que a su vez es una extensión del algoritmo de vecinos cercanos
Antecedentes • El algoritmo de vecinoscercanos trata de encontrar una solución al problema del viajero frecuente. Lo que hace es tomar un conjunto de entrenamiento en el cual se agrupan los puntos como vecinos cercanos. Para predecir un punto desconocido, los clasificadores de los vecinos cercanos, encuentran el punto de entrenamiento más cercano, usando distancias y generan la categoría del nuevo punto. Necesita una gran capacidad de almacenamiento. http://www.radwin.org/michael/projects/learning/
Antecedentes • El algoritmo aprendizaje basado en instancias reduce la necesidad de almacenamiento y trabaja mejor porque distingue las instancias de ruido. Trabaja con algoritmos de aprendizaje supervisado como árboles de decisión, reglas de asociación y redes distribuidas, Sus características son: Tiene una función de similaridad, una selección de funciones de “distancias típicas” para decirle al algoritmo cuales instancias tomar como ejemplos y una función de clasificación para los nuevos casos. • http://www.cse.unsw.edu.au/~waleed/thesis/node37.html
Conjuntos de clasificadores • Cual algoritmo es el mas apropiado para un problema en particular? • Se prueban varios y se escoge el mejor. Generalmente usando Cross Validation • Bagging • Boosting • Output Coding • Stacked Generalization • Meta-Algoritmos
¿Que es Bagging? • Es un conjunto de métodos de “bootstrap” que crean clasificadores individuales para entrenar el mismo algoritmo de aprendizaje con una redistribución aleatoria del conjunto de entrenamiento. • Bootstrap: conjunto de entrenamiento tiene N instancias que se generan aleatoriamente con reemplazo. • Después de la predicción de varios clasificadores se hace un voto sobre las predicciones y se hacen las predicciones finales.
¿Que es Boosting? • El funcionamiento de clasificadores (débiles) simples se mejora combinándolos iterativamente • Mide el alcance del algoritmo de aprendizaje y se concentra en los conjuntos que no han aprendido correctamente modificando sus ejemplos. Se prueba un nuevo clasificador débil • Es un proceso cíclico donde se dan votos con peso. El peso esta condicionado por la exactitud de cada clasificador • El error de entrenamiento llega a cero, pero se continúa hasta minimizar el error general que es proporcional a la duma de todos los votos con peso. • AdaBoost es una adaptación de Boosting
¿Que es AdaBoost? • Meta algoritmo que se puede usar con otros algoritmos de aprendizaje pera mejorar el desempeño. • Se adapta a los resultados producidos por otros clasificadores • Trabaja bien con ejemplos mal clasificados por los otros clasificadores • Es sensible al ruido y outliers, pero no lo es tanto al overfitting
¿Que es Output Coding? • Toma un problema de clasificación con múltiples clases y lo convierte en un conjunto de sub-problemas de clasificación binaria. • Para cada clase se genera un “Codeword”, que es una cadena binaria de tamaño N, donde N son las característicasde las clases, entonces se entrena con cada ejemplo de una clase obteniendo una la función binaria que representa la clase y con el modelo entrenado se clasifican los nuevos ejemplos de acuerdo a la distancia de Hamming www.cs.cmu.edu/afs/cs/project/jair/pub/volume2/dietterich95a.pdf
¿Que es Stacked Generalization? • Combinación de multiples algoritmos de clasificación introduciendo un alto nivel de clasificación y mejorando la exactitud. • Se usan clasificadores para encontrar las salidas del conjunto original, este es el nivel 0 luego un algoritmo de aprendizaje combina estas salidas corre nuevos algoritmos de aprendizaje generando el nivel 1, que es la clasificación final • Puede verse como una mejora del Cross Validation
¿Que es Meta-Algoritmos? • Es un algoritmo que considera tener otros algoritmos y no solo operaciones elementales y control de estructuras. • Tiene algoritmos subordinados con reemplazo de variables y parámetros • Define una clase de algoritmos concretos
Propuesta Anterior • Reconocimiento de patrones, con el k-nearest neighbor method: • Es una extencion del algoritmo de vecinos cercanos donde K=1. • No solo esta revisando un unico punto x cercano al punto que se pretende clasificar q, sino que renisa k puntos, S = {x1, x2, ... , xk}, cercanos a q. las categorias de los puntos k son conocidas, asi se encunetra la mejor categoria parael punto q, si existe. De lo contrario se considera inconcluso. • Los problemas: uniformidad de las vecindades, uniformidad de los pesos para todos los ejemplos y vecindades. • Boosting localizado que es menos sensible al ruido que el Bosting generalizado, pero se basa en un solo algoritmo de aprendizaje.
Técnica Propuesta • Combinar métodos de aprendizaje que trabajen localmente así: • Los modelos de datos hacen predicción sobre una parte del conjunto seleccionado para entrenamiento y las predicciones se hacen con este aprendizaje • Permite extender algoritmos de aprendizaje en casos de datos complejos donde las creencias no son generales • evitan pasar por alto las singularidades • Ejemplo: la separación lineal no satisface problemas globales, pero aplicada localmente genera clases complejas con límites no lineales
Técnica Propuesta • Usar una variedad de algoritmos de aprendizaje localmente y combinar sus predicciones. • Trabajar con un numero de clasificadores para cada punto a clasificar tomando solo una parte del subconjunto de entrenamiento. • El subconjunto se escoge de acuerdo a la distancia entre los puntos. Se usa el voting solo para los puntos inciertos de un conjunto de prueba • Métodos de aprendizaje clasifican mejor los ejemplos que están en las fronteras de las clases
Técnica Propuesta • Esquema de votación local de clasificadores débiles. • Estos son: • Árboles de decisión, Redes Bayesianas y Reglas de aprendizaje • Beneficios: • Menos problemas de sobre entrenamiento porque aprenden de los outliers y toman decisiones en ambientes con ruido • El tiempo de entrenamiento es menor comparado con un solo clasificador fuerte • Se pueden combinar con Reglas de Decisión y Medidas de Distancia
El Algoritmo • Usar una metodología de votación como una regla de asociación con clasificadores débiles. • Votantes expresan el grado de confianza al usar un clasificador. • Ejemplo: probabilidades de predicción de los clasificadores • Los clasificadores son candidatos a ser elegidos por votación
Clasificadores Usados por el Algoritmo • OneR • Decision Stump, DS • Naive Bayes, NB http://en.wikipedia.org/wiki/Naive_Bayes_classifier Combinan rápidos procesos de aprendizaje y una aceptable exactitud en la clasificación
Problemática del algoritmo • El método de voto falla si no se produce al menos un 50 % de eficiencia en el aprendizaje con los clasificadores débiles. • Se propone reducir el problema de múltiples clases por un conjunto de problemas binarios. • Se usó aproximación One Per Class, OPC
¿ Que es One Per Class? • OPC es un clasificador específico se entrena con todos los ejemplos de casa clase, unos con etiquetas positiva y otros negativas. La salida escogida es la clase que corresponda al clasificador con el mas alto valor de salida
Técnica del Algorítmo • Regla de la suma: • Cada votante da la probabilidad de predicción para cada candidato • Todos los valores de confianza se suman para cada candidato y el candidato con la suma mas alta gana la elección
¿Por Que la Regla de la Suma? • Es uno de los mejores métodos para combinar clasificadores de acuerdoi con el estudio realizadopor M.Van Erp, L.G.Vuurpijl y L.R.B. Schomaker, en An overview and comparison of voting methods for pattern recognition,. • El número de instancias de entrenamiento para cada aprendizaje local no permite un segundo nivel de aprendizaje de máquina como en Stacking
Hipótesis • Cada clasificador genera una hipótesis , para cada conjunto de prueba usando un subconjunto del conjunto de prueba • Las probabilidades a posteriori generadas por cada clasificador individual se nombran como p1(i), p2(i), p3(i) , para la salida de cada clase i
Hipótesis • La clase por la máxima suma de las probabilidades a posteriori se selecciona para ser la hipótesis de votación (h∗)
Clase Resultante, CR • Argumento Máximo, am
Otros Parámetros • Función de similaridad Euclidiana • Para dos conjuntos de puntos de datos X =< x1, x2, x3, . . . , xn−1 > Y =< y1, y2, y3, . . . , yn−1 >,
Otros Parámetros • Valor k: • K fijado a priori, antes del proceso de aprendizaje, pero el mejor k para un conjunto de datos no es el mejor para otro • K generado automáticamente usando criterios de minimización de costos. Aplicando un proceso de selección, evaluando el error que se produce para cada k. • Los Investigadores usaron K=50 porque mantenía bajo el tiempo de entrenamiento y por el tamaño de las instancias con k=50 es apropiado para un algoritmo simple para construir un modelo preciso de acuerdo con E. Frank, M. Hall and B. Pfahringer, Locally weighted naive Bayes. Proc. of the 19th Conference on Uncertainty in Artificial. Intelligence, Acapulco, Mexico. Morgan Kaufmann, 2003.
Resumen • Determinar la medida de distancia mas conveniente.( Distancia Euclidiana) • Encontrar los k vecinos cercanos usando la medida de distancia seleccionada. 3) Entrenar el clasificador suave usando los ejemplos de entrenamiento de los k ejemplos. 4) Aplicar la Regla de la suma para el voto y decidir cual clasificador escoger 5) La respuesta de los conjuntos de votos es la para predicción de la clase resultante del ejemplo de prueba.
Experimentos • Se experimento con 33 conjuntos de datos C.L. Blake and C.J. Merz, UCI Repository of machine learning databases. Irvine, CA: University of California, Department of Information and Computer Science (1998). http://www.ics.uci.edu/˜mlearn/MLRepository.html • Se trataron problemas con variables continuas, discretas y simbólicas • Conjuntos de datos con valores perdidos • Tipos de conjuntos: Reconocimiento de patrones, reconocimiento de imágenes, diagnostico médico , juegos de computadores, aplicaciones agrícolas y otros • Se realizaron 3 Experimentos
Características de los Experimento • Para calcular la eficiencia de los clasificadores, todo el conjunto de entrenamiento se dividió en 10 subconjuntos mutuamente excluyentes y de igual tamaño. • Cada subconjunto se entrenó con Cross Validation y fold 10
Experimento ·1 • Se usaron los tres clasificadores simples Nb, Ds, OneR, con K=50 y se compararon con cada uno de ellos por separado • v significa que un algoritmo específico tiene un mejor alcance superior al 5% el algoritmo propuesto • *Significa que el Local Voting of Weak Classifiers tiene un mejor alcance. • Resultados agregados a/b/c. • a el algoritmo propuesto es menos exacto en los 31 conjuntos • b no hay resultados significativos • cel algoritmo es mas exacto
Experimento ·2 • Se uso la versión con Boosting de Nb, Ds, OneR • Se usaron 25 sub-clasificadores y la versión local de boosting de los mismos clasificadores
Experimento ·3 • Metodologìa para seleccionar el mejor clasificador de NB, DS, OneR con 3 cross validation • Votos en los clasificadores base • Stacking usando NB, DS, OneR con MLR como meta-clasificadores • StackingC usando NB, DS, OneR con MLR como meta-clasificadores y solo las probabilidades asociadas a las clases reales como conjunto meta-data
Ventajas del Local Voting sobre el Simple Voting • Sobre la línea el Local Voting es mejor que el Simple Voting • El algoritmo es mejor que los desarrollados hasta el momento • La mejora en la exactitud del método es mas del 2% sobre los anteriores porque el algoritmo esta mas asociado a las tareas, sin omitir pasos intermedios en la clasificación y generando hiperplanos intermedios • Cuando las características de una clase están dispersas y solo se observan en pequeños grupos, Local Voting es mas efectivo
Conclusiones • Uno de los principales problemas en las metodologías de aprendizaje global de la selección del modelo • El procesamiento de datos es diferente hasta que se obtiene una respuesta de los sub-modelos • El algoritmo LV demostró mejoras que los algoritmos trabajados por separado
Conclusiones • Escala bien en conjuntos de datos peresosos, Confusos y en grandes conjuntos de datos
[1] D. Aha, Lazy Learning, Dordrecht: Kluwer Academic Publishers, 1997. [2] C.G. Atkeson, A.W. Moore and S. Schaal, Locally weighted learning for control, Artificial Intelligence Review 11 (1997), 75–113. 248 S. Kotsiantis and P. Pintelas / Local voting of weak classifiers [3] C.L. Blake and C.J. Merz, UCI Repository of machine learning databases. Irvine, CA: University of California, Department of Information and Computer Science (1998). [http://www.ics.uci.edu/˜mlearn/MLRepository.html]. [4] L. Breiman, Bagging Predictors, Machine Learning 24(3) (1996), 123–140, Kluwer Academic Publishers. [5] J.G. Cleary, G. Holmes, S.J. Cunningham and I.H. Witten, MetaData for database mining, Proc IEEE Metadata Conference, 1996, Silver Spring, MD; April. [6] T.G. Dietterich and G. Bakiri, Solving multiclass learning problems via error correcting output codes, Journal of Artificial Intelligence Research (2) (1995), 263–286. [7] T.G. Dietterich, Ensemble methods in machine learning, in: Multiple Classifier Systems, (LNCS Vol. 1857), J. Kittler and F. Roli, eds, Springer, 2001, pp. 1–15. [8] P. Domingos and M. Pazzani, On the optimality of the simple Bayesian classifier under zero-one loss, Machine Learning 29 (1997), 103–130. [9] M.Van Erp, L.G.Vuurpijl and L.R.B. Schomaker, An overview and comparison of voting methods for pattern recognition, In Proceedings of the 8th International Workshop on Frontiers in Handwriting Recognition, 2002, 195–200, Niagara-on-the- Lake, Canada. [10] E. Frank, M. Hall and B. Pfahringer, Locally weighted naive Bayes. Proc. of the 19th Conference on Uncertainty in Artificial Intelligence, Acapulco, Mexico. Morgan Kaufmann, 2003. [11] Y. Freund and R. Schapire, Experiments with a New Boosting Algorithm, Proceedings: ICML’96, 148–156. [12] R.C. Holte, Very simple classification rules perform well on most commonly used datasets, Machine Learning 11 (1993), 63–90. [13] W. Iba and P. Langley, Induction of one-level decision trees, Proc. of the Ninth International Machine Learning Conference 1992, Aberdeen, Scotland: Morgan Kaufmann. [14] C. Ji and S. Ma, Combinations of weak classifiers, IEEE Transaction on Neural Networks 8(1) (1997), 32–42. [15] J. Kittler, M. Hatef, R.P.W. Duin and J. Matias, On combining classifiers, IEEE T-PAMI 20(3) (1998), 226–239. [16] S. Kotsiantis, C. Pierrakeas and P. Pintelas, Preventing student dropout in distance learning systems using machine learning techniques, in proceedings of 7th International Conference on Knowledge-Based Intelligent Information and Engineering Systems, Oxford, Sept. 3–5, Lecture notes series, Springer- Verlag 2774 (2003), 267–274. [17] S. Kotsiantis and P. Pintelas, Local Boosting of Weak Classifiers, Proceedings of Intelligent Systems Design and Applications (ISDA 2004), August 26–28, 2004, Budapest, Hungary. [18] P. Melville and R. Mooney, Constructing Diverse Classifier Ensembles using Artificial Training Examples, Proc. of the IJCAI-2003, Acapulco, Mexico, August, 2003, 505–510. [19] C. Nadeau and Y. Bengio, Inference for the Generalization Error, Machine Learning 52(3) (2003), 239–281. [20] C. Schaffer, Selecting a classification method by crossvalidation, Machine Learning 13 (1993), 135–143. [21] A.K. Seewald, How to Make Stacking Better and Faster While Also Taking Care of an Unknown Weakness, in: Proceedings of the Nineteenth International Conference on Machine Learning (ICML 2002), C. Sammut and A. Hoffmann, eds, Morgan Kaufmann Publishers, 2002, 554–561. [22] K. Ting and I.Witten, Issues in Stacked Generalization, Artificial Intelligence Research 10 (1999), 271–289, Morgan Kaufmann. [23] V.N. Vapnik, Statistical Learning Theory, Wiley, New York, 1998. [24] G.I. Webb, MultiBoosting: A Technique for Combining Boosting and Wagging, Machine Learning 40 (2000), 159– 196, Kluwer Academic Publishers. [25] D. Wilson and T. Martinez, Reduction Techniques for Instance-Based Learning Algorithms, Machine Learning 38 (2000), 257–286. [26] I. Witten and E. Frank, Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations, Morgan Kaufmann, San Mateo, CA, 2000. [27] D. Wolpert, Stacked Generalization, Neural Networks 5(2) (1992), 241–260. Referencias