44

XGBoost は、前のモデルの残差をモデル化する追加トレーニングの方法を使用します。

これはシーケンシャルですが、並列計算はどのように行われるのでしょうか?

4

2 に答える 2

57

あなたが指摘したように、Xgboostは複数のツリーを並行して実行しません。勾配を更新するには、各ツリーの後に予測が必要です。

むしろ、単一のツリー内で並列化を行い、openMP を使用してブランチを個別に作成します。

これを観察するには、巨大なデータセットを構築し、n_rounds=1 で実行します。すべてのコアが 1 つのツリーで発火しているのがわかります。これが、非常に高速で、よく設計されている理由です。

于 2015-12-08T21:31:16.317 に答える