Resumen
El episodio 17 de enCoders explica qué es un gradient boosting machine (GBM) y por qué conviene conocer su funcionamiento interno, no solo usar XGBoost o LightGBM como caja negra. Se parte de la motivación (los métodos de boosting suelen quedar entre los mejores en comparaciones sobre muchos datasets) y de la intuición del descenso del gradiente, que se traslada del espacio de parámetros al espacio de modelos. El algoritmo se resume así: se inicia con un modelo constante (el promedio), se calculan los residuos (el gradiente de la función de pérdida), se entrena un árbol débil para estimar esos residuos y se actualiza el modelo sumando ese árbol multiplicado por un paso de aprendizaje (0.1 típico). Se discute por qué la implementación real tiene tantos parámetros (XGBoost añade penalización de complejidad, LightGBM acelera el entrenamiento, CatBoost maneja categóricas) y cómo estos se relacionan con el control del sobreajuste. Se usa un playground interactivo para visualizar el efecto del learning rate, la profundidad de los árboles y el subsample. Los presentadores concluyen que un GBM no es "un Random Forest con esteroides", y dejan abiertas dudas sobre el rol de los pesos W de la penalización y por qué se usan árboles.
Capítulos
- 00:00IntroPresentación del episodio 17 y de por qué saber cómo funcionan los algoritmos ayuda a resolver problemas y a defenderse en entrevistas. Los presentadores admiten que usaban XGBoost sin saber qué hacía por dentro y que habían escuchado la descripción "Random Forest con esteroides". Se repasa también el método de descenso del gradiente como técnica general de optimización, con el problema de los mínimos locales y la importancia del tamaño del paso.
- 08:54MotivaciónSe muestran estudios que compararon algoritmos sobre 165 datasets, donde los modelos de boosting ganan la mayoría de las veces y aparecen en el top 3, mientras que Random Forest también rinde bien. Se menciona que los modelos basados en árboles entregan importancia de variables, a diferencia de las redes neuronales, y se comenta lo que "está de moda" frente a métodos poco usados (modelos fuzzy, PAC learning, método de elipsoides).
- 13:10Intuición del descenso del gradienteSe explica que el gradiente apunta a la dirección de máximo crecimiento, por lo que se avanza en sentido contrario con un paso gamma. La convergencia a un mínimo global está garantizada con funciones estrictamente convexas; fuera de eso, "ten fe" y prepárate para lo peor.
- 23:14Aplicación a Machine LearningEl espacio ahora es de modelos y no de puntos; se define una función de pérdida (el error al cuadrado es diferenciable) y se parte de un modelo inicial trivial. Se usa la analogía de variar hiperparámetros de un árbol (CP y min split) para visualizar el espacio de modelos, y se introduce la idea de modelos débiles porque más complejidad solo aporta mejoras marginales.
- 30:36AlgoritmoPasos: dataset, función de pérdida (1/2 de la diferencia al cuadrado, cuya derivada es el residuo), modelo inicial constante (el promedio, 75 en el ejemplo), cálculo de pseudo-residuos, entrenamiento de un árbol sobre los residuos, actualización con paso alfa 0.1 y repetición M veces. Con el ejemplo numérico, la predicción de 75 pasa a 72,7 usando un residuo estimado de -23, acercándose al valor real de 50. Para clasificación solo cambia la función de pérdida, y el modelo siempre estima un problema de regresión.
- 48:00Algunas modificaciones al algoritmoSe contrasta la simplicidad del algoritmo (unas 30 líneas) con la enorme cantidad de parámetros de XGBoost. Se explica que XGBoost usa la aproximación de Taylor cuando no se puede derivar, que LightGBM busca acelerar el entrenamiento de los árboles, y que XGBoost agrega a la pérdida un término de complejidad (número de hojas T, lambda y los valores W de las hojas) para penalizar árboles complejos. Se discute reemplazar el árbol por una red neuronal (se pierde interpretabilidad y aumenta el tiempo) y se confiesa que no queda claro por qué se usan árboles ni cuál es la razón teórica de los W.
- 01:01:43MemesMemes sobre XGBoost como solución por defecto y sobre Kaggle, junto con comentarios sobre descenso del gradiente por mini-batch y estocástico. Se explica que lo estocástico implica aleatoriedad al muestrear datos para calcular el gradiente, lo que hace el cálculo más rápido pero con más ruido o varianza en los resultados.
- 01:10:39Gradient Boosting Interactive PlaygroundSe usa una página interactiva para ver cómo el sobreajuste se modifica con los parámetros. Bajar la complejidad de los árboles, reducir el learning rate y usar subsample disminuyen el overfitting, aunque a costa de perder algo de performance. También se comenta que la página de Google es más profesional y que el playground rota los datos para permitir cortes diagonales; no queda claro qué hace la opción Newton-Raphson.
- 01:22:35Resumen y dudas del chatOpiniones sobre lo aprendido, la comparación con reinforcement learning (similar a nivel macro pero el descenso del gradiente es más explícito), el boosting estocástico y la documentación de XGBoost. Se mencionan LightGBM (con histogramas y submuestreo) y CatBoost (diseñado para variables categóricas, con "ordered boosting"), y se consulta a ChatGPT sobre cómo funciona XGBoost y sobre el boosting con redes neuronales.
- 01:34:39CierreResumen final: los GBM son métodos basados en árboles, populares por su buen rendimiento y propensos al sobreajuste; el algoritmo es sumar arbolitos moviéndose con el gradiente. Se dejan pendientes las dudas sobre los pesos W y la elección del árbol, invitando a compartir respuestas en Discord.