当前位置:   article > 正文

集成学习的一些算法_集成学习算法

集成学习算法

基本思想:“分而治之”。集成学习能够根据不同的单分类器产生的分类决策边界,产生一个集成分类器的边界,集成模型中的单个分类器起到了“分”的作用。

优势:有效降低单个分类器模型的预测误差。

 其中,m为模型数量,r为模型的错误率。当r=0.4时,集成学习模型规模和误差曲线如下图。

需要满足的两个条件:

①分类器之间应该具有预测差异性,这样才能提高模型的集成精确度;

每个个体分类器的分类精度必须大于0.5,否则会起到负面效果。

(一)Bagging

Bagging采用的是有放回重采样(随机采样bootstrap)的方法。用原始训练集构建多个训练样本集合,并训练多个不同的分类器,保证每个分类器之间的差异性,并最终通过组合投票的方式构建集成分类器。

 

为什么是有放回的抽样?

如果不是有放回的抽样,那么每棵树的训练样本都是不同的,样本之间没有交集,这样每棵树都是“有偏差的”,都是“片面的”。

(二)随机森林

“随机”包括随机选取训练样本集和随机选取分裂属性集,具体分为行采样和列采样两种方式。它在Bagging的样本随机抽样基础上,又加上了特征的随机选择,其基本思想没有脱离Bagging的范畴。

错误率影响因素:

①森林中任意两棵树的相关性:相关性越大,错误率越大(说明基分类器差异性越小)。

②森林中每棵树的分类能力:每棵树分类能力越强,整个森林的错误率越低(基分类器准确率高)。

③每棵树选择特征的数量m:减小m,树的相关性和分类能力会相应降低;增加m,两者随之增大。

关键参数和评价:

①每棵树选择的特征数量m:可以选择Square Root(K)、log2K等,其中k为样本总特征数量;也可以使用网格搜索法(Gride Search)调参,求解出最优的K参数。

②决策树的数量:一般设置为500或以上。

③自测方法:一般会有约三分之一的原始数据无法得到采样,自测方法一般选择类似于交叉验证(Cross Validation)的方法。

随机森林的优点:

①不容易陷入过拟合;

②具有很好的抗噪声能力;

③适应能力强,既能处理离散型数据,也能处理连续型数据,数据集无须规范化且能够有效地运行在大数据集上;

④通过随机分裂属性集的特点,能够处理具有高维特征的输入样本,而且不需要降维。

(三)Boosting方法

    该方法是一个迭代的过程。Boosting每次对训练集进行转换后得到加权训练集,重新训练出基模型,最后综合所有的基模型预测结果。Boosting方法通过改变样本分布,使分类器聚集在那些很难分类的样本上,对那些容易错分的数据加强学习,增加错分数据的权重。这样,错分的数据在下一轮的迭代中有更大的作用。代表算法AdaBoost

 

数据权重的作用:

①能够使用这些权值作为抽样分布,对数据进行抽样;

②分类器可以使用权值学习,有利于高权重样本的分类器,从而把一个弱分类器提升为一个强分类器。

(四)GBDT

Gradient Boosting Decision Tree,即梯度提升决策树。该算法以CART作为弱分类器,通常由多棵决策树构成,每棵树规模都较小(即树的深度比较浅)。GBDT也是Boosting算法的一种,但它和AdaBoost算法不同。区别在于:AdaBoost算法是用前一轮弱学习器的误差来更新样本权重值,然后一轮一轮地迭代;GBDT也要迭代,但是GBDT要求弱学习器必须是CART模型,而且GBDT在模型训练时要求模型预测的样本损失尽可能小。

可理解为:每一轮预测和实际值有残差,下一轮根据残差进行预测,最后将所有预测相加得到结果。GBDT是把所有树的结论累加起来得到最终结论的,所以可以想到每棵树的结论并不是房价本身,而是房价的一个累加量。每一棵树学习的是之前所有树结论和的残差,这个残差是一个加预测值后得到真实值的累加量。

GBDT的优点在于,防止过拟合和每一步的残差计算其实变相地增大了分错实例的权重,已经分对的实例则趋向于0

 

 

(五)XGBoost

    出自论文《XGBoost: A Scalable Tree Boosting System》陈天奇。

GBDT不同的是,XGBoost把损失函数的二阶泰勒展开的差值作为学习目标。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/429416
推荐阅读
相关标签
  

闽ICP备14008679号