Task05 Bagging
集成学习(模型融合中的一个分类)主要包括:
Bagging由booststraps演变而来; Boosting类似叠加式算法; Stacking把模型分为模型一和模型二,把模型一的结果当做特征送入模型二做训练。 目的都是将弱分类器变成强分类器。
Q1:什么是bootstraps?
A1: bootstraps就是有放回采样,对给定样本,抽n个样本集合,重复抽m次,可以得到m个参数估计,可以估计总体的方差。
Q2:bootstraps和bagging的联系。
A2: Bagging的全称为bootstrap aggregation,从训练集从进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合产生最终的预测结果,本质上就是使用bootstraps的方法。
具体:使用bootstrap生成M个数据集,使用这些数据集生成M个分类器,最终模型为这M个分类器的简单组合,要么投票表决,要么取平均。
结合 Bagging 的特点、我们可以得出这样一个结论:对于“不稳定”(或说对训练集敏感:若训练样本稍有改变,得到的从样本空间到类别空间的映射 g 就会产生较大的变化)的分类器,Bagging 能够显著地对其进行提升。
Q3:什么是bagging?
A3:
原始数据集通过M次随机采样,得到M个与原始数据集相同大小的子数据集,分别训练得到M个弱分类器Classifier,然后结合为一个强分类器。
以下给出随机采样的概率解释及效果分析:
采用的是概率论里面的booststrap思想,由于小样本估计的不准确性,再加上现代计算性能的提升,可以用重复的计算提升小样本的精度。
原始小样本不能正确反映数据的真实分布,用T次随机采样拟合真实分布。 如果原始数据为真实分布的前提下,用bagging集成分类器,始终是能提升效果的,提升的效果取决于分类器的稳定性,稳定性越差,提升的效果越高。如神经网络这样的不稳定分类器。
当然,上面假设是数据接近真实分布,然后在概率[1/N,1/N,…1/N]下重采样。
如果训练数据不是真实分布,那么bagging的效果也可能比非bagging更差。
接下来是如何把L个弱分类器集成为强分类器:
最简单的方法就是投票法。对于一个测试样本,通过M个弱分类器得到M个类别信息,这些信息投票产生最后的类别。如M=6,分类结果分别为:[1,1,1,2,3,4]那么这个样本就属于1.
Bagging对基模型选择的是强模型(低偏差高方差模型),通过对基模型的线性组合来降低方差,提高模型的精度。(可以理解为若干个弱分类器的效果是偏差小、方差大,即模型精度不够,通过投票或者取平均来增加模型复杂度 ?)
|