嘉兴做网站设计,网站开发所需费用明细,做的比较好的返利网站知乎,富阳区建设工程质监站网站集成学习#xff08;Ensemble Learning) - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/27689464集成学习就是组合这里的多个弱监督模型以期得到一个更好更全面的强监督模型#xff0c;集成学习潜在的思想是即便某一个弱分类器得到了错误的预测#xff0c;其他的弱分类器…集成学习Ensemble Learning) - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/27689464集成学习就是组合这里的多个弱监督模型以期得到一个更好更全面的强监督模型集成学习潜在的思想是即便某一个弱分类器得到了错误的预测其他的弱分类器也可以将错误纠正回来。
集成学习在各个规模的数据集上都有很好的策略。
数据集大划分成多个小数据集学习多个模型进行组合数据集小利用Bootstrap方法进行抽样得到多个数据集分别训练多个模型再进行组合
Bagging
Bagging是bootstrap aggregating的简写。先说一下bootstrapbootstrap也称为自助法它是一种有放回的抽样方法目的为了得到统计量的分布以及置信区间。具体步骤如下
采用重抽样方法有放回抽样从原始样本中抽取一定数量的样本根据抽出的样本计算想要得到的统计量T重复上述N次一般大于1000得到N个统计量T根据这N个统计量即可计算出统计量的置信区间 在Bagging方法中利用bootstrap方法从整体数据集中采取有放回抽样得到N个数据集在每个数据集上学习出一个模型最后的预测结果利用N个模型的输出得到具体地分类问题采用N个模型预测投票的方式回归问题采用N个模型预测平均的方式。
例如随机森林Random Forest就属于Bagging。随机森林简单地来说就是用随机的方式建立一个森林森林由很多的决策树组成随机森林的每一棵决策树之间是没有关联的。
在我们学习每一棵决策树的时候就需要用到Bootstrap方法。在随机森林中有两个随机采样的过程对输入数据的行数据的数量与列数据的特征都进行采样。对于行采样采用有放回的方式若有N个数据则采样出N个数据可能有重复这样在训练的时候每一棵树都不是全部的样本相对而言不容易出现overfitting接着进行列采样从M个feature中选择出m个mM。最近进行决策树的学习。
预测的时候随机森林中的每一棵树的都对输入进行预测最后进行投票哪个类别多输入样本就属于哪个类别。这就相当于前面说的每一个分类器每一棵树都比较弱但组合到一起投票就比较强了。
Boosting
提升方法Boosting是一种可以用来减小监督学习中偏差的机器学习算法。主要也是学习一系列弱分类器并将其组合为一个强分类器。Boosting中有代表性的是AdaBoostAdaptive boosting算法刚开始训练时对每一个训练例赋相等的权重然后用该算法对训练集训练t轮每次训练后对训练失败的训练例赋以较大的权重也就是让学习算法在每次学习以后更注意学错的样本从而得到多个预测函数。具体可以参考《统计学习方法》。 之前提到过的GBDTGradient Boost Decision Tree)也是一种Boosting的方法与AdaBoost不同GBDT每一次的计算是为了减少上一次的残差GBDT在残差减少负梯度的方向上建立一个新的模型。可以参考Gradient Boosting - 知乎专栏。 Stacking
Stacking方法是指训练一个模型用于组合其他各个模型。首先我们先训练多个不同的模型然后把之前训练的各个模型的输出为输入来训练一个模型以得到一个最终的输出。理论上Stacking可以表示上面提到的两种Ensemble方法只要我们采用合适的模型组合策略即可。但在实际中我们通常使用logistic回归作为组合策略。
如下图先在整个训练数据集上通过bootstrap抽样得到各个训练集合得到一系列分类模型称之为Tier 1分类器可以采用交叉验证的方式学习然后将输出用于训练Tier 2 分类器。 Bagging与Boosting
Bagging和Boosting采用的都是采样-学习-组合的方式但在细节上有一些不同如
Bagging中每个训练集互不相关也就是每个基分类器互不相关而Boosting中训练集要在上一轮的结果上进行调整也使得其不能并行计算Bagging中预测函数是均匀平等的但在Boosting中预测函数是加权的