TASK5-Bagging

作业

1. 什么是bootstraps?

参考:

Bootstraps即Bootstrap Method,中文为自主采样法或自助法。一种从给定训练集中有放回的均匀抽样,也就是说,每当选中一个样本,它等可能地被再次选中并被再次添加到训练集中。(百度百科:自助法

引用自:机器之心:自助(抽样)法

为了从单个样本中产生多个样本,bootstrapping作为交叉验证的一个替代方法,在原来的样本中进行替换的随机采样,从而得到新的样本。bootstrap得到的样本比交叉验证的样本重叠更多,因此它们的估计依赖性更强,被认为是小数据集进行重采样的最好方法。在bootstrap中,我们用替换法从大小为N的数据集中采样N个实例,原始数据集被用作验证集。我们选择一个实例的概率是1/N;我们不选择这个实例的概率$1

  • \dfrac{1}{N} 。 。 N 次 抽 样 后 我 们 没 有 选 中 这 个 实 例 的 概 率 是 次抽样后我们没有选中这个实例的概率是 (1-\dfrac{1}{N})^{N} \approx e^{-1}=0.368$。这意味着训练数据只包含约 63.2 % 63.2\% 63.2%的实例,也就是说这个系统不会在另外 36.8 % 36.8\% 36.8%的数据上训练,这会为评估带来悲观偏差。解决方法是重复这个过程很多次来观察平均值。
    请添加图片描述
    机器学习中,Bootstrap
    方法指的是借助替换的随机采样,它是一个重采样,允许模型或算法更好地理解存在于其中的偏差、方差和特征。数据的采样允许重采样包含不同的偏向,然后将其作为一个整体进行包含。如图
    1
    所示,其中每个样本群有不同的部分,而且各不相同。接着这会影响到数据集的整体均值、标准差和其他描述性指标。反过来,它可以发展出更多鲁棒的模型。

Bootstrapping同样适用倾向于过拟合的小数据集。利用Bootstrapping的算法可以增强鲁棒性,并根据已选的方法论(Boosting或Bagging)来处理新数据集。

使用Bootstrapping的原因是它可以测试解决方案的稳定性。使用多个样本数据集测试多个模型可以提高鲁棒性。或许一个样本数据集的平均值比其他数据集大,或者标准差不同。这种方式可以识别出过拟合且未使用不同方差数据集进行测试的模型。

Bootstrapping越来越普遍的原因之一是计算能力的提升。出现比之前更多次数的重排列、重采样。Bagging和Boosting都使用Bootstrapping。

2. bootstraps与baggingn的联系。

  • bootstrap, boosting, bagging 几种方法的联系
    Bagging是bootstraping思想的一种应用。
    Bootstraps求的是模型当中的参数,而bagging求的是模型最终的预测结果,但它依然用的是bootstrap的采样方法,在最后输出预测结果时是对所有采样结果求平均。
    Bagging思想的实质是:通过Bootstrap 的方式对全样本数据集进行抽样得到抽样子集,对不同的子集使用同一种基本模型进行拟合,然后投票得出最终的预测。

3. 什么是bagging?

Bagging 实际上指 Bootstrap Aggregator。大多数提到使用 Bagging 算法的论文或文章都会引用 Leo
Breiman,他曾经写过一篇论文《Bagging Predictors》(1996)。

Leo 这么描述 Bagging:

「Bagging predictor 是一种生成多个预测器版本然后生成聚合预测器的方法。」

Bagging 的作用是降低只在训练数据上准确率较高的模型的方差——这种情况也叫作过拟合。

过拟合即函数过于拟合数据。通常原因在于实际的公式过于复杂,无法考虑每个数据点和异常值。
请添加图片描述
容易过拟合的另一种算法是决策树。使用决策树构建的模型需要非常简单的启发式方法。决策树由一系列特定顺序的 if-else
语句组成。因此,如果把一个数据集变更成新的数据集,则新数据集可能在底层特征中与之前的数据集存在一些偏差或区别。该模型不可能准确。原因在于数据无法非常好地拟合数据(前向声明)。

Bagging
使用采样和替换数据的方法在数据中创建自己的方差来规避这个问题,同时测试多个假设(模型)。通过使用多个样本(很可能由不同属性的数据组成)来减少噪声。

直到每个模型提出一个假设。这些模型使用投票法(voting)进行分类,用平均法进行回归。这里「Aggregating」和「Bootstrap
Aggregating」将发挥作用。每个假设具备相同的权重。这是 Bagging 和 Boosting 方法的区别之一。
请添加图片描述
本质上,所有这些模型同时运行,然后对哪个假设最准确进行投票。

这有助于降低方差,即减少过拟合。

4. 随机森林与bagging的联系与区别。

  • 周志华的《机器学习》8.3节 Bagging与随机森林

随机森林不光对样本采样,还对特征采样。比如随机森林在从1000个人当中抽取100个人的时候,还会从10个特征中再随机抽取一个特征,
随 机 森 林 = B a g g i n g + 特 征 采 样 随机森林=Bagging + 特征采样 =Bagging+

5. 使用偏差与方差理论阐述为什么bagging能提升模型的预测精度?

Bagging会使模型的方差减小。Bagging最终会对所有采样集上训练出来的模型的结果取平均。根据方差的性质有:
D ( X + Y ) = D ( X ) + D ( Y ) D ( k X ) = k 2 D ( X ) 设 X 为 随 机 变 量 , X 1 , X 2 , . . . X i , . . . , X n 为 其 n 个 样 本 , D ( X ) 为 方 差 。 D ( ∑ i = 1 n X i n ) = ∑ i = 1 n D ( X ) n 2 = n × D ( X ) n 2 = D ( X ) n 因 此 , 取 平 均 以 后 方 差 是 原 来 的 1 n 倍 。 D\left( X + Y \right) = D\left( X \right) + D\left( Y \right) \\ D\left( kX \right) = k^2D\left( X \right)\\ 设X为随机变量,X_1,X_2,...X_i,...,X_n为其n个样本,D\left( X \right)为方差。\\ D\left( \dfrac{\sum_{i=1}^{n}X_i}{n} \right) =\dfrac{\sum_{i=1}^{n}D\left( X \right)}{n^2} = \dfrac{ n \times D\left( X \right) }{n^2} = \dfrac{D\left( X \right)}{n}\\ 因此,取平均以后方差是原来的\dfrac{1}{n}倍。 D(X+Y)=D(X)+D(Y)D(kX)=k2D(X)XX1,X2,...Xi,...,XnnD(X)D(ni=1nXi)=n2i=1nD(X)=n2n×D(X)=nD(X)n1

6. 请尝试使用bagging与基本分类模型或者回归模型做对比,观察bagging是否相对于基础模型的精度有所提高?

7. 假如让你来实现bagging看,你会使用python+numpy+sklearn的基础模型来实现bagging吗?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值