2015-12-08 83 views
12

XGBoost使用加法训练方法,在该方法中,它模拟以前模型的残差。XGBoost如何进行并行计算?

这是连续的,但它是如何并行计算呢?

+0

感谢提问 - 我有同样的问题。 – nkhuyu

+0

一个很好的博客[这里](http://www.parallelr.com/parallel-computation-with-r-and-xgboost/)涵盖平行和XGboost。 – Patric

回答

19

Xgboost不会像您所记录的那样并行运行多个树,您需要在每棵树之后更新渐变之后进行预测。

相反,它并行化在一棵树中我使用openMP独立创建分支。

为了观察这个,建立一个巨大的数据集并运行n_rounds = 1。你会看到你的核心在一棵树上射击。这就是为什么它的设计如此之快。

+0

欲了解更多详情,请参阅http://zhanpengfang.github.io/418home.html。 –

+0

@T。 Scharf但是,这对于多个节点(即多台计算机)而言是如何工作的,而不是多台核心的一台计算机?在树中同步树的通信量将是巨大的 – AbdealiJK

+0

是没有绕过这个事实.. @AbdealiJK但如果你的数据是如此之大,你需要分发它这是你付出的代价 –