决策树基础参考: http://blog.csdn.net/leiting_imecas/article/details/52950663

本节介绍决策树的究极进化


1. Bagging(bootstrap Aggregation)

      bootstrap即拔靴带,帮助提靴的纽带,统计学上称为自住法; aggregating是指聚集. 机器学习的bagging方法指对多个学习器进行独立的学习、最后汇总的方法。
      算法流程:
       A)从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)

    B)每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)

    C)对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)

    注:Bagging是一种方法,其中的单个模型不一定是决策树,可以是别的分类器。

2. boosting

     boosting是增强、强化的意思。boosting算法是指对多个学习器依次进行学习、逐渐增强效果的算法

   其主要思想是将弱分类器组装成一个强分类器。在PAC(概率近似正确)学习框架下,则一定可以将弱分类器组装成一个强分类器。

     

   关于Boosting的两个核心问题:

   1)在每一轮如何改变训练数据的权值或概率分布?

       通过提高那些在前一轮被弱分类器分错样例的权值,减小前一轮分对样例的权值,来使得分类器对误分的数据有较好的效果。

   2)通过什么方式来组合弱分类器?

       通过加法模型将弱分类器进行线性组合,比如AdaBoost通过加权多数表决的方式,即增大错误率小的分类器的权值,同时减小错误率较大的分类器的权值。

而提升树通过拟合残差的方式逐步减小残差,将每一步生成的模型叠加得到最终模型。

   Boosting 是一种思想,具体方法可是是AdaBossting, GDBT,这些方法主要解决如何从前一个模型到下一个模型的问题。


3. bagging 和boosting对比

1)样本选择上:

Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。

Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。

2)样例权重:

Bagging:使用均匀取样,每个样例的权重相等

Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

3)预测函数:

Bagging:所有预测函数的权重相等。

Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

4)并行计算:

Bagging:各个预测函数可以并行生成

Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。


4. 随机森林

    RandomForest特制使用决策树加在Bagging框架中。
    1. 从原始训练集中,应用bootstrap方法有放回地随机抽取k个新的自助样本集,并由此构造k棵分类回归树
    2. 在训练k棵树时,并不是每个训练过程都选择所有特征进行训练。 设有n个特征,则在每一棵树可用的特征是随机从n个中选择m个。 
        所有训练每可树时,不仅样本集是总样本的一小部分,选取的特征也是一小部分,与选取所有特征相比,这样可以避免同样的错误
        出现在所有模型中,如垃圾属性污染所有模型。每棵树都掌握
        一小部分的特征的分类效果
    3. 每棵树最大限度地生长,不做任何修剪
    4. 将生成的树组成随机森林,用随机森林对新的数据进行分类,分类结果按树分类器投票决定


5.总结

这两种方法都是把若干个弱分类器整合为一个强分类器的方法,只是整合的方式不一样,最终得到不一样的效果,将不同的分类算法套入到此类算法框架中一定程度上会提高了原单一分类器的分类效果,但是也增大了计算量。

下面是将决策树与这些算法框架进行结合所得到的新的算法:

1)Bagging + 决策树 = 随机森林

2)AdaBoost + 决策树 = 提升树

3)Gradient Boosting + 决策树 = GBDT




发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

方差,标准差,MSE, RMSE详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。