赞
踩
LightGBM(Light Gradient Boosting Machine)是一个实现GBDT算法的框架,支持高效率的并行训练,并且具有更快的训练速度、更低的内存消耗、更好的准确率、支持分布式可以快速处理海量数据等优点。
GBDT在每一次迭代的时候,都需要遍历整个训练数据多次。如果把整个训练数据装进内存则会限制训练数据的大小;如果不装进内存,反复地读写训练数据又会消耗非常大的时间。因此LightGBM提出的主要目的就是解决GBDT在海量数据时的问题,让GBDT可以更好更快地用于工业实践。
为每个特征构造一个直方图:将该特征的所有数据按值域划分为k个区间,k个区间对应直方图的k个箱子,每个区间内数据的量对应直方图每个箱子的高度,当然每个箱子实际存储的还有该箱子中数据的一阶导数和、二阶导数和等。
优点
1.内存占用小,只需要保存特征离散化后的值
2.计算代价更小:XGBoost的时间复杂度为O(样本数特征数),LightGBM的时间复杂度为O(k特征数)。
缺点:
特征被离散化后,找到的不是精确的分割点。但大量的实验结果表明,离散化的分割点对最终的预测精度影响并不大,甚至有时候会更好一些,因为粗的分割点有正则化的效果,可以防止过拟合;
一个叶子的直方图可以由它的父亲节点的直方图与它兄弟的直方图做差得到,在速度上可以提升一倍。在实际构建树的过程中,LightGBM还可以先计算直方图小的叶子节点,然后利用直方图做差来获得直方图大的叶子节点,这样就可以用非常微小的代
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。