XGBoost
Gradient boosting, más un objetivo de segundo orden y un árbol regularizado.
El modelo que ganó el Kaggle tabular — construido con tres fórmulas.
Qué cambia respecto al boosting simple
- GBM simple: ajusta cada árbol al gradiente negativo. Primer orden.
- XGBoost agrega dos cosas:
- una visión de segundo orden — cada muestra carga un gradiente
g y una hessiana h.
- un árbol regularizado — penalización L2
lambda en las hojas, gamma por hoja.
- La misma forma aditiva, el mismo shrinkage. Mejor paso, árbol que se poda solo.
Los datos
Un juguete en 1-D para la animación: 90 puntos ruidosos, 65 de train / 25 de val.
La matemática
Objetivo de Taylor de segundo orden en la ronda t:
L(t)≈i∑[gift(xi)+21hift(xi)2]+γT+21λj∑wj2
Peso óptimo de la hoja (la fórmula clave):
wj∗=−Hj+λGj
Ganancia del split, con la cuota de gamma por la hoja extra:
Gain=21[HL+λGL2+HR+λGR2−HL+HR+λ(GL+GR)2]−γ
G y H son las sumas de gradiente y hessiana de los renglones de una hoja.
Míralo funcionar
Una ronda de boosting por frame: la escalera se pega a la curva, la pérdida cae.
30 rondas, árboles de profundidad 2, shrink 0.3. MSE de train → 0.038, MSE de val → 0.110.
Por qué importa la regularización
RMSE de test por ronda sobre datos reales de diabetes, con tres valores de lambda:
lambda = 0: hace overfitting rápido — mejor 53.07 en la ronda 6, luego sube.
lambda = 1: llega más abajo — 52.11 alrededor de la ronda 11.
lambda = 30: sobrerregularizado — atorado en 55.44, nunca sobreajusta, nunca gana.
Desde cero vs. librería
El nuestro le sigue el paso al xgboost real (59.50 vs 60.01 de RMSE, predicciones correlacionadas 0.9978).
Ambos boosters de segundo orden le ganan al gradient boosting simple (64.29) — doce puntos de RMSE.
Puntos clave
- Paso de segundo orden + árbol regularizado + shrinkage = tres frenos contra el overfitting.
- De lo mejor en datos tabulares con poco tuning; maneja valores faltantes, sin escalado.
- Las perillas que importan: learning rate + número de árboles, luego
max_depth, luego lambda/gamma.
- Un random forest basta cuando no necesitas ese último par de puntos; un solo árbol cuando necesitas leerlo.