AdaBoost
AdaBoost combina clasificadores débiles, reponderando en cada ronda los ejemplos mal clasificados, para formar un voto ponderado más preciso. Su reverso es la sensibilidad al ruido y a los outliers, que las extensiones multiclase (SAMME) y de regresión (AdaBoost.R2) no eliminan.
AdaBoost (de Adaptive Boosting) es un algoritmo de conjunto (ensemble) presentado por Yoav Freund y Robert Schapire en 1997, en el artículo «A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting». Su idea es combinar muchos clasificadores «débiles» —cada uno apenas mejor que el azar— en un único voto ponderado que acierta más que cualquiera de ellos por separado.
El supuesto de partida es modesto y conviene enunciarlo con precisión: basta con disponer de un aprendiz base que, sobre cada distribución de pesos, clasifique algo mejor que lanzar una moneda (error inferior a 0,5). En su formulación original AdaBoost resuelve un problema de clasificación binaria, con etiquetas +1 y −1.
Cómo funciona
AdaBoost entrena los aprendices débiles en secuencia. Al principio todos los ejemplos pesan igual. En cada ronda ajusta un aprendiz sobre los datos ponderados, mide su error ponderado y le asigna un coeficiente tanto mayor cuanto menor es ese error. A continuación repondera: sube el peso de los ejemplos mal clasificados y baja el de los aciertos, de modo que la ronda siguiente se concentre en lo que el comité aún falla. La predicción final es el signo de la suma ponderada de los votos. El aprendiz débil habitual es el decision stump: un árbol de un solo nivel que corta por un umbral en una sola variable. Un trabajo estadístico posterior de Friedman, Hastie y Tibshirani mostró que el procedimiento equivale a minimizar por etapas una pérdida exponencial, aunque la derivación original provino de la teoría del aprendizaje.
Sensibilidad al ruido y a los outliers
El mecanismo que le da fuerza es también su punto flaco. Al insistir en los ejemplos difíciles, AdaBoost acumula peso sobre ellos ronda tras ronda. Si un ejemplo difícil es en realidad una etiqueta errónea o un valor atípico (outlier), el algoritmo sigue empujando peso hacia ese punto y los aprendices posteriores acaban persiguiendo ruido. Sobre conjuntos con ruido en las etiquetas su capacidad de generalización puede deteriorarse y sobreajustar. Conviene declarar lo no resuelto: en muchos problemas limpios AdaBoost resiste el sobreajuste mejor de lo esperado, y por qué ocurre esto sigue siendo objeto de estudio; con ruido, en cambio, degrada. Para paliarlo se han propuesto variantes como LogitBoost, BrownBoost, MadaBoost o RobustBoost, que suavizan la reponderación para permitir que los puntos anómalos queden del lado equivocado.
De la versión binaria a las extensiones
La versión de 1997 es binaria. Para más de dos clases, Zhu, Zou, Rosset y Hastie propusieron en 2009 SAMME, que extiende AdaBoost al caso multiclase sin descomponerlo en problemas de dos clases y que se reduce al algoritmo original cuando solo hay dos etiquetas; antes existían reducciones como AdaBoost.M1 y AdaBoost.MH. Para regresión, AdaBoost.R2 (Drucker, 1997) adapta la idea de reponderación a objetivos continuos. AdaBoost es, en todo caso, un caso concreto de la familia más amplia del boosting.
Este artículo se ha elaborado con inteligencia artificial bajo supervisión editorial humana.