Boosting Miguel Cárdenas-Montes Tanto en clasificación como en regresión, existen estrategias, basadas en la mezcla de modelos, para mejorar la precisión de los modelos. En estos métodos se establece un procedimiento para construir diferentes predictores y una regla para combinar sus resultados. Dependiendo de las elecciones que se realizan sobre estos dos elementos, una gran variedad de ensemble métodos han sido sugeridos en la literatura. En este documento se describe el método denominado boosting. Objetivos: Entender como funciona la técnica denominada boosting. Comprender las diferencias entre boosting y otras técnicas de tipo ensemble methods como son: bagging o random subspaces. 1 Boosting Los ensembles son combinaciones de modelos, también referidos como miembro del ensemble. En estas técnicas es necesario tanto definir cómo se van a crear modelos diferentes, como de que manera se van a combinar los resultados de cada uno de los modelos para producir la predicción final. El objetivo de los ensemble methods es producir una mejor predicción que los modelos individuales (miembros individuales del ensemble) 1 . Tanto en bagging como en boosting se manipula el conjunto de entrenamiento, pero en cada caso se hace con una estrategia diferente. En bagging se extraen muestras diferentes del conjunto de entrenamiento (muestras bootstrap), y se utilizan estas muestras bootstrap como si fuera el conjunto de entrenamiento verdadero. Por el contrario, en boosting siempre se trabaja con el conjunto completo de datos. En boosting se manipula los pesos de los datos en conjunto de entrenamiento para generar diversos modelos. 2 Este documento puede contener imprecisiones o errores. Por favor no lo utilice para citarlo como una fuente fiable. 1 Ludmila I. Kuncheva. Ensemble Methods, pages 186–229. John Wiley & Sons, Inc., 2014. ISBN 9781118914564. 10.1002/9781118914564.ch6 d o i : AdaBoost Una de las técnicas más populares de boosting es Adaboost 2 3 . 1. Inicialmente a todos los datos del conjunto de entrenamiento se les asigna un peso idéntico, wi = n1 , donde n es el tamaño del conjunto de datos. 2. Se entrena el modelo usando el set de entrenamiento. 2 Michael R. Berthold, Christian Borgelt, Frank Hppner, and Frank Klawonn. Guide to Intelligent Data Analysis: How to Intelligently Make Sense of Real Data. Springer Publishing Company, Incorporated, 1st edition, 2010. ISBN 1848822596, 9781848822597 3 Yoav Freund, Robert E Schapire, et al. Experiments with a new boosting algorithm. ICML, 96:148–156, 1996 2 m m 3. Se calcula error del modelo en el set de entrenamiento, se cuentan cuántos objetos han sido mal clasificados y se identifican cuales son. 4. Se incrementan pesos en los casos de entrenamiento que el modelo calcula erróneamente. 5. Se entrena un nuevo modelo usando el conjunto de pesos modificados. 6. Volver al punto 3 (repetir hasta el número de iteraciones fijadas inicialmente) 7. Modelo final: votación ponderada por los pesos de todos los modelos Para modificar los pesos después del predictor Mt con los pesos en el tiempo t, wi,t se utilizan las ecuaciones: et = ∑in=1 wi,t yt Mt ( xi ) ∑in=1 wi,t αt = 1 ln 2 1 − et 1 + et (1) (2) donde xi es el vector de entrada del objeto, yi es la clase del objeto i-ésimo, y Mt ( xi ) es la predicción del modelo para la entrada xi . Así los pesos son actualizados con la ecuación 3: wi,t+1 = c · wi,t exp(−αt yi Mt ( xi )) (3) donde c es una constante de normalización elegida de forma que ∑in=1 wi,t+1 = 1. El procedimiento de aprendizaje y actualización de los pesos es repetido un número de veces especificado por el usuario. El ensemble construido clasifica los nuevos puntos por el voto de la mayoría, con cada modelo Mt pesado con αt . De forma que la predicción conjunta es: tmax M joint ( xi ) = sign ∑ α t Mt ( x i ) t =1 La técnica boosting se basa en la teoría de weak learners. Un weak learners es cualquier conjunto de aprendizaje que es al menos un poco mejor que la predicción aleatoria (> 50 %). ! (4) Con esto se está combinando múltiples clasificadores que producen una mejora significante sobre la clasificación producida por cada uno de ellos individualmente. Sin embargo la convergencia no está garantizada y el rendimiendo del ensamble puede degradarse tras un cierto número de pasos. b 3 o o s t i n 3 g Comparación de Boosting con Bagging, y Técnicas Similares En ambas técnicas: boosting y bagging tienen que componer modelos diferentes, sino el ensemble será innecesario. La composición de modelos diferentes puede hacerse con diferentes métodos y el mismo conjunto de datos; o con el mismo método pero diferente cojnuntos de datos de entrenamiento. En bagging, cada miembro del ensemble es entrenado con una muestra diferente del conjunto de entrenamiento. El tamaño es el mismo que el conjunto de entrenamiento original pero no su composición. El resultado final es el promedio de la predicción de cada uno de los miembros del ensamble. En subespacios aleatorios, random subspaces, cada miembro es entrenado con todos los ejemplos, pero con un subconjunto de los atributos. La dimensión de los subespacios es el parámetro del método. De nuevo el resultado es el promedio de los miembros 4 . En AdaBoost, inicialmente todos los objetos del conjunto de entrenamiento tiene el mismo peso. El peso de los objetos evoluciona a lo largo del algoritmo. La idea es: en cada iteración incrementar el peso de los objetos mal clasificados por el predictor en esa iteración. Por lo tanto en la construcción del próximo predictor, estos objetos serán más importantes. Tanto bagging como selección de subespacios aleatorios emplean procesos aleatorios para obtener predictores diferentes. Esta aproximación puede generalizarse mediante la inyección de aleatoriedad en el algoritmo de aprendizaje. Esta inyección de aleatoriedad dependerá de la naturaleza del algoritmo, pero a modo de ejemplo puede citarse que en redes neuronales, la inicialización de los pesos de las conexiones puede ser diferente en cada ejecución. En bagging la variación de conjunto de entrenamiento es dejado en manos un proceso aleatorio como es la selección bootstrap. Por el contrario, en boosting usa una forma de variación del conjunto de entrenamiento completamente sistemática. Para datos con bajo nivel de ruido, boosting tiene mejor rendimiento que bagging y que random subspace. Sin embargo, si los datos de entrenamiento contienen datos ruidosos, entonces boosting degrada su rendimiento ya que focaliza el algoritmo en estos datos. La aproximación conocida como mezcla de expertos se combinan predictores individuales: SVM, NN, árboles de decisión, etc. También puede utilizarse un conjunto de modelos obtenidos de un ensemble. En este caso, el foco es puesto sobre la regla óptima para combinar las predicciones de los modelos individuales. Para tareas de clasificación, los datos de entrada para esta combinación son las distribuciones de probabilidad sobre las clases que un 4 Tin Kam Ho. The random subspace method for constructing decision forests. IEEE Trans. Pattern Anal. Mach. Intell., 20(8):832–844, 1998. 10.1109/34.709601 La aplicación de subespacios aleatorios a los árboles de decisión se denomina random forests, el cual es uno de los métodos más preciso de todos los métodos de clasificación. d o i : 4 m m 5 Lei Xu and Shun-ichi Amari. Combining classifiers and learning mixtureof-experts. In Juan R. Rabuñal, Julian Dorado, and Alejandro Pazos, editors, Encyclopedia of Artificial Intelligence (3 Volumes), pages 318–326. IGI Global, 2009. ISBN 9781599048499. 10.4018/9781-59904-849-9 d o i : 6 David H. Wolpert. Stacked generalization. Neural Networks, 5:241–259, 1992 clasificador individual produce. Cada clasificador debe asignar una probabilidad a cada clase 5 . La regla más común para combinar las probabilidades de cada clase son las llamadas reglas de suma, las cuales simplemente promedian para cada clase las probabilidades producidas por los clasificadores individuales; o aquellas que hacen el producto de las probabilidades producidas. Como en el caso precedente, apilamiento o stacking coge un conjunto de predictores y combina sus predicciones individuales. La idea es ver las salidas de los predictores como nuevas características y usar un algoritmo de aprendizaje para encontrar el modelo que los combina de forma óptima 6 . Gráficamente se puede apreciar, para un único conjunto de datos, la diferencia en los modelos si se aplica árboles de decisión (figura 1) o random forest (figura 2). Obsérvese como el punto ruidosorojo en las coordenadas aproximadas (0, 1.5) tiene importancia en el modelo final en el caso de árbol de decisión, sin embargo esta importancia se diluye en el caso de random forest. Figura 1: Ejemplo de árbol de decisión. Referencias [1] Michael R. Berthold, Christian Borgelt, Frank Hppner, and Frank Klawonn. Guide to Intelligent Data Analysis: How to Intelligently Make Sense of Real Data. Springer Publishing Company, Incorporated, 1st edition, 2010. ISBN 1848822596, 9781848822597. [2] Yoav Freund, Robert E Schapire, et al. Experiments with a new boosting algorithm. ICML, 96:148–156, 1996. b o o s t i n g Figura 2: Ejemplo de random forest. [3] Tin Kam Ho. The random subspace method for constructing decision forests. IEEE Trans. Pattern Anal. Mach. Intell., 20(8):832–844, 1998. 10.1109/34.709601. d o i : [4] Ludmila I. Kuncheva. Ensemble Methods, pages 186–229. John Wiley & Sons, Inc., 2014. ISBN 9781118914564. 10.1002/9781118914564.ch6. d o i : [5] David H. Wolpert. Stacked generalization. Neural Networks, 5:241– 259, 1992. [6] Lei Xu and Shun-ichi Amari. Combining classifiers and learning mixture-of-experts. In Juan R. Rabuñal, Julian Dorado, and Alejandro Pazos, editors, Encyclopedia of Artificial Intelligence (3 Volumes), pages 318–326. IGI Global, 2009. ISBN 9781599048499. 10.4018/978-1-59904-849-9. d o i : 5