GBM 대 XGBOOST? 주요 차이점은 무엇입니까?


39

GBM과 XGBOOST의 주요 차이점을 이해하려고합니다. 나는 그것을 시도했지만 두 알고리즘의 차이점과 xgboost가 GBM보다 거의 항상 더 나은 이유를 설명하는 좋은 대답을 찾지 못했습니다. XGBOOST가 그렇게 빠른 이유는 무엇입니까?


XGBoost는 그렇게 빠르지 않습니다. 이 실험을 참조하십시오
agcala

답변:


34

저자의 인용 xgboost:

xgboost와 gbm은 모두 기울기 향상 원리를 따릅니다. 그러나 모델링 세부 사항에는 차이가 있습니다. 특히, xgboost는보다 정규화 된 모델 공식화를 사용하여 과적 합을 제어하므로 성능이 향상되었습니다.

살펴볼 수있는 모델 소개에 대한 포괄적 인 자습서를 업데이트했습니다. 부스트 트리 소개

그러나 xgboost라는 이름은 실제로 부스트 트리 알고리즘에 대한 계산 리소스의 한계를 넓히는 엔지니어링 목표를 나타냅니다. 많은 사람들이 xgboost를 사용하는 이유입니다. 모델의 경우 정규화 된 그래디언트 부스팅이라고하는 것이 더 적합 할 수 있습니다.

편집 : 더 많은 차이점을 보여주는 xgboost에 대한 자세한 안내서 가 있습니다.

참고 문헌

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


2
좋은 대답입니다. OP는 또한 xgboost가 왜 그렇게 빠른지 물었습니다. 그 이유는 각 트리가 이전 트리에 종속되어 있기 때문에 앙상블 자체를 병렬화 할 수 없지만 각 트리의 각 깊이 내에서 여러 노드의 빌드를 병렬화 할 수 있기 때문입니다. 이러한 유형의 세부 정보는 xgboost를 매우 빠르게 만듭니다.
Ricardo Cruz

12

Icyblade의 답변 외에도 xgboost 개발자는 속도와 메모리 사용률에 큰 차이를 만드는 구현의 여러 부분에서 여러 가지 중요한 성능 향상을 이루어 냈습니다.

  1. 희소성 인식 알고리즘과 함께 희소 행렬 사용
  2. 더 빠른 프로세서 캐시 활용을 위해 데이터 구조가 개선되었습니다.
  3. 전체 교육 시간을 단축시키는 멀티 코어 처리 지원

대용량 데이터 세트 (5 백만 개 이상의 레코드)를 훈련하는 동안 GBM 및 xgboost를 사용할 때의 경험상 동일한 데이터 세트에 대해 메모리 사용률 (R)이 크게 감소했으며 여러 코어를 사용하여 훈련 시간을 줄이는 것이 더 쉽다는 것을 알게되었습니다.


10

매우 중요한 차이점 중 하나 는 회귀 트리의 드롭 아웃 정규화 인 DARTxgboost 를 구현 한 것 입니다.

참고 문헌

Rashmi, KV 및 Gilad-Bachrach, R. (2015). 다트 : 드롭 아웃은 여러 가법 회귀 트리를 충족시킵니다. arXiv 프리 프린트 arXiv : 1505.01866.


Dart 는 xgboost_dart_mode를 포함하는 LGBM 에서도 구현됩니다 .
agcala

0

그래디언트 부스팅과 Xgboost의 차이점은 xgboost에서 알고리즘 이이 블로그 에서 볼 수있는 트리 형성을 병렬화하여 계산 능력에 초점을 맞추고 있다고 생각합니다 .

그라디언트 부스팅은 분산에만 초점을 맞추지 만 xg 부스트가 정규화 요소에 초점을 맞출 수있는 바이어스 사이의 트레이드 오프에는 초점을 맞추지 않습니다.


0

XGBoost 구현은 버그가 있습니다. v 082에서 GPU를 학습 할 때 자동으로 충돌했습니다 . 그것은 0.90 v 에서도 나에게 일어 났으 므로 지금까지 문제가 해결되지 않았으며 GitHub에서 제공되는 "수정"이 작동하지 않았습니다.

LGBM 2.3.1기본적 으로 매력처럼 작동하지만 설치하는 데 약간의 노력이 필요합니다. 지금까지 GPU에 대한 교육 문제는 없습니다.

정보 XGBoost는 "있는 너무 빨리 ", 당신은 한 번 봐해야 이러한 벤치 마크를 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.