lightgbm集成学习库学习
一、前言
随着GBDT的广泛应用与大数据集的日益增加,对算法的效率要求不断提高;因此基于GBDT上出现了不少改进算法,其中XGBoost是改进成功的代表.然在高维特征跟大型数据集场景下,改进算法仍无法满足需求.因此又出现了针对该问题的改进算法light GBM,其特别之处在于提出了一个基于梯度的单边采样降低了训练集大小,提出了一个互斥特征绑定,降低了特征维度,从而在精度差异不大的情况下.提升了模型的效率.
1、基于梯度的单边采样
根据信息增益的定义,梯度越大的样本,对增益贡献越大;根据该点,我们根据某阈值(或头部百分比)保留梯度大的样本,随机丢弃梯度小的样本;该方法经证明所得精度要好于统一随机采样方法.
该方法具体流程如下:
- 训练数据集I,迭代次数d,大梯度样本比例为a,小梯度样本比例为b
- 首先使用当前已训练好的模型对数据进行预测,并计算其损失值,及其梯度,其中样本权重均为1
- 按样本梯度进行排序,按大小梯度比例对样本进行采样,其中大梯度样本数为 a ∗ l e n ( I ) a*len(I) a∗len(I),直接取a对应的排序top(m)样本数;小梯度样本数为 b ∗ l e n ( I ) b*len(I) b∗