Además del refuerzo ordinario de árboles, XGBoost ofrece DART y gblinear. Sobre DART, hay algo de literatura así como una explicación en la documentación. Sin embargo, no puedo encontrar ninguna información útil sobre cómo funciona el reforzador gblinear. Me gustaría saber qué modelo exacto se utiliza como aprendiz de base, y cómo el algoritmo es diferente del algoritmo normal de refuerzo de árbol. ¿Alguien lo sabe?
Respuesta
¿Demasiados anuncios?Simplemente utiliza un modelo lineal con regularización l1 y l2 como aprendiz de base en lugar de un árbol de decisión. Aquí hay una pregunta y respuesta similar: Diferencia en los coeficientes de regresión de LinearRegression de sklearn y XGBRegressor .
Así que será diferente a otros modelos lineales porque está optimizado de forma ligeramente diferente, pero sobre todo porque lo estás potenciando, lo que proporciona una mayor regularización en los modelos lineales, a diferencia de lo que ocurre cuando se potencian los árboles y se añade complejidad. Así que tiende a reducir los coeficientes lineales. Se puede potenciar cualquier modelo, pero normalmente sólo se obtienen beneficios importantes cuando se potencian modelos que dividen los datos de alguna manera, como las funciones lineales a trozos o los árboles.