Tema
Boosting y bagging
- Machine Learning
- Nivel intermedio
El bagging entrena muchos modelos sobre remuestreos de los datos y promedia sus predicciones para reducir la varianza, mientras que el boosting entrena modelos débiles en serie, cada uno concentrado en los ejemplos que el anterior falló, para reducir el sesgo.
Nombre en inglés
Boosting and bagging
Intuición
En el bagging los modelos trabajan en paralelo y se equivocan de formas distintas, de modo que al promediar los errores se cancelan. En el boosting los modelos trabajan en fila y cada uno hereda un conjunto de pesos que hace pesar más los ejemplos difíciles, hasta que el comité acumulado acierta donde ninguno de sus miembros acertaba. El primero necesita modelos con varianza alta y el segundo necesita modelos deliberadamente flojos.
Fórmula
alfa_t = (1/2) ln( (1 - e_t) / e_t ); H(x) = signo( sum_t alfa_t h_t(x) )
Ejemplo resuelto
En la primera ronda de un procedimiento de refuerzo adaptativo, un tocón de decisión falla en el 25 por ciento de los ejemplos ponderados, de modo que e vale 0.25. Su peso en el comité vale la mitad del logaritmo natural de 0.75 dividido entre 0.25, o sea la mitad del logaritmo de 3, que da 0.549. Si el siguiente modelo fallara el 40 por ciento, su peso sería la mitad del logaritmo de 1.5, o sea 0.203, bastante menor. Un modelo que fallara la mitad tendría peso 0, que es lo que corresponde a lanzar una moneda.
Errores frecuentes
- Aplicar boosting a datos con muchas etiquetas equivocadas, ya que el procedimiento concentra cada vez más peso en esos ejemplos imposibles y acaba modelando el ruido.
- Usar aprendices fuertes dentro del boosting, porque un modelo que ya acierta casi todo deja pesos casi uniformes para el siguiente y la serie no aporta nada.
- Confundir los dos métodos al explicar el efecto sobre la descomposición del error, dado que el bagging ataca la varianza y el boosting ataca sobre todo el sesgo.
Ejercicio
Un clasificador débil comete un error ponderado de 0.2 en su ronda. Calcula el peso alfa que recibe en el comité.
Ver la solución
La razón vale 1 menos 0.2 dividido entre 0.2, o sea 0.8 entre 0.2 = 4. El peso es la mitad del logaritmo natural de 4. Como el logaritmo de 4 vale 1.386, el peso resulta 0.693. Al compararlo con el 0.549 que obtenía un modelo con error 0.25, se aprecia que el peso crece deprisa cuando el error se acerca a cero y tiende a cero cuando el error se acerca a la mitad.
Respuesta: 0.693