Leaf-wise则是一种更为高效的策略,每次从当前所有叶子中,找到分裂增益最大的一个叶子,然后分裂,如此循环。因此同Level-wise相比,在分裂次数相同的情况下,Leaf-wise可以降低更多的误差,得到更好的精度。Leaf-wise的缺点是可能会长出比较深的决策树,产生过拟合。因此LightGBM在Leaf-wise之上增加了一个最大深度的限制,在保证高效率的同时防止过拟合。
>>>> 直方图差加速 LightGBM另一个优化是Histogram(直方图)做差加速。一个容易观察到的现象:一个叶子的直方图可以由它的父亲节点的直方图与它兄弟的直方图做差得到。通常构造直方图,需要遍历该叶子上的所有数据,但直方图做差仅需遍历直方图的k个桶。利用这个方法,LightGBM可以在构造一个叶子的直方图后,可以用非常微小的代价得到它兄弟叶子的直方图,在速度上可以提升一倍。
>>>> 直接支持类别特征 实际上大多数机器学习工具都无法直接支持类别特征,一般需要把类别特征,转化到多维的0/1特征,降低了空间和时间的效率。而类别特征的使用是在实践中很常用的。基于这个考虑,LightGBM优化了对类别特征的支持,直播,可以直接输入类别特征,不需要额外的0/1展开。并在决策树算法上增加了类别特征的决策规则。在Expo数据集上的实验,相比0/1展开的方法,训练速度可以加速8倍,并且精度一致。据我们所知,LightGBM是第一个直接支持类别特征的GBDT工具。 LightGBM的单机版本还有很多其他细节上的优化,比如cache访问优化,多线程优化,稀疏特征优化等等,更多的细节可以查阅 Github Wiki (https://github.com/Microsoft/LightGBM/wiki) 上的文档说明。 优化汇总对比表:
在探寻了LightGBM的优化之后,发现LightGBM还具有支持高效并行的优点。LightGBM原生支持并行学习,目前支持特征并行和数据并行的两种。特征并行的主要思想是在不同机器在不同的特征集合上分别寻找最优的分割点,然后在机器间同步最优的分割点。数据并行则是让不同的机器先在本地构造直方图,然后进行全局的合并,最后在合并的直方图上面寻找最优分割点。LightGBM针对这两种并行方法都做了优化,在特征并行算法中,通过在本地保存全部数据避免对数据切分结果的通信;在数据并行中使用分散规约 (Reduce scatter) 把直方图合并的任务分摊到不同的机器,降低通信和计算,并利用直方图做差,进一步减少了一半的通信量。基于投票的数据并行则进一步优化数据并行中的通信代价,使通信代价变成常数级别。在数据量很大的时候,使用投票并行可以得到非常好的加速效果。更具体的内容可以看我们在NIPS2016的文章[1]。
LightGBM的工作还在持续进行,近期将会增加更多的新功能,如: R, Julia 等语言支持(目前已原生支持python,R语言正在开发中) 更多平台(如Hadoop和Spark)的支持 GPU加速 此外,LightGBM开发人员呼吁大家在Github上对LightGBM贡献自己的代码和建议,一起让LightGBM变得更好。DMTK也会继续开源更多优秀的机器学习工具,敬请期待。 [1] Meng, Qi, Guolin Ke, Taifeng Wang, Wei Chen, Qiwei Ye, Zhi-Ming Ma, and Tieyan Liu. "A Communication-Efficient Parallel Algorithm for Decision Tree." In Advances In Neural Information Processing Systems, pp. 1271-1279. 2016. 新智元招聘 职位 运营总监 职位年薪:36- 50万(工资+奖金) 工作地点:北京-海淀区 所属部门:运营部 汇报对象:COO 下属人数:2人 年龄要求:25 岁 至 35 岁 性别要求:不限 工作年限:3 年以上 语 言:英语6级(海外留学背景优先) 职位描述 负责大型会展赞助商及参展商拓展、挖掘潜在客户等工作,人工智能及机器人产业方向 擅长开拓市场,并与潜在客户建立良好的人际关系 深度了解人工智能及机器人产业及相关市场状况,随时掌握市场动态 主动协调部门之间项目合作,组织好跨部门间的合作,具备良好的影响力 带领团队完成营业额目标,并监控管理项目状况 负责公司平台运营方面的战略计划、合作计划的制定与实施 岗位要求 大学本科以上学历,硕士优先,要求有较高英语沟通能力 3年以上商务拓展经验,有团队管理经验,熟悉商务部门整体管理工作 对传统全案公关、传统整合传播整体方案、策略性整体方案有深邃见解 具有敏锐的市场洞察力和精确的客户分析能力、较强的团队统筹管理能力 (责任编辑:本港台直播) |