Estoy tratando de entender las diferencias clave entre GBM y XGBOOST. Intenté buscarlo en Google, pero no pude encontrar buenas respuestas que explicaran las diferencias entre los dos algoritmos y por qué xgboost casi siempre funciona mejor que GBM. ¿Qué hace que XGBOOST sea tan rápido?
machine-learning
algorithms
xgboost
ensemble-modeling
gbm
Un hombre
fuente
fuente
Respuestas:
Cita del autor de
xgboost
:Editar: hay una guía detallada de xgboost que muestra más diferencias.
Referencias
https://www.quora.com/What-is-the-difference-between-the-R-gbm-gradient-boosting-machine-and-xgboost-extreme-gradient-boosting
https://xgboost.readthedocs.io/en/latest/tutorials/model.html
fuente
Además de la respuesta dada por Icyblade, los desarrolladores de xgboost han realizado una serie de importantes mejoras de rendimiento en diferentes partes de la implementación que hacen una gran diferencia en la velocidad y la utilización de la memoria:
En mi experiencia cuando uso GBM y xgboost mientras entreno grandes conjuntos de datos (más de 5 millones de registros), he experimentado una utilización de memoria significativamente reducida (en R) para el mismo conjunto de datos y me resultó más fácil usar múltiples núcleos para reducir el tiempo de entrenamiento.
fuente
Una diferencia muy importante es la
xgboost
implementación de DART, la regularización del abandono de los árboles de regresión .Referencias
Rashmi, KV y Gilad-Bachrach, R. (2015). Dart: los abandonos se encuentran con múltiples árboles de regresión aditiva. preimpresión arXiv arXiv: 1505.01866.
fuente
Creo que la diferencia entre el aumento de gradiente y el Xgboost está en xgboost, el algoritmo se enfoca en el poder computacional, paralelizando la formación de árboles que se puede ver en este blog .
El aumento de gradiente solo se centra en la varianza, pero no en la compensación entre el sesgo, ya que el aumento de xg también puede centrarse en el factor de regularización.
fuente
La implementación de XGBoost tiene errores. Se bloqueó en silencio al entrenar en GPU en v 082 . También me sucedió en v 0.90 , por lo que el problema no se ha abordado hasta ahora, y la "solución" proporcionada en GitHub no funcionó para mí.
LGBM 2.3.1 funciona como un encanto fuera de la caja, aunque instalarlo requiere un poco más de esfuerzo. Hasta ahora no hay problemas de entrenamiento en GPU.
Sobre XGBoost ser " tan rápido ", usted debe echar un vistazo a estos puntos de referencia .
fuente