local voting of weak classifiers s. kotsiantis. and p. pintelas educational software development...
TRANSCRIPT
Local Voting of Weak Classifiers
S. Kotsiantis. and P. PintelasEducational Software Development
Laboratory, Department of Mathematics, University of Patras, Greece
Agenda
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
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 vecinos cercanos 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 ValidationBaggingBoostingOutput CodingStacked GeneralizationMeta-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ísticas de 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
OneRDecision Stump, DSNaive 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
3,#
1,1
)(jclasesi
jiji iPamCR
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 >,
1
1
22 )(),(
n
iii yxyxd
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
1) Determinar la medida de distancia mas conveniente.( Distancia Euclidiana)
2) 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
Conjuntos de datos
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
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 c el algoritmo es mas exacto
Resultados
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
Resultados
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
Resultados
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
Referencias
[1] D. Aha, Lazy Learning, Dordrecht: Kluwer Academic Publishers,1997.[2] C.G. Atkeson, A.W. Moore and S. Schaal, Locally weightedlearning 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 machinelearning 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 learningproblems via error correcting output codes, Journal of ArtificialIntelligence Research (2) (1995), 263–286.[7] T.G. Dietterich, Ensemble methods in machine learning, in:Multiple Classifier Systems, (LNCS Vol. 1857), J. Kittler andF. Roli, eds, Springer, 2001, pp. 1–15.[8] P. Domingos and M. Pazzani, On the optimality of the simpleBayesian classifier under zero-one loss, Machine Learning 29(1997), 103–130.[9] M.Van Erp, L.G.Vuurpijl and L.R.B. Schomaker, An overviewand comparison of voting methods for pattern recognition, InProceedings of the 8th International Workshop on Frontiersin Handwriting Recognition, 2002, 195–200, Niagara-on-the-Lake, Canada.[10] E. Frank, M. Hall and B. Pfahringer, Locally weighted naiveBayes. Proc. of the 19th Conference on Uncertainty in ArtificialIntelligence, Acapulco, Mexico. Morgan Kaufmann,2003.[11] Y. Freund and R. Schapire, Experiments with a New BoostingAlgorithm, Proceedings: ICML’96, 148–156.[12] R.C. Holte, Very simple classification rules perform well onmost 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 Conference1992, Aberdeen, Scotland: Morgan Kaufmann.
[14] C. Ji and S. Ma, Combinations of weak classifiers, IEEETransaction on Neural Networks 8(1) (1997), 32–42.[15] J. Kittler, M. Hatef, R.P.W. Duin and J. Matias, On combiningclassifiers, IEEE T-PAMI 20(3) (1998), 226–239.[16] S. Kotsiantis, C. Pierrakeas and P. Pintelas, Preventing studentdropout in distance learning systems using machine learningtechniques, in proceedings of 7th International Conferenceon Knowledge-Based Intelligent Information and EngineeringSystems, 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 ClassifierEnsembles using Artificial Training Examples, Proc. of theIJCAI-2003, Acapulco, Mexico, August, 2003, 505–510.[19] C. Nadeau and Y. Bengio, Inference for the GeneralizationError, 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 WhileAlso Taking Care of an Unknown Weakness, in: Proceedingsof the Nineteenth International Conference on MachineLearning (ICML 2002), C. Sammut and A. Hoffmann, eds,Morgan Kaufmann Publishers, 2002, 554–561.[22] K. Ting and I.Witten, Issues in Stacked Generalization, ArtificialIntelligence 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 CombiningBoosting and Wagging, Machine Learning 40 (2000), 159–196, Kluwer Academic Publishers.[25] D. Wilson and T. Martinez, Reduction Techniques forInstance-Based Learning Algorithms, Machine Learning 38(2000), 257–286.[26] I. Witten and E. Frank, Data Mining: Practical MachineLearning Tools and Techniques with Java Implementations,Morgan Kaufmann, San Mateo, CA, 2000.[27] D. Wolpert, Stacked Generalization, Neural Networks 5(2)(1992), 241–260.
Preguntas???