Si estás familiarizado con el machine learning, seguro que alguna vez te has topado con los boosted trees. Los boosted trees son un proceso iterativo basado en la combinación lineal de algoritmos sencillos, ya sean los weak de regresión o los de clasificación. Aunque son aplicables a cualquier algoritmo de machine learning, generalmente se usan con árboles. En ese sentido, los boosted trees son iguales que el bagging.
El bagging, también denominado bootstrap aggregation, es una técnica de aprendizaje automático que ayuda a mejorar el rendimiento y la precisión de los algoritmos. Se utiliza para compensar los desbalances que pueda causar el sesgo-varianza, reduciendo la varianza de un modelo de predicción. El bagging también evita el overfitting.
Debido a su gran gama de posibilidades, los boosted trees son uno de los algoritmos más utilizados para competir en Kaggle.
Kaggle es una plataforma en la que, entre muchas otras cosas, podemos conseguir datasets bastante buenos. La plataforma también ofrece una sección denominada Competitions, en la que los miles de miembros de la comunidad pueden participar y ganar, incluso, premios en dólares. Esto se hace principalmente con la finalidad de incentivar la curiosidad y aumentar los conocimientos de los participantes.
Intuición de los boosted trees
La intuición de boosted trees models es la siguiente:
Tenemos una distribución de datos. Como podemos observar, la distribución de datos es una distribución binaria que no es posible. Lo que hacemos, entonces, es aplicarle un clasificador, que puede ser un árbol, un k-nn o lo que sea.
Tenemos el weak classifier 1, que hace una división con una clasificación imperfecta de 2/5 – 3/5 en la parte superior; vemos en la parte de abajo una clasificación algo mejor, de 3/4 – 1/4, pero tampoco es perfecta.
Aplicamos otro clasificador, h2, que también es un weak classifier. Este hace una clasificación perfecta a la izquierda y una clasificación bastante aceptable, de 5/6 – 1/6 a la derecha.
Aplicamos un tercer clasificador, que también es un weak classifier. Esta vez hace una clasificación perfecta a la derecha y una clasificación imperfecta a la izquierda, con 4/6 – 2/6.
La combinación lineal de estos tres weak classifiers nos da un clasificador strong, que hace una clasificación perfecta en la distribución compleja que tenemos. Entonces, el clasificador más fuerte, H (x), es una combinación lineal de los anteriores clasificadores.
Proceso iterativo
¿Cómo se logra llegar al H (x)? ¿Qué es lo que pasa dentro para llegar a un resultado tan preciso con los boosted trees?
Observemos la siguiente imagen:
Lo que sucede es que en cada iteración se le da más peso a los errores. Es decir, en el primer clasificador tenemos dos errores arriba (recordemos que en el weak classifier 1 el voto de mayoría arriba ha sido rojo y abajo, azul). Entonces, arriba siendo rojo tenemos dos errores, que corresponden a los dos puntos azules de la derecha, por tanto, se aumenta el peso.
Internamente no sabemos qué sucede, pero, para que se entienda, se agrandan los puntos, tal y como se ve en la imagen.
Abajo tenemos otro error. Como el voto de mayoría es azul, el punto rojo de la izquierda es un error; por esta razón se aumenta el peso de ese rojo.
En el segundo clasificador esos pesos están aumentados, con lo que ahora el algoritmo tendrá más cuidado para no clasificar de manera incorrecta las instancias que de repente tienen más valor.
Se hace una clasificación y, de nuevo, se cometen errores; en este caso, hay dos azules que son errores, con lo cual se aumenta el peso. Y así sucesivamente va actuando el algoritmo con las clasificaciones, poniéndole más peso a los errores hasta que encuentre una forma en la que, uniendo todos los weak classifiers, se pueda llegar al H (x), que corresponde al clasificador fuerte.
¿Qué sigue?
Ahora que hemos visto cómo funcionan los boosted trees, puedes dar un paso adelante y seguir aprendiendo sobre una de las disciplinas mejor pagadas en la actualidad. Si te interesa y quieres continuar instruyéndote sobre Big Data, tenemos para ti el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, una formación intensiva en la que adquirirás herramientas teóricas y prácticas para enfrentarte a los desafíos que representa el mundo laboral. ¡No esperes más y solicita información ahora para impulsar tu vida!