赏金女王pg破解版下载 RF、GBDT、XGBoost、lightGBM原理与区别
属于集成学习(Ensemble Learning)的有RF、GBDT以及XGBoost,其目的是用于增强整体性能,具体是什么方面整体上呢?用于改善单个学习器相应的泛化能力以及鲁棒性这些方面,而依据的方式是通过结合多个基学习器各自的预测结论。 。
基于个体学习器的生成方式,当下的集成学习方法大体被分成两大类,其一为个体学习器之间有着强依赖关系、且必须串行生成的时候序列化的方法,其二是个体学习器间无强依赖关联、能够同时生成的并行化方法,前者的代表是Boosting,后者的代表是Bagging和“随机森林”(Random Forest)。
1、RF
1.1 原理
若提及随机森林,那便不能不谈Bagging,Bagging能够被简单地理解成:进行放回抽样,通过多数表决(用于分类)或者简单平均(用于回归),并且Bagging的基学习器之间是属于并列生成的情况,不存在强依赖关系。
随机森林是Bagging的扩展变体,它基于决策树构建Bagging集成在此基础上,并通过在决策树训练进程里引入随机方式来让特征选择出现随机性,所以能总结出随机森林涵盖四个部分,分别是在可供的数据集抽出样本且随机抉择(进行放回抽样操作)取出样本,并从众多的特征里随机挑选出特征巅峰国际pg平台官网,之后依据已挑选的样本和特征去构建决策树,最后随机森林会通过投票方式(采用平均的方法对结果投票)得到最终结果。
随机选择样本,这和Bagging情况相同,随机选择特征,意味着在树的构建过程中,要从样本集的特征集合里面随机挑选部分特征,随后再从这个子集中挑选出最优的属性用于划分,因这种随机性,致使随机森林的偏差会出现稍微的增加,这里指的是相比于单棵不随机的树而言,不过呢,由于随机森林具备‘平均’特性,所以会促使它的方差减小,并且方差的减小补偿了偏差的增大,故而总体来说它是更好的模型。
于构建决策树之际,RF的每一个一棵树均朝着最大可能性去生长,且不开展剪枝;在针对预测输出作结合之时,RF一般而言针对分类问题采用简单投票手段,针对回归任务采用简单平均方式 。
RF的重要特性在于,无需对其开展交叉验证,也不用运用一个独立的测试集去获取无偏估计,它能够在内部予以评估,这意味着在生成的进程当中能够对误差进行无偏估计,鉴于每个基学习器仅仅使用了训练集中大概63.2%的样本,剩余大约36.8%的样本可用来当作验证集,从而对其泛化性能实施“包外估计”。
RF与Bagging作对比,RF开局性能欠佳,尤其在仅有一个基学习器之际,伴随学习器数量增多,随机森林往往会趋向更低的泛化误差。随机森林的训练效率也比特装袋高,原因在于构建单个决策树时,装袋采用的是“确定性”决策树,于推选特征划分节点时,需考量全部特征,而随机森林运用的是“随机性”数量特征,仅需考虑特征的子集。
1.2 优缺点
在数据集方面,随机森林有着较出色的表现,相较于其他算法,于训练速度以及预测准确度上存在较大优势,这是它的优点之一 ,它还能进行高维数据的处理,无需使用特征选择,且在完成训练后,可给出特征的重要性,这是优点之二,此算法还具备容易转化为并行化方法的特性,这属于优点之三 。
RF的缺点:在噪声较大的分类或者回归问题上回过拟合。
2、GBDT
提GBDT之前,先谈一下Boosting,它是一类技术,这类技术跟Bagging很相像,在Boosting、Bagging里,所运用的多个分类器类型是相同的,然而在前者当中,不同分类器是经串行训练获取的,每个新分类器依据已训练的分类器的性能来训练,Boosting借助关注被已有分类器错分的数据来得到新分类器。
考虑到Boosting分类之结果乃是依凭所有分类器的加权求和结果而产生的,所以Boosting跟Bagging存在着差异,Bagging里的分类器权值是相同的,然而Boosting里的分类器权重并非等同,每一个权重所代表的是对应的分类器在上一轮迭代期间的成功程度。
2.1 原理
GBDT和传统的Boosting区别显著,它的每次计算目的是减少上一次的残差,为消除残差,可在残差减小的梯度方向建立模型,因此,在GradientBoost里,每个新模型的建立是让之前模型的残差朝着梯度下降的方式,这跟传统的Boosting中关注正确错误样本加权有极大区别。
于GradientBoosting算法里头,关键之处在于,借助损失函数的负梯度方向,将其在当前模型所获的值当作残差的近似值,紧接着,去拟合一棵CART回归树。
GBDT会累加所有树的结果,这种累加没办法通过分类来完成,所以GBDT所使用的树都是CART回归树,并非分类树(即便GBDT经过调整后能够用于分类,可这并不意味着GBDT的树就是分类树) 。
2.2 优缺点
GBDT的性能于RF的基础之上更进一步提高,所以其优点十分显著,其一,它能够对各类不同类型的数据进行灵活处理,其二,在相对较少的调参时间状况下,预测的准确度比较高。
当然,因为它属于Boosting,所以基学习器之前有串行关系,很难并行训练数据。
3、XGBoost
3.1 原理
一步提升之处在于,XGBoost的性能较GBDT又有了进步,并且其性能可借由各类比赛略见端倪。在坊间,对于XGBoost最大的认识是,它能够自动利用CPU的多线程开展并行计算时,还提高了算法精度。
由于GBDT在合理参数设置情形下,常常需生成一定数量的树方可达到令人满意的准确率,在数据集较为复杂之际,模型或许需要几千次迭代运算,然而,XGBoost借助并行的CPU更好地解决了这个问题。
3.2优点
1、传统的GBDT把CART树用作基学习器,XGBoost能支持线性分类器,在这种当下,XGBoost于数值上等价于带有L1和L2正则化的逻辑斯蒂回归参与分类工作或者为了线性回归进行归算;。
传统的GBDT于优化之际,仅仅运用了一阶导数信息,而XGBoost却针对代价函数实施了二阶泰勒展开,进而获取了一阶和二阶导数,。
2、XGBoost往代价函数当中增添了正则项,其目的在于对模型的复杂度予以控制。从权衡方差偏差这个角度来讲,它削减了模型的方差,致使学习所得的模型更为简单,以此防止过拟合,这同样是XGBoost相较于传统GBDT更为优越的一个特性。
3、shrinkage(缩减),这等同于学习速率(XGBoost里的eta)。XGBoost在做完一次迭代时,会把叶子节点的权值乘上此系数www.pg.qq.com,其主要目的在于削弱每棵树的影响力,从而给后面留出更大的学习空间。(GBDT也存在学习速率);。
4、列抽样。XGBoost参照随机森林的方式,支持列抽样,不但能防止过拟合,而且还可减少计算, 。
5、针对缺失值予以处理,对于那些特征的值具备缺失情况的样本,在这类样本中,XGBoost能够还自动学习出其分裂的方向,。
6,XGBoost这个工具是支持并行的,Boosting难道不是一种串行结构的嘛,那么它是怎么实现并行的呢,要注意的是,XGBoost的并行并非是tree粒度的并行,而且XGBoost是要一次迭代完成之后才可以开展下一次迭代的,这里要说明一下,第t次迭代的代价函数当中是包含了前面t - 1次迭代的预测值的,XGBoost的并行是在特征粒度上的。我们清楚,决策树学习里最耗费时间的一个步骤便是针对特征的值开展排序,这是由于务必要确定最佳分割点。XGBoost在训练之前,预先着手对数据实施排序,随后保存成block结构,在后面的迭代当中反复运用这个结构,极大地削减了计算量。这个block结构也能够使得并行变为可能,在进行节点的分裂之际,需要计算每个特征的增益,最终挑选增益最大的那个特征去实施分裂,那么各个特征的增益计算便能够开启多线程来进展。
3.3缺点
1、以 level-wise 这种建树方式,它对待当前层的全部叶子节点是同等看待的,存在一些叶子节点,其分裂所带来的收益极小,对最终结果没有产生影响问鼎赏金女王pg官网入口下载手机版安,然而却依旧要进行分裂,如此便加重了计算所需付出的代价。
2、预排序方法,其空间消耗相对较大,它不但要对特征值予以保存,还得保存特征的排序索引,与此同时,时间消耗同样很大,于遍历每个分裂点之际,均要进行分裂增益的计算(然而此缺点能够被近似算法予以克服) 。
4、lightGBM
4.1 与XGboost对比
1、xgboost所采用的是level - wise的分裂策略、而lightGBM采用的是leaf - wise的策略 ,它们的区别在于 ,xgboost针对每一层全部节点都去做无差别分裂 ,其中或许存在一些节点的增益极为微小 ,对于结果所产生的影响并不显著 ,然而xgboost依旧进行了分裂 ,从而带来了必不可免的开销 。叶子方向的做法是,在当下所有叶子节点之内,挑选分裂收益最大的节点来实施分裂,像这样递归开展,很明显,以叶子方向这种做法,易于出现过拟合情况,因为容易陷入深度相对较高的状况里,所以需要对最大深度加以限制,进而防止过拟合现象的发生。
2、lightgbm采用了基于histogram的决策树算法,此与xgboost里面的exact算法不一样,histogram算法于内存跟计算代价方面皆存在不小的优势。
(1)内存方面的优势表现为:很显然,直方图算法在内存上的消耗是 ,其计算方式是括号内的数据 ,其中括号内为相关数据量的乘积,即数量乘以特征数量再乘以 1 字节 ,原因在于对特征进行分桶后,仅仅需要保存特征离散化之后所得到的值 ;而 xgboost 的 exact 算法内存消耗是这样计算的 ,其式子由上述可见等于括号中内容 ,括号内为相关数据量的乘积 ,数量乘以 (2 倍特征数量) 再乘以 4 字节 ,这是因为 xgboost 既要去保存原始特征的值 ,还要去保存此值的顺序索引 ,并且这些值需要用 32 位的浮点数来进行保存 。
(2)计算方面存在优势,预排序算法于选择好分裂特征去计算分裂收益之际,得要遍历所有样本的特征值,所花费时间为(#data),然而直方图算法仅仅只需遍历桶就行,所花费时间为(#bin) 。
3、直方图做差加速
可以依据父节点的直方图,减去兄弟节点的直方图后,得到用来加速计算的一个子节点的直方图。,。
4、lightgbm可为直接输入categorical 的feature提供支持 , 。
在做离散特征分裂之际,针对每个取值而言,均视其为一个桶,于进行分裂之时,所计算的增益乃是指“是否归属于某个category”的增益,这与one - hot编码相类似,。
5、多线程优化
参考:
这是一个网址链接,其中,http是一种网络协议标识头部,://代表网络传输类型跳转代码,blog.csdn.net是科技相关内容分享平台的网址域名部分标识,qq_28031525是一串字符组成的标识个体,在这个网址。
请你明确一下改写要求呀,单纯提供一个链接,不好按照要求进行改写呢。
只是一个链接地址,https://www.cnblogs.com/infaraway/p/7890558.html,没办法进行语言表达上的改写。它就是此链接地址呀。 不过按照要求,硬要拆分改写会很。
鲁ICP备18019460号-4
我要评论