浅析xgBoosting的优缺点

xgBoost作为一种提升树算法,通过引入正则化项和并行处理等改进措施,在传统Boosting基础上进行了优化。它不仅支持多种分类器,还利用二阶导数提高优化效率,并能自动处理缺失值。此外,xgBoost还支持特征抽样防止过拟合,并在每次迭代后调整叶子节点权重。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Boosting是一种常用的统计学习方法,在训练过程中,通过改变训练样本的权重,学习多个分类器,最终获得最优分类器。在每一轮训练结束之后,降低被正确分类的训练样本权重,增大分类错误的样本权重,多次训练之后,一些被错误分类的训练样本会获得更多关注,而正确的训练样本权重趋近于0,得到多个简单的分类器,通过对这些分类器进行组合,得到一个最终模型。

xgBoosting在传统Boosting的基础上,利用cpu的多线程,引入正则化项,加入剪纸,控制了模型的复杂度。

与GBDT相比,xgBoosting有以下进步:

1)GBDT以传统CART作为基分类器,而xgBoosting支持线性分类器,相当于引入L1和L2正则化项的逻辑回归(分类问题)和线性回归(回归问题);

2)GBDT在优化时只用到一阶导数,xgBoosting对代价函数做了二阶Talor展开,引入了一阶导数和二阶导数;

3)当样本存在缺失值是,xgBoosting能自动学习分裂方向;

4)xgBoosting借鉴RF的做法,支持列抽样,这样不仅能防止过拟合,还能降低计算;

5)xgBoosting的代价函数引入正则化项,控制了模型的复杂度,正则化项包含全部叶子节点的个数,每个叶子节点输出的score的L2模的平方和。从贝叶斯方差角度考虑,正则项降低了模型的方差,防止模型过拟合;

6)xgBoosting在每次迭代之后,为叶子结点分配学习速率,降低每棵树的权重,减少每棵树的影响,为后面提供更好的学习空间;

7)xgBoosting工具支持并行,但并不是tree粒度上的,而是特征粒度,决策树最耗时的步骤是对特征的值排序,xgBoosting在迭代之前,先进行预排序,存为block结构,每次迭代,重复使用该结构,降低了模型的计算;block结构也为模型提供了并行可能,在进行结点的分裂时,计算每个特征的增益,选增益最大的特征进行下一步分裂,那么各个特征的增益可以开多线程进行;

8)可并行的近似直方图算法,树结点在进行分裂时,需要计算每个节点的增益,若数据量较大,对所有节点的特征进行排序,遍历的得到最优分割点,这种贪心法异常耗时,这时引进近似直方图算法,用于生成高效的分割点,即用分裂后的某种值减去分裂前的某种值,获得增益,为了限制树的增长,引入阈值,当增益大于阈值时,进行分裂;

然而,与LightGBM相比,又表现出了明显的不足:

1)xgBoosting采用预排序,在迭代之前,对结点的特征做预排序,遍历选择最优分割点,数据量大时,贪心法耗时,LightGBM方法采用histogram算法,占用的内存低,数据分割的复杂度更低;

2)xgBoosting采用level-wise生成决策树,同时分裂同一层的叶子,从而进行多线程优化,不容易过拟合,但很多叶子节点的分裂增益较低,没必要进行跟进一步的分裂,这就带来了不必要的开销;LightGBM采用深度优化,leaf-wise生长策略,每次从当前叶子中选择增益最大的结点进行分裂,循环迭代,但会生长出更深的决策树,产生过拟合,因此引入了一个阈值进行限制,防止过拟合.


更详细的内容请阅读 https://blog.csdn.net/xwd18280820053/article/details/68927422

差分进化算法(Differential Evolution,DE)是一种基于种群的随机搜索算法,具有以下优缺点: 优点: 1. 高效性:DE算法具有良好的全局搜索能力和快速的收敛速度,尤其在高维问题中表现较为出色。 2. 简单易实现:DE算法的思路简单,易于理解和实现,且不需要对目标函数进行任何假设或限制。 3. 对初始值不敏感:DE算法对初始值不敏感,能够在不同的初始值下得到相似的优化结果。 4. 适用性广泛:DE算法适用于多种优化问题,如函数优化、组合优化、机器学习等领域,具有广泛的应用前景。 缺点: 1. 参数设置困难:DE算法中需要设置种群大小、变异因子、交叉概率等多个参数,参数选择对算法效果具有较大的影响,需要进行反复试验和调整。 2. 易陷入局部最优:DE算法在搜索过程中可能会陷入局部最优解,特别是在目标函数具有多个峰值或存在大量噪声时。 3. 算法复杂度高:DE算法的计算复杂度较高,需要进行大量的重复计算和比较操作。 4. 需要大量的迭代次数:DE算法需要进行大量的迭代计算,因此在处理大规模问题时,计算时间会比较长。 综上所述,DE算法具有高效性、简单易实现、适用性广泛等优点,但也存在参数设置困难、易陷入局部最优、算法复杂度高、需要大量的迭代次数等缺点。需要根据具体问题的特点和要求,选择合适的优化算法进行求解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值