标签:很多 通过 内存 推出 ati 相同 就是 比较 父节点
LightGBM算法在模型的训练速度和内存方面都有相应的优化。
基于树模型的boosting算法,很多算法比如(xgboost 的默认设置)都是用预排序(pre-sorting)算法进行特征的选择和分裂。
LightGBM采用Histogram算法,其思想是将连续的浮点特征离散成k个离散值,并构造宽度为k的Histogram。然后遍历训练数据,统计每个离散值在直方图中的累计统计量。在进行特征选择时,只需要根据直方图的离散值,遍历寻找最优的分割点。
Histogram 算法的优缺点:
LightGBM的leaf-wise的生长策略
它摒弃了现在大部分GBDT使用的按层生长(level-wise)的决策树生长策略,使用带有深度限制的按叶子生长(leaf-wise)的策略。level-wise过一次数据可以同时分裂同一层的叶子,容易进行多线程优化,也好控制模型复杂度,不容易过拟合。但实际上level-wise是一种低效的算法,因为它不加区分的对待同一层的叶子,带来了很多没必要的开销,因为实际上很多叶子的分裂增益较低,没必要进行搜索和分裂。
Leaf-wise则是一种更为高效的策略,每次从当前所有叶子中,找到分裂增益最大的一个叶子,然后分裂,如此循环。因此同Level-wise相比,在分裂次数相同的情况下,Leaf-wise可以降低更多的误差,得到更好的精度。Leaf-wise的缺点是可能会长出比较深的决策树,产生过拟合。因此LightGBM在Leaf-wise之上增加了一个最大深度的限制,在保证高效率的同时防止过拟合。
LightGBM支持类别特征
实际上大多数机器学习工具都无法直接支持类别特征,一般需要把类别特征,转化one-hotting特征,降低了空间和时间的效率。而类别特征的使用是在实践中很常用的。基于这个考虑,LightGBM优化了对类别特征的支持,可以直接输入类别特征,不需要额外的0/1展开。并在决策树算法上增加了类别特征的决策规则。
以上是LightGBM算法的特别之处,除此之外LightGBM还具有高校并行的特点。下一篇文章将介绍LightGBM的特征并行(Feature Parallel)和数据并行(Data Parallel),以及相较于传统的并行方法的优点。
标签:很多 通过 内存 推出 ati 相同 就是 比较 父节点
原文地址:https://www.cnblogs.com/ldt-/p/10206356.html