質問

GBMとXgboostの重要な違いを理解しようとしています。私はそれをグーグルでしようとしましたが、2つのアルゴリズムの違いと、Xgboostがほとんど常にGBMよりも優れている理由を説明する良い答えを見つけることができませんでした。 Xgboostがとても速くなっているのはなぜですか?

役に立ちましたか?

解決

の著者からの引用 xgboost:

XgboostとGBMの両方が、勾配ブーストの原理に従います。ただし、モデリングの詳細には違いがあります。具体的には、Xgboostは、より正規化されたモデルの形式化を使用して過剰適合を制御し、パフォーマンスを向上させました。

モデルの紹介に関する包括的なチュートリアルを更新しました。 ブーストされた木の紹介

ただし、xgboostという名前は、実際には、ブーストされたツリーアルゴリズムの計算リソースの制限をプッシュするエンジニアリングの目標を指します。これが、多くの人がxgboostを使用する理由です。モデルの場合、正規化された勾配ブーストと呼ばれる方が適切かもしれません。

編集:詳細があります ガイド より多くの違いを示すxgboostの。

参照

https://www.quora.com/what-is-the-difference-the-the-gbm-gradient-boosting-machine-and-xgboost-extreme-gradient-ブースト

https://xgboost.readthedocs.io/en/latest/tutorials/model.html

他のヒント

Xgboostの開発者は、ICYBLADEからの回答に加えて、実装のさまざまな部分に対して多くの重要なパフォーマンス強化を行い、速度とメモリの利用に大きな違いをもたらしました。

  1. スパースを使用したスパースマトリックスの使用
  2. 改善されたデータ構造により、プロセッサキャッシュの使用率が向上し、より速くなります。
  3. 全体的なトレーニング時間を短縮するマルチコア処理のより良いサポート。

大規模なデータセット(500万+レコード)をトレーニングする際にGBMとXGBoostを使用するときの私の経験では、同じデータセットのメモリ利用(Rで)が大幅に減少したことがあり、トレーニング時間を短縮するために複数のコアを使用しやすくなりました。

非常に重要な違いの1つはです xgboost 実装しています DART、回帰ツリーのドロップアウト正規化.

参照

Rashmi、KV、およびGilad-Bachrach、R。(2015)。 DART:ドロップアウトは、複数の添加剤回帰ツリーに会います。 arxiv preprint arxiv:1505.01866。

グラデーションブーストとxgboostの違いはxgboostにあると思います。アルゴリズムは、見ることができるツリー形成を並列化することにより、計算能力に焦点を当てています。 このブログ.

勾配ブーストは、XGブーストが正則化係数にも焦点を合わせることができるバイアス間のトレードオフではありませんが、分散に焦点を当てません。

xgboostの実装はバギーです。 V 082でGPUでトレーニングするとき、静かにクラッシュしました 。それは私にも起こりました v 0.90, 、したがって、この問題はこれまでのところ対処されておらず、GitHubで提供される「修正」は私にはうまくいきませんでした。

LGBM 2.3.1 箱から出して魅力のように機能しますが、インストールするにはもう少し労力が必要です。これまでのところ、GPUのトレーニングに問題はありません。

xgboost であること "非常に高速「、見てみましょう これらのベンチマーク.

ライセンス: CC-BY-SA帰属
所属していません datascience.stackexchange
scroll top