Boosting (M. Cárdenas Montes)

Anuncio
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
Descargar