• Wiki ref: http://en.wikipedia.org/wiki/Bootstrap_aggregatingBootstrap aggregating (bagging) is a meta-algorithm to improve classification and regression models in terms of stability and classificati
Wiki ref: http://en.wikipedia.org/wiki/Bootstrap_aggregating
Bootstrap aggregating (bagging) is a meta-algorithm to improve classification and regression models in terms of stability and classification accuracy. Bagging also reduces variance and helps to avoid overfitting. Although this method is usually applied to decision tree models, it can be used with any type of model. Bagging is a special case of the model averaging approach.
Given a standard training set D of size N, we generate L new training sets Di also of size N' (N' < N) by sampling examples uniformly from D, and with replacement. By sampling with replacement it is likely that some examples will be repeated in each Di. If N' = N, then for large N the set Di expected to have 63.2% of the examples of D, the rest being duplicates. This kind of sample is known as a bootstrap sample. The L models are fitted using the above L bootstrap samples and combined by averaging the output (in case of regression) or voting (in case of classification). One particular interesting point about bagging is that, since the method averages several predictors, it is not useful for improving linear models.  
展开全文
• Bootstrap Aggregating也叫作bagging，是一种机器学习领域用来做模型合并的一种算法。这种算法可以提高统计分类器和回归器的稳定性和准确度。同时也可以帮助模型避免过拟合。历史Bootstrap Aggregating最早在1994年...


简介

Bootstrap Aggregating也叫作bagging，是一种机器学习领域用来做模型合并的一种算法。这种算法可以提高统计分类器和回归器的稳定性和准确度。同时也可以帮助模型避免过拟合。
历史
Bootstrap Aggregating最早在1994年由Leo Breiman提出，当时用来通过随机合并训练数据集，从而提高分类器的性能。
算法描述
Bootstrap Aggregating算法不直接作用于模型本身，而是作用在训练数据上。
设有训练集，记作D，数据集的大小是n。Bootstrap Aggregating的目标就是基于D生成m个新的数据集Di，新数据集的大小记作n’。
新数据集的每个元素是通过在原数据集采样得到的，采样的概率服从平均分布。这样一来，Di中会存在重复的样本。如果n′=n，而且n的值足够大，那么Di中没有出现重复的样本比例大概为(1−1/e)≈63.2% (参考)。其余的样本都是出现了重复的。
随后，使用这m个新产生的数据集分别训练模型。预测时，对这些模型的结果进行平均（对拟合任务）或者投票（对分类任务）。
范例
在维基百科的词条中展示了一个使用Bootstrap Aggregating算法拟合一个统计数据的案例。使用图片形象地展示了Bootstrap Aggregating对拟合模型稳定性的提升。详见

转载于:https://juejin.im/post/5ac1a494f265da2395312499
展开全文
• 在误差完全相关即 c = v 的情况下,均方误差减少到 v,所以模型平均没有任何帮助。在错误完全不相关即 c = 0 的情况下,该集成平方误差的期望仅为 1/k * v。这意味着集成平方误差的期望会随着集成规模增大而线性减小。...


在误差完全相关即 c = v 的情况下,均方误差减少到 v,所以模型平均没有任何帮助。在错误完全不相关即 c = 0 的情况下,该集成平方误差的期望仅为 1/k * v。这意味着集成平方误差的期望会随着集成规模增大而线性减小。换言之,平均上,集成至少与它的任何成员表现得一样好,并且如果成员的误差是独立的,集成将显著地比其成员表现得更好。

Bagging是一种允许重复多次使用同一种模型、训练算法和目标函数的方法。


展开全文
• Bagging（BootstrapAggregating）

千次阅读 2019-08-05 10:15:47
思想：Bagging（bootstrap aggregating）是通过结合几个模型降低泛化误差的技术。主要想法是分别训练几个不同的模型，然后让所有模型表决测试样例的输出。这是机器学习中常规策略的一个例子，被称为模型平均...
思想：Bagging（bootstrap aggregating）是通过结合几个模型降低泛化误差的技术。主要想法是分别训练几个不同的模型，然后让所有模型表决测试样例的输出。 这是机器学习中常规策略的一个例子，被称为模型平均（modelaveraging）。采用这种策略的技术被称为集成方法。

框架流程：
从原始样本集中使用Bootstraping 方法随机抽取n个训练样本，共进行k轮抽取，得到k个训练集（k个训练集之间相互独立，元素可以有重复）。对于n个训练集，我们训练k个模型，（这个模型可根据具体的情况而定，可以是决策树，knn等）
对于分类问题：由投票表决产生的分类结果；对于回归问题，由k个模型预测结果的均值作为最后预测的结果（所有模型的重要性相同）。
bagging通过在不同数据集上训练模型降低分类器的方差。换句话说，bagging可以预防过拟合。bagging的有效性来自不同训练数据集上单独模型的不同，它们的误差在投票过程中相互抵消。此外，某些bootstrap训练样本很可能略去离散值。
典型算法：与其说Bagging是一种算法啊，不如说是一种解决问题的思想，一种框架，而Random Forest是基于Bagging的一种经典装袋法。顾名思义，随机森林是一种算则分类回归树作为基模型的Bagging算法。
Random Forest ：在Bagging策略的基础上进行修改后的一种算法 （1）从样本集中用Bootstrap采样选出n个样本； （2）从所有属性中随机选择K个属性，选择出最佳分割属性作为节点创建决策树； （3）重复以上两步m次，即建立m棵决策树； （4）这m个决策树形成随机森林，通过投票表决结果决定数据属于那一类
随机森林的随机性体现在哪几个方面？
1、数据集的随机选取
从原始的数据集中采取有放回的抽样（bagging），构造子数据集，子数据集的数据量是和原始数据集相同的。不同子数据集的元素可以重复，同一个子数据集中的元素也可以重复。
2、待选特征的随机选取
与数据集的随机选取类似，随机森林中的子树的每一个分裂过程并未用到所有的待选特征，而是从所有的待选特征中随机选取一定的特征，之后再在随机选取的特征中选取最优的特征。
思想：
随机森林实际上是一种特殊的bagging方法，它将决策树用作bagging中的模型。首先，用bootstrap方法生成m个训练集，然后，对于每个训练集，构造一颗决策树，在节点找特征进行分裂的时候，并不是对所有特征找到能使得指标（如信息增益）最大的，而是在特征中随机抽取一部分特征，在抽到的特征中间找到最优解，应用于节点，进行分裂。随机森林的方法由于有了bagging，也就是集成的思想在，实际上相当于对于样本和特征都进行了采样（如果把训练数据看成矩阵，就像实际中常见的那样，那么就是一个行和列都进行采样的过程），所以可以避免过拟合。最终分类的时候采用多用用户投票，回归采用均值。
为什么绝大多数随机森林算法中用的都是cart树
在sklearn中的随机森林算法中用的就是cart树，在分类问题中，分裂方式不限于gini，也可以选entropy，在回归问题中，用的是mse和mae。
ID3有很多明显不足的地方：比如不能处理连续性变量；不能处理缺失值；选择分裂变量时会倾向于选择类别较多的变量（理解这个问题可以想的极端一点，如ID类的特征，每一类下都只有一个输出项）；容易过拟合。
同样，C4.5也有一些问题：C4.5生成的是多叉树，即一个父节点可以有多个节点。很多时候，在计算机中二叉树模型会比多叉树运算效率高，如果采用二叉树，可以提高效率；C4.5只能用于分类，不能用于回归；C4.5由于使用了熵模型，里面有大量耗时的对数运算,如果是连续值还有大量的排序运算，运算效率较低。
cart树可以分类可以回归。
cart树里面引入了一个gini系数的概念，gini的计算相比熵要简单的多，所以可以减少一定的运算量。
cart树第二个特点在于节点的分裂上，每次节点分裂都是二叉的，所以cart树就是多个二叉树组成的，这种特点使得cart算法与C4.5算法在处理离散变量上有很大的不同，离散变量在C4.5中只有一次可能出现在分裂节点上，分裂的枝数与离散变量的类别数量有关。
因为每次都是二分裂，所以cart也没有ID3中倾向于选择类别较多的变量的缺陷。
随机森林优缺点总结 优点
由于采用了集成算法，本身精度比大多数单个算法要好，所以准确性高在测试集上表现良好，由于两个随机性的引入，使得随机森林不容易陷入过拟合（样本随机，特征随机）在工业上，由于两个随机性的引入，使得随机森林具有一定的抗噪声能力，对比其他算法具有一定优势由于树的组合，使得随机森林可以处理非线性数据，本身属于非线性分类（拟合）模型它能够处理很高维度（feature很多）的数据，并且不用做特征选择，对数据集的适应能力强：既能处理离散型数据，也能处理连续型数据，数据集无需规范化训练速度快，可以运用在大规模数据集上可以处理缺省值（单独作为一类），不用额外处理由于有袋外数据（OOB），可以在模型生成过程中取得真实误差的无偏估计，且不损失训练数据量在训练过程中，能够检测到feature间的互相影响，且可以得出feature的重要性，具有一定参考意义由于每棵树可以独立、同时生成，容易做成并行化方法由于实现简单、精度高、抗过拟合能力强，当面对非线性数据时，适于作为基准模
缺点
当随机森林中的决策树个数很多时，训练时需要的空间和时间会比较大随机森林中还有许多不好解释的地方，有点算是黑盒模型在某些噪音比较大的样本集上，RF的模型容易陷入过拟合
展开全文
• bootstrap是统计学习中的一种采样技术，是用原样本自身的数据抽样形成新的样本。 它是一种有放回的抽样方法，它是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法。其核心思想和基本步骤如下： ...
• 版权声明：本文为博主原创文章，未经博主允许不得转载。 ... Bootstrap aggregating自举汇聚法 Bagging装袋法 1.概念 是一种在...
• Bagging(装袋法)，bootstrap aggregating(自举汇聚法) 的简称，是一个通过组合多个模型来减少泛化误差的技术。其原理是单独训练数个不同的模型，然后让多个模型在测试集的输出上投票。这是一个在机器学习中普遍应用...
• R语言分类算法之集成学习（Bootstrap Aggregating）.pdf
• Bootstrapaggregating----Bagging

千次阅读 2015-01-20 11:32:08
Bootstrap aggregating 又称为Bagging 是一种用来增强学习算法准确度的算法，由 Leo Breiman 在1994年提出，能够用来提高不稳定算法的准确度和稳定性，通常用于统计分类和回归中，它能够减小方差并避免过拟合。...
• 1.集成学习（Bootstrap Aggregating）原理分析: Bagging是Bootstrap Aggregating的缩写,简单来说,就是通过使用boostrap抽样得到若干不同的训练集,以这些训练集分别建立模型,即得到一系列的基分类器,这些分类器由于...
• 此处bagging具体过程不做详细介绍，我们只谈一下bagging为什么可以工作以及它的作用。 Bagging为什么可以工作 我们从回归问题的泛化误差的角度来分析（这里先不分偏差和方差）。设数据集L包含数据，其数据均采样与...
• 格式驾驭不了，图片大小不会改，可以直接看我的有道笔记：http://note.youdao.com/noteshare?id=2d13d050bd683d9f3dee525a85ded041   Bagging 和Boosting的区别： 样本选择上： Bagging:训练集是有放回选取的...
• Bootstrap aggregating自举汇聚法 Bagging装袋法 1.概念 是一种在原始数据集上通过有放回抽样重新选出S个新数据集来训练分类器的集成技术。也就是说这些新数据集是允许重复的。 使用训练出来的分类器...
• 用步骤1中的bootstrap样本生成决策树 随机选择特征子集 用上面的特征子集来拆分树的节点 重复1和2两个步骤 集成所有生成的决策树进行预测 在上面的步骤2中，我们训练单个决策树的时候并没有用全部的...
• Booststrap aggregating （有些地方译作：引导聚集），也就是通常为大家所熟知的bagging。在维基上被定义为一种提升机器学习算法稳定性和准确性的元算法，常用于统计分类和回归中。 而Boosting在维基中被定义为一...
• bootstrap, boosting, bagging

千次阅读 2016-01-13 20:55:07
bagging：bootstrap aggregating的缩写。让该学习算法训练多轮，每轮的训练集由从初始的训练集中随机取出的n个训练样本组成，某个初始训练样本在某轮训练集中可以出现多次或根本不出现，训练之后可得到一个预测函数...
• bagging：bootstrap aggregating的缩写。让该学习算法训练多轮，每轮的训练集由从初始的训练集中随机取出的n个训练样本组成，某个初始训练样本在某轮训练集中可以出现多次或根本不出现，训练之后可得到一个预测函数...
• Bootstrap Method:在统计学中，Bootstrap从原始数据中抽取子集，然后分别求取各个子集的统计特征，最终将统计特征合并。例如求取某国人民的...Bagging(Bootstrap Aggregating):应用了 Bootstrap的思想，从Trainin...
• bootstrap bagging boosting

千次阅读 2012-06-13 17:29:55
bootstrap bagging boosting这几个概念经常用到，现仔细学习了一下： 他们都属于集成学习方法，(如:Bagging，Boosting，Stacking)，将训练的学习器集成在一起,原理来源于PAC学习模型（Probably Approximately ...
• Bootstrap、bagging和boosting 一）、Bootstrap 1、应用场景：回归分析 2、Bootstrap（自助法）算法思想： Bootstraping:称为自助法，它是一种有放回的抽样方法，它是非参数统计中一种重要的估计统计量方差进而...

...