集成学习概述(二)随机子空间 Random subspace method and stacking

标签: 集成学习 机器学习
2269人阅读 评论(0) 收藏 举报
分类:

六、随机子空间  Random subspace method

Random subspace method(RSM)又叫attribute bagging 或者 feature bagging,是集成学习的一种。随机子空间通过使用随机的部分特征而不是所有的特征来训练每个分类器,来降低每个分类器之间的相关性。

类似bagging, bagging是随机使用部分训练数据,而Random subspace method是随机使用部分特征,因此Random subspace method常用语特征远远大于训练样本数的情况,比如核磁共振、基因组序列、CSI(信道状态信息)。

实际上,随机森林就是一个使用了RSM和bagging的decision tree.同样的,RSM也可以用在SVM等其他分类器上。

在训练出每个分类器之后进行预测,得到每个分类器对应的结果。根据多数投票或结合先验概率的方法获得最终结果。

 

七、stacking

Stacking(有时候也称之为stacked generalization)是指训练一个模型用于组合(combine)其他各个模型。即首先先训练多个不同的模型,然后再以之前训练的各个模型的输出为输入来训练一个模型,以得到一个最终的输出。如果可以选用任意一个组合算法,那么理论上,Stacking可以表示各种Ensemble方法。然而,实际中,我们通常使用单层logistic回归作为组合模型。

 

先在整个训练数据集上通过bootstrapped抽样得到各个训练集合,得到一系列分类模型,称之为Tier 1分类器, 然后将输出用于训练Tier 2 分类器(meta-classifier, Wolpert 1992)。潜在的一个思想是希望训练数据都得被正确的学习到了。比如某个分类器错误的学习到了特征空间里某个特定区域,因此错误分类就会来自这个区域,但是Tier 2分类器可能根据其他的分类器学习到正确的分类。交叉验证也通常用于训练Tier 1分类器:把这个训练集合分成T个块,Tier 1中的每个分类器根据各自余下的T-1块进行训练,并在T块(该块数据并未用于训练)上测试。之后将这些分类器的输出作为输入,在整个训练集合上训练Tier 2分类器。(这里未提及测试集,测试集是指不在任何训练过程中出现的数据)。


七、总结与回顾


回顾集成学习有效的第二个前提,怎样形成不同的基本分类器呢?主要从以下5个方面得到。

1.基本分类器本身的种类,即其构成算法不同。如SVM, decision tree等。

2.对数据进行处理不同,比如说boosting, bagging, stacking, cross-validation, hold-outtest等。

3.对输入特征进行处理和选择,如RSM

4.对输出结果进行处理,比如说有的学者提出的纠错码

5.引入随机扰动。在每个基本分类器的学习过程之中引入随机扰动,使得学习出来的每个基本分类器都不同,这是用于进行人工神经网络集成学习的最常见方法。


下面是一些实验性的结论:

Boosting方法的集成分类器效果明显优于bagging,但是在某些数据集boosting算法的效果还不如单个分类器的。

使用随机化的人工神经网络初始权值来进行集成的方法往往能够取得和bagging同样好的效果。

Boosting算法一定程度上依赖而数据集,而bagging对数据集的依赖没有那么明显。

Boosting算法不仅能够减少偏差还能减少方差,但bagging算法只能减少方差,对偏差的减少作用不大。

 

 

部分转载自:

http://www.datakit.cn/blog/2014/11/02/Ensemble_learning.html

http://blog.csdn.net/wangle1e/article/details/51955856?locationNum=1&fps=1

http://blog.csdn.net/u011345885/article/details/52797077?locationNum=7&fps=1

有删改。

 

参考:

清华大学廖英毅, "集成学习综述."  soft.cs.tsinghua.edu.cn/~keltin/docs/ensemble.pdf.

查看评论

随机子空间算法例子

  • 2013年05月27日 21:14
  • 8KB
  • 下载

随机子空间程序

  • 2014年12月27日 21:59
  • 17KB
  • 下载

机器学习方法(六):随机森林Random Forest,bagging

前面[机器学习方法(四)决策树](http://blog.csdn.net/xbinworld/article/details/44660339)讲了经典的决策树算法,我们讲到决策树算法很容易过拟合,...
  • xbinworld
  • xbinworld
  • 2016-01-03 21:47:11
  • 14860

Machine Learning with Scikit-Learn and Tensorflow 7.4 Random Patches和Random Subspaces

Hands-On Machine Learning with Scikit-Learn and Tensorflow
  • qinhanmin2010
  • qinhanmin2010
  • 2017-04-06 10:05:50
  • 281

统计学习方法——CART, Bagging, Random Forest, Boosting

本文从统计学角度讲解了CART(Classification And Regression Tree), Bagging(bootstrap aggregation), Random Forest B...
  • abcjennifer
  • abcjennifer
  • 2012-11-10 09:46:34
  • 74000

Random Forest随机森林算法

Random Forest是加州大学伯克利分校的Breiman Leo和Adele Cutler于2001年发表的论文中提到的新的机器学习算法,可以用来做分类,聚类,回归,这里只简单介绍该算法在分类上...
  • u014568921
  • u014568921
  • 2015-04-16 22:03:47
  • 9302

随机森林算法介绍

翻译维基百科 随机森林或随机决策树是一种用于分类,回归和其他任务的集成学习方法,通过在训练时间内构建多个决策树并输出作为类的标签(分类)或个体树预测的平均值(回归)。随机森林可以修正决策树的归纳偏好而...
  • wutao1530663
  • wutao1530663
  • 2017-05-06 16:48:50
  • 1295

集成学习概述(一)introduction of ensemble learning

一.概念性介绍,   集成学习(ensemble learning),又被叫做多分类器系统(multi-classifer system,注意停顿,多,分类器,也即多个分类器的意思)或者基于委员会的学...
  • yq_forever
  • yq_forever
  • 2017-02-09 16:18:24
  • 494

weka之Bagging的源码分析及相关知识点

对weka中的分类算法Bagging源码进行了剖析,对涉及到的Java用法进行了解释。
  • smilehehe110
  • smilehehe110
  • 2017-02-13 20:11:50
  • 551

集成学习总结 & Stacking方法详解

Stacking方法准备在接下来要写一下。
  • willduan1
  • willduan1
  • 2017-07-21 18:01:59
  • 7664
    新家地址
    个人资料
    持之以恒
    等级:
    访问量: 7万+
    积分: 1862
    排名: 2万+
    最新评论