赞
踩
基本思想:“分而治之”。集成学习能够根据不同的单分类器产生的分类决策边界,产生一个集成分类器的边界,集成模型中的单个分类器起到了“分”的作用。
优势:有效降低单个分类器模型的预测误差。
其中,m为模型数量,r为模型的错误率。当r=0.4时,集成学习模型规模和误差曲线如下图。
需要满足的两个条件:
①分类器之间应该具有预测差异性,这样才能提高模型的集成精确度;
②每个个体分类器的分类精度必须大于0.5,否则会起到负面效果。
Bagging采用的是有放回重采样(随机采样bootstrap)的方法。用原始训练集构建多个训练样本集合,并训练多个不同的分类器,保证每个分类器之间的差异性,并最终通过组合投票的方式构建集成分类器。
为什么是有放回的抽样?
如果不是有放回的抽样,那么每棵树的训练样本都是不同的,样本之间没有交集,这样每棵树都是“有偏差的”,都是“片面的”。
“随机”包括随机选取训练样本集和随机选取分裂属性集,具体分为行采样和列采样两种方式。它在Bagging的样本随机抽样基础上,又加上了特征的随机选择,其基本思想没有脱离Bagging的范畴。
错误率影响因素:
①森林中任意两棵树的相关性:相关性越大,错误率越大(说明基分类器差异性越小)。
②森林中每棵树的分类能力:每棵树分类能力越强,整个森林的错误率越低(基分类器准确率高)。
③每棵树选择特征的数量m:减小m,树的相关性和分类能力会相应降低;增加m,两者随之增大。
关键参数和评价:
①每棵树选择的特征数量m:可以选择Square Root(K)、log2K等,其中k为样本总特征数量;也可以使用网格搜索法(Gride Search)调参,求解出最优的K参数。
②决策树的数量:一般设置为500或以上。
③自测方法:一般会有约三分之一的原始数据无法得到采样,自测方法一般选择类似于交叉验证(Cross Validation)的方法。
随机森林的优点:
①不容易陷入过拟合;
②具有很好的抗噪声能力;
③适应能力强,既能处理离散型数据,也能处理连续型数据,数据集无须规范化且能够有效地运行在大数据集上;
④通过随机分裂属性集的特点,能够处理具有高维特征的输入样本,而且不需要降维。
该方法是一个迭代的过程。Boosting每次对训练集进行转换后得到加权训练集,重新训练出基模型,最后综合所有的基模型预测结果。Boosting方法通过改变样本分布,使分类器聚集在那些很难分类的样本上,对那些容易错分的数据加强学习,增加错分数据的权重。这样,错分的数据在下一轮的迭代中有更大的作用。代表算法AdaBoost。
数据权重的作用:
①能够使用这些权值作为抽样分布,对数据进行抽样;
②分类器可以使用权值学习,有利于高权重样本的分类器,从而把一个弱分类器提升为一个强分类器。
Gradient Boosting Decision Tree,即梯度提升决策树。该算法以CART作为弱分类器,通常由多棵决策树构成,每棵树规模都较小(即树的深度比较浅)。GBDT也是Boosting算法的一种,但它和AdaBoost算法不同。区别在于:AdaBoost算法是用前一轮弱学习器的误差来更新样本权重值,然后一轮一轮地迭代;GBDT也要迭代,但是GBDT要求弱学习器必须是CART模型,而且GBDT在模型训练时要求模型预测的样本损失尽可能小。
可理解为:每一轮预测和实际值有残差,下一轮根据残差进行预测,最后将所有预测相加得到结果。GBDT是把所有树的结论累加起来得到最终结论的,所以可以想到每棵树的结论并不是房价本身,而是房价的一个累加量。每一棵树学习的是之前所有树结论和的残差,这个残差是一个加预测值后得到真实值的累加量。
GBDT的优点在于,防止过拟合和每一步的残差计算其实变相地增大了分错实例的权重,已经分对的实例则趋向于0。
出自论文《XGBoost: A Scalable Tree Boosting System》陈天奇。
与GBDT不同的是,XGBoost把损失函数的二阶泰勒展开的差值作为学习目标。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。