久前微软 DMTK (分布式机器学习工具包)团队在 GitHub 上开源了性能超越其他 boosting 工具的 LightGBM
知乎上有近千人关注“如何看待微软开源的 LightGBM?”问题,被评价为“速度惊人”,“非常有启发”,“支持分布式”,“代码清晰易懂”,“占用内存小”等。
GBDT :
GBDT (Gradient Boosting Decision Tree) 是机器学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。GBDT 在工业界应用广泛,通常被用于点击率预测,搜索排序等任务。GBDT 也是各种数据挖掘竞赛的致命武器,据统计 Kaggle 上的比赛有一半以上的冠军方案都是基于 GBDT。
LightGBM (Light Gradient Boosting Machine)(请点击 https://github.com/Microsoft/LightGBM)是一个实现 GBDT 算法的框架,支持高效率的并行训练,并且具有以下优点:
更快的训练速度
更低的内存消耗
更好的准确率
分布式支持,可以快速处理海量数据
中文参考:http://lightgbm.apachecn.org/cn/latest/Quick-Start.html
从 LightGBM 的 GitHub 主页上可以直接看到实验结果:
从下图实验数据可以看出,在 Higgs 数据集上 LightGBM 比 XGBoost 快将近 10 倍,内存占用率大约为 XGBoost 的1/6,并且准确率也有提升。在其他数据集上也可以观察到相似的结论。
训练速度方面
内存消耗方面
准确率方面
(我们只和 xgboost 进行对比,因为 xgboost 号称比其他的 boosting 工具都要好,从他们的实验结果来看也是如此。) XGBoost 与其他方法在 Higgs-1M 数据的比较:
XGBoost 与其他方法在 Yahoo LTR 数据的比较: