XGBoost、LightGBM和CatBoost

本文介绍了XGBoost、LightGBM和CatBoost三种梯度提升算法,重点讨论了LightGBM的并行优化策略,包括特征并行和数据并行,以及CatBoost在处理类别特征上的优势。XGBoost注重速度和正则化,LightGBM通过leaf-wise策略提高精度和效率,而CatBoost擅长处理类别特征。

1、XGBoost

XGBoost算法的思想:不断添加树,不断进行特征分裂来生成一棵树,每添加一棵树就是学习一个新的函数来拟合上次的残差,当训练完成后得到K棵树,要预测一个样本的分数,其实就是根据样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点对应一个分数,最后需要将每棵树对应的分数加起来就是该样本的预测值;

XGBoost能自动利用cpu的多线程,而且适当改进了gradient boosting,加了剪枝,控制了模型的复杂程度, 传统GBDT以CART作为基分类器,特指梯度提升决策树算法,而XGBoost还支持线性分类器(gblinear),这个时候XGBoost相当于带L1和L2正则化项的逻辑斯蒂回归(分类问题)或者线性回归(回归问题);

XGBoost使用的是pre-sorted算法(对所有特征都按照特征的数值进行预排序,基本思想是对所有特征都按照特征的数值进行预排序;然后在遍历分割点的时候用O(#data)的代价找到一个特征上的最好分割点最后,找到一个特征的分割点后,将数据分裂成左右子节点;

2、LightGBM

LightGBM是个快速、分布式的、高性能的基于决策树的梯度提升算法。可以用于分类、回归、排序等机器学习任务中。因为它是基于决策树算法的,它采用最优的leaf-wise策略分裂叶子节点,其它提升算法一般采用的是depth-wise或者level-wise而不是leaf-wise。因此,在LightGBM算法中,当增长到相同的叶子节点,leaf-wise算法比level-wise算法减少更多的loss。因此导致更高的精度,而其他的任何已存在的提升算法都不能够达。与此同时,它的速度也让人感到震惊,这就是该算法名字Light 的原因。Leaf-Wise分裂导致复杂性的增加并且可能导致过拟合。但是这是可以通过设置另一个参数 max-depth来克服,它分裂产生的树的最大深度。总结起来LightGBM采用Histogram算法进行特征选择以及采用Leaf-wise的决策树生长策略,使其在一批以树模型为基模型的boosting算法中脱颖而出。

Li

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值