回答:
の著者からの引用xgboost
:
xgboostとgbmは両方とも、勾配ブースティングの原理に従います。ただし、モデリングの詳細には違いがあります。具体的には、xgboostはより正規化されたモデル形式化を使用して過剰適合を制御し、パフォーマンスを向上させました。
モデルの紹介に関する包括的なチュートリアルを更新しましたので、ご覧ください。ブーストされたツリーの概要
ただし、xgboostという名前は、実際には、ブーストされたツリーアルゴリズムの計算リソースの限界を押し上げるというエンジニアリングの目標を指します。これが多くの人がxgboostを使用する理由です。モデルの場合、正則化勾配ブースティングと呼ばれる方が適している場合があります。
編集:xgboostの詳細なガイドには、より多くの違いが示されています。
https://xgboost.readthedocs.io/en/latest/tutorials/model.html
Icybladeからの回答に加えて、xgboostの開発者は、実装のさまざまな部分にいくつかの重要なパフォーマンス強化を行い、速度とメモリ使用率に大きな違いをもたらしました。
大きなデータセット(500万件以上のレコード)のトレーニング中にGBMとxgboostを使用した私の経験では、同じデータセットのメモリ使用率(R)が大幅に減少し、複数のコアを使用してトレーニング時間を短縮できることがわかりました。
非常に重要な違いの1つは、回帰ツリーのドロップアウト正則化であるDARTxgboost
を実装したことです。
Rashmi、KV、およびGilad-Bachrach、R。(2015)。Dart:ドロップアウトは複数の加法回帰ツリーに適合しています。arXivプレプリントarXiv:1505.01866。
勾配ブースティングとXgboostの違いはxgboostにあると思います。このブログで見ることができるツリー形成を並列化することにより、アルゴリズムは計算能力に焦点を当てています。
勾配ブースティングは、分散にのみ焦点を当てますが、バイアス間のトレードオフではなく、xgブーストも正則化因子に焦点を当てることができます。
XGBoostの実装にはバグがあります。 v 082でGPUをトレーニングすると、静かにクラッシュしました。v 0.90でも同様に発生したため、これまでのところこの問題は解決されておらず、GitHubで提供される「修正」は機能しませんでした。
LGBM 2.3.1はすぐに使えるように動作しますが、インストールにはもう少し手間がかかります。これまでのところ、GPUでのトレーニング問題はありません。
XGBoostは「であるので、速い」、あなたは見てとるべきこれらのベンチマークを。