2021-09-12

bagging boosting 和 提升树

  • bagging是通过结合几个模型降低泛化误差,分别训练几个不同的模型,然后让所有的模型表决测试样例的输出。模型平均奏效的原因是不同的模型通常不会在测试集上产生完全相同的误差。从原始样本集中抽取训练集.每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中).共进行k轮抽取,得到k个训练集.(k个训练集相互独立)
  • Bagging是并行的学习算法,思想很简单,即每一次从原始数据中根据均匀概率分布有放回的抽取和原始数据集一样大小的数据集合。样本点可以出现重复,然后对每一次产生的数据集构造一个分类器,再对分类器进行组合。对于分类问题,将上步得到的k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果.
  • Boosting是一族可将弱学习器提升为强学习器的算法.Boosting的每一次抽样的样本分布是不一样的,每一次迭代,都是根据上一次迭代的结果,增加被错误分类的样本的权重。使模型在之后的迭代中更加注重难以分类的样本。这是一个不断学习的过程,也是一个不断提升的过程,这就是Boosting思想的本质所在。迭代之后,将每次迭代的基分类器进行集成,那么如何进行样本权重的调整和分类器的集成是我们需要考虑的关键问题。

Bagging和Boosting的区别:

  • 1)样本选择上:Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的.
    Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化.而权值是根据上一轮的分类结果进行调整.
  • 2)样例权重:Bagging:使用均匀取样,每个样例的权重相等 Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大.
  • 3)预测函数:Bagging:所有预测函数的权重相等.Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重.

4)并行计算:Bagging:各个预测函数可以并行生成 Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果.

  • Bagging 是 Bootstrap Aggregating 的简称,意思就是再取样 (Bootstrap)然后在每个样本上训练出来的模型取平均,所以是降低模型的 variance. Bagging 比如 Random Forest这种先天并行的算法都有这个效果。Boosting则是迭代算法,每一次迭代都根据上一次迭代的预测结果对样本进行加权,所以随着迭代不断进行,误差会越来越小,所以模型的 bias会不断降低High variance 是model过于复杂overfit,记住太多细节noise,受outlier影响很大;high bias是underfit,model过于简单,cost function不够好。boosting是把许多弱的分类器组合成一个强的分类器。弱的分类器bias高,而强的分类器bias低,所以说boosting起到了降低bias的作用。variance不是boosting的主要考虑因素。bagging是对许多强(甚至过强)的分类器求平均。在这里,每个单独的分类器的bias都是低的,平均之后bias依然低;而每个单独的分类器都强到可能产生overfitting的程度,也就是variance高,求平均的操作起到的作用就是降低这个variance。Bagging算法的代表:RandomForest随机森林算法的注意点:
  • 在构建决策树的过程中是不需要剪枝的。
  • 整个森林的树的数量和每棵树的特征需要人为进行设定。
  • 构建决策树的时候分裂节点的选择是依据最小基尼系数的。
  • 咱们机器学习升级版的随机森林章节,我用白板写了写这个公式:p = 1 - (1 -1/N)^N,其意义是:一个样本在一次决策树生成过程中,被选中作为训练样本的概率,当N足够大时,约等于63.2%。简言之,即一个样本被选中的概率是63.2%,根据二项分布的的期望,这意味着大约有63.2%的样本被选中。即有63.2%的样本是不重复的,有36.8%的样本可能没有在本次训练样本集中。随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。随机森林的随机性体现在每颗树的训练样本是随机的,树中每个节点的分裂属性集合也是随机选择确定的。有了这2个随机的保证,随机森林就不会产生过拟合的现象了。随机森林是用一种随机的方式建立的一个森林,森林是由很多棵决策树组成的,每棵树所分配的训练样本是随机的,树中每个节点的分裂属性集合也是随机选择确定的。
上一篇:集成算法(Bagging & Boosting)


下一篇:集成学习算法,Bagging&Stacking&Boosting