Bagging_AdaBoost提升方法

提升算法的基本思路

在概率近似正确的学习框架中

  • 一个对象,如果存在一个多项式学习算法能够学习,且准确率很高,那么它是强可学习的
  • 如果是准确率比随即猜测略好,那么它是弱可学习的
  • 一个对象是强可学习的充要条件是该对象是弱可学习的。

弱可学习算法通常比强可学习的算法容易获得。所以提升方法就是从弱学习算法出发,得道许多弱分类器,组合弱分类器,形成一个强分类器。(三个臭皮匠顶个诸葛亮。)

Bagging

Bagging也叫自举汇聚法(bootstrap aggregating),是一种在原始数据集上通过有放回抽样重新选出k个新数据集来训练分类器的集成技术。它使用训练出来的分类器的集合来对新样本进行分类,然后用多数投票或者对输出求均值的方法统计所有分类器的分类结果,结果最高的类别即为最终标签。此类算法可以有效降低bias,并能够降低variance。

比如,可以从原数据集中每轮有放回的抽取70%的数据,抽取k轮,分别训练出k个不同的分类器(如果是相同的模型,差别就在参数不同),将测试集数据分别用k个模型进行预测。

  • 分类问题,则用k个若分类器进行投票,票数多的作为预测结果。
  • 回归问题,则用预测值的均值作为最后结果。

在这里插入图片描述

随机森林 Random Forest

随机森林(Random Forest,RF)是使用CART作为弱学习器的bagging方法。

  • 随机森林的随机体现在两个方面
    • 若分类器训练数据随机,这是根据bagging的有放回取样决定的
    • 每次随机选择m个特征,m<=M,M原数据所有特征。

之后就是对采样之后的数据使用完全分裂的方式建立出决策树,一般很多的决策树算法都一个重要的步骤——剪枝,但是RF不这样干,由于之前的两个随机采样的过程保证了随机性,所以就算不剪枝,也不会出现over-fitting。

随机森林的优点:

  1. 两个随机性的引入,使得随机森林不容易陷入过拟合,且具有很好的抗噪声能力
  2. 它能够处理很高维度(feature很多)的数据,并且不用做特征选择,
  3. 对数据集的适应能力强:既能处理离散型数据,也能处理连续型数据,数据集无需规范化
  4. 可生成一个Proximities =(pij)矩阵,用于度量样本之间的相似性: pij=aij/N, aij表示样本i和j出现在随机森林中同一个叶子结点的次数,N随机森林中树的颗数。
  5. 训练速度快,可以得到变量重要性排序(两种:基于OOB误分率的增加量和基于分裂时的GINI下降量)
    【OOB】在Bagging的每轮随机采样中,训练集中大约有36.8%的数据没有被采样。对于这部分没采集到的数据,我们常常称之为袋外数据(Out Of Bag,简称OOB)。这些数据没有参与训练集模型的拟合,因此可以用来检测模型的泛化能力。
  6. 容易做成并行化方法,实现比较简单
AdaBoost

Bagging只是对分类器做以整合。AdaBoost相对于Bagging来说,多了对错误分类的训练数据的处理。

  • 当一个弱分类器将数据分错了,那么下一个分类器中 ,会加大误分类数据的权重。
  • 所有弱分类器的表现不同,在多数投票过程中,对分类误差大的分类器减少话语权,对分类准确的分类器加大话语权。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值