답변:
저자의 인용 xgboost
:
xgboost와 gbm은 모두 기울기 향상 원리를 따릅니다. 그러나 모델링 세부 사항에는 차이가 있습니다. 특히, xgboost는보다 정규화 된 모델 공식화를 사용하여 과적 합을 제어하므로 성능이 향상되었습니다.
살펴볼 수있는 모델 소개에 대한 포괄적 인 자습서를 업데이트했습니다. 부스트 트리 소개
그러나 xgboost라는 이름은 실제로 부스트 트리 알고리즘에 대한 계산 리소스의 한계를 넓히는 엔지니어링 목표를 나타냅니다. 많은 사람들이 xgboost를 사용하는 이유입니다. 모델의 경우 정규화 된 그래디언트 부스팅이라고하는 것이 더 적합 할 수 있습니다.
편집 : 더 많은 차이점을 보여주는 xgboost에 대한 자세한 안내서 가 있습니다.
https://xgboost.readthedocs.io/en/latest/tutorials/model.html
Icyblade의 답변 외에도 xgboost 개발자는 속도와 메모리 사용률에 큰 차이를 만드는 구현의 여러 부분에서 여러 가지 중요한 성능 향상을 이루어 냈습니다.
대용량 데이터 세트 (5 백만 개 이상의 레코드)를 훈련하는 동안 GBM 및 xgboost를 사용할 때의 경험상 동일한 데이터 세트에 대해 메모리 사용률 (R)이 크게 감소했으며 여러 코어를 사용하여 훈련 시간을 줄이는 것이 더 쉽다는 것을 알게되었습니다.
매우 중요한 차이점 중 하나 는 회귀 트리의 드롭 아웃 정규화 인 DARTxgboost
를 구현 한 것 입니다.
Rashmi, KV 및 Gilad-Bachrach, R. (2015). 다트 : 드롭 아웃은 여러 가법 회귀 트리를 충족시킵니다. arXiv 프리 프린트 arXiv : 1505.01866.
그래디언트 부스팅과 Xgboost의 차이점은 xgboost에서 알고리즘 이이 블로그 에서 볼 수있는 트리 형성을 병렬화하여 계산 능력에 초점을 맞추고 있다고 생각합니다 .
그라디언트 부스팅은 분산에만 초점을 맞추지 만 xg 부스트가 정규화 요소에 초점을 맞출 수있는 바이어스 사이의 트레이드 오프에는 초점을 맞추지 않습니다.
XGBoost 구현은 버그가 있습니다. v 082에서 GPU를 학습 할 때 자동으로 충돌했습니다 . 그것은 0.90 v 에서도 나에게 일어 났으 므로 지금까지 문제가 해결되지 않았으며 GitHub에서 제공되는 "수정"이 작동하지 않았습니다.
LGBM 2.3.1 은 기본적 으로 매력처럼 작동하지만 설치하는 데 약간의 노력이 필요합니다. 지금까지 GPU에 대한 교육 문제는 없습니다.
정보 XGBoost는 "있는 너무 빨리 ", 당신은 한 번 봐해야 이러한 벤치 마크를 .