内容简介:尽管近年来神经网络复兴并大为流行,但提升算法在训练样本量有限、所需训练时间较短、缺乏调参知识等场景依然有其不可或缺的优势。目前代表性的提升方法有 CatBoost、Light GBM 和XGBoost等,本文介绍一项新的开源工作,它构建了另一种基于 GPU 的极速梯度提升决策树和随机森林算法。项目地址:https://github.com/Xtra-Computing/thundergbm那么我们为什么加速 GBDT 和随机森林?2017 年,一份 Kaggle 调查显示,数据挖掘和机器学习从业者中分别有
尽管近年来神经网络复兴并大为流行,但提升算法在训练样本量有限、所需训练时间较短、缺乏调参知识等场景依然有其不可或缺的优势。目前代表性的提升方法有 CatBoost、Light GBM 和XGBoost等,本文介绍一项新的开源工作,它构建了另一种基于 GPU 的极速梯度提升决策树和随机森林算法。
项目地址:https://github.com/Xtra-Computing/thundergbm
那么我们为什么加速 GBDT 和随机森林?2017 年,一份 Kaggle 调查显示,数据挖掘和机器学习从业者中分别有 50%、46% 和 24% 的人使用决策树、随机森林和 GBM。GBDT 和 随机森林 经常被用来创建当前最佳的数据科学解决方案,这就要求我们能使用 GPU 在大型数据集上完成高效训练。
两棵决策树的集成方法,选自XGBoost文档。
尽管XGBoost等库已经支持 GPU 了,但毕竟不是一开始就为 GPU 而设计的,因此在优化和加速上会有一些瑕疵。而 ThunderGBM 旨在帮助用户轻松高效地应用 GBDT 和随机森林来解决问题,它可以利用 GPU 完成高效训练。
对于 GPU 而言,ThunderGBM 在很多任务上都比其它几个库要快。
ThunderGBM 的主要特征如下:
-
通常是其它库的 10 倍。
-
支持 Python(scikit-learn)接口。
-
支持操作系统 Linux。
-
支持分类、回归和排序。
ThunderGBM 预测和训练的整体流程。
ThunderGBM 主要作者包括新加坡国立大学的 Zeyi Wen 和 Qinbin Li、华南理工大学的 Jiashuai Shi 等,指导教师为 NUS 的 Bingsheng He。
入门指南
ThunderGBM 要求开发环境满足 cmake 2.8 或更高版本;对于 Linux,使用 gcc 4.8 或更高版本;C++boost; CUDA 8 或更高版本。
下载:
git clone https://github.com/zeyiwen/thundergbm.git cd thundergbm # under the directory of thundergbm git submodule init cub && git submodule update
在 Linux 上构建:
#under the directory of thundergbm mkdir build && cd build && cmake .. && make -j
快速测试:
./bin/thundergbm-train ../dataset/machine.conf ./bin/thundergbm-predict ../dataset/machine.conf
成功运行后,你将看到 RMSE = 0.489562。
相关研究
如果读者对实现的技术及模型细节感兴趣,可以查阅原论文:
论文地址:https://www.comp.nus.edu.sg/~wenzy/papers/thundergbm.pdf
其它相关文献:
-
论文:Efficient Gradient Boosted Decision Tree Training on GPUs
-
作者:Zeyi Wen, Bingsheng He, Kotagiri Ramamohanarao, Shengliang Lu, and Jiashuai Shi
-
地址:https://www.comp.nus.edu.sg/~hebs/pub/IPDPS18-GPUGBDT.pdf
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 闪电网络最新漏洞分析:仅需攻击85个节点便可窃取闪电节点通道资金
- BlitzScaling -- 闪电式扩张 - 1
- 闪电页面速度的12个步骤
- 闪电智能平台 让 AI帮你轻松创作
- 在发了1000笔闪电网络交易之后,我们有话说
- 程序猿菜鸟打怪升级:一路火花带闪电
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Node.js开发指南
郭家寶(BYVoid) / 人民邮电出版社 / 2012-7 / 45.00元
Node.js是一种方兴未艾的新技术,诞生于2009年。经过两年的快速变化,Node.js生态圈已经逐渐走向稳定。Node.js采用了以往类似语言和框架中非常罕见的技术,总结为关键词就是:非阻塞式控制流、异步I/O、单线程消息循环。不少开发者在入门时总要经历一个痛苦的思维转变过程,给学习带来巨大的障碍。 而本书的目的就是帮助读者扫清这些障碍,学会使用Node.js进行Web后端开发,同时掌握事件驱......一起来看看 《Node.js开发指南》 这本书的介绍吧!