统计学习方法 pdf_《统计学习方法》之Ensemble Learning

6f7743e2bcebc36ff4332f25124fb660.png

在《统计学习方法》中,详细介绍了集成学习中的boosting这类的方法,这里,我想对整个集成学习的方法做个总结归纳

在机器学习中,有像KNN、Naive Bayes这类可以处理分类问题的方法,但是这些方法都有各自的缺点与局限,我们没有办法做到十分好地去区分所有的数据。

但是,我们如果能将这些方法整合起来,而不仅仅只依靠一个分类器,那么,整个的分类效果是否会更好?这个思想不就是“三个臭皮匠顶一个诸葛亮”的思想?

在统计学习方法中则提到了强可学习和弱可学习的概念

c221cb0a244419d08a23ab44434b9389.png

其实,集成学习就是通过整合弱可学习的方法,最后得到一个强可学习的方法。即Ensemble Learning就是将不同的分类器进行一定方式的组合,当然,组合的方式会有多种多样:可以是不同算法的集成,也可以使同一种算法在不同设置下的集成。当然,在这里,主要讲同一种分类器在不同设置下的集成。

其中共有三种方法:

(1)bagging
(2)boosting
(3)stacking


bagging(bootstrap aggregating,自举汇聚法)

其基本思想就是从原始数据集中选择S次后,得到S个新数据集,其中这新数据集的大小和原始数据集的大小一致,然后在这S个新数据集上训练S个同一类的分类器,这样就将S个分类器组成一个分类器。在对一个数据进行分类时,一般是采用投票表决的方式,得到最后的分类类别。

  • bootstrap method(自助法)

在统计学中,自助法就是一种从给定的训练数据集中有放回的均匀抽样。

比如现在,整个数据集中有N个样本,现在我要重新构造S个新的数据集,这S个新数据集的样本个数同样也要是N个。所采用的方法如下:

对于第i个新数据集,从原始数据集中抽取N次,构成第i个新数据集。这里的抽取是又放回的抽取,即当前抽到的样本,下一次同样可能会被再次抽到,但是依旧放入新的数据集中。

这一性质允许新数据集中有重复的样本,同时也就可能使得原始数据集中的样本在新数据集中不会出现。

按照上面的假设,原始数据集由N个样本,那么在生成一个新数据集的过程中,每个样本被抽中的概率为

,那么未被选中的概率为:
,总共要抽取N次,那么在整个新的数据集中,某个样本未在该数据集中的概率为:
,当N趋向于无穷大时,则这一概率趋向于
,也就是说每个样本留在一个新数据集中的概率为0.632

这样的话,对于数据集比较小的时候,我们不便采用交叉验证的方式进行训练分类器,因为训练集数量太小,会导致整个分类器出现过拟合的情况。那么此时我们可以采用自助法从初始数据集中训练集和测试集。同时,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处。

  • Random Forest(随机森林)

随机森林就是bagging的一个典型例子

在决策树中,我们知道,有个特别重要的缺点就是容易过拟合,所以决策树中,我们 一般都会有 剪枝 的过程,防止决策树过拟合。而随机森林呢,则是解决 这个问题 ,而且随机森林具有良好的泛化能力

随机森林 的具体算法:

(1)利用bootstrap method生成S个新的训练数据集,代表现在要训练S个决策树
(2)对于每个样本,假设样本的总特征数为M,那么对于每一棵决策树,从这些特征中随机选择m个样本,其中保证m远远小于M
(3)对于第i棵树,按照 决策树的生成 过程,根据当前的数据集生成每一棵树,只是这里不同的是,在选择特征的过程中只能从m个特征中选择。这里每棵树不再有相关的剪枝过程

可以看到 这里面涉及到两个随机过程:
一个随机 是 数据集的随机,一个是特征的随机,这两个随机使得所建立的决策树不会出现过拟合的现象,同时,在对一个新的数据进行处理时,则是用每一个决策树的结果进行综合考虑,最后给出答案。

随机森林的优点:
1.两个随机性的引入,使得随机森林抗噪声能力强,方差小泛化能力强,不易陷入过拟合(因此不需要剪枝)
2.易于高度并行训练,且训练速度快,适合处理大数据
3.由于可以随机选择决策树节点划分的特征,因此能够处理高维度(特征多)的数据,事先不用做特征选择;而且连续和离散数据均可,且无需归一化数据。
4.创建随机森林时,是对参数的无偏估计
5.训练后,可以给出各个特征对于输出结果的重要性排序,并且能够检测到特征间的相互影响 6.相对于boosting系列算法,实现简单
7.对部分特征缺失不敏感
8.由于随机森林对误差率是无偏估计,因此在算法中不需要再进行交叉验证或者设置单独的测试集来获取测试集上误差的无偏估计
随机森林的缺点: 对于取值划分比较多的特征,容易对随机森林的决策产生较大影响,从而影响拟合效果。

当然,虽然一般而言我们并不需要再用额外的验证集来验证随机森林的性能 ,但是其实我们可以利用袋外错误率来检测整个随机森林的性能

我们知道,在构建每棵树时,我们对训练集使用了不同的bootstrap sample(随机且有放回地抽取)。所以对于每棵树而言(假设对于第k棵树),大约有1/3的训练实例没有参与第k棵树的生成,它们称为第k棵树的oob(out of bag)样本。

具体的计算方式:对于每一个样本,统计其 在 作为随机森林中训练样本的决策树的分类情况,采用投票表决的方式,得到其最后的分类结果,然后,统计整个样本中误分类个数占总样本个数的比例,以此作为obb误分率。

oob误分率是随机森林泛化误差的一个无偏估计,它的结果近似于需要大量计算的k折交叉验证。

参考博客:
https://blog.csdn.net/qq_34106574/article/details/82016442​blog.csdn.net

当然,对一个新的数据进行相关 预测或者分类,随机森立主要有两种策略

(1)平均法:这是用于回归的过程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值