机器学习基础---集成学习---Bagging & Stacking方法

Bagging & Stacking方法

Bagging方法(Bootstrap Aggregating 自助聚合)

核心思想
  • 基于一个数据集训练多个学习器,预测新样本时综合所有模型的预测结果作为最终结果
  • 一般选择同质学习器,通过自助采样的方法基于样本数据集构建多个子数据集,每个学习器在不同子数据集上进行训练
模型表示
  • h i ( x ) h_i(x) hi(x)是基于自助采样 D b s i D_{bsi} Dbsi训练得到的同质学习器

  • 分类模型可以表示为:
    H ( x ) = a r g m a x y   P ( h ( x ) = y ) H(x)=\underset{y}{argmax}\ P(h(x)=y) H(x)=yargmax P(h(x)=y)
    即取各个学习器预测结果中出现最多的类别(投票)

  • 回归模型可以表示为:
    H ( x ) = E D b s [ h ( x ) ] H(x)=E_{D_{bs}}[h(x)] H(x)=EDbs[h(x)]
    即取各个学习器预测结果的均值

相关概念
  • 自助采样 Bootstrapping
    • 对样本数据集进行m次有放回采样得到有m个样本的采样集(可以重复选中)
    • 共重复T次,得到T个样本数目为m的样本集。
优化原理
  • 多个学习器的共同决策有助于降低误差

    • 以二分类问题为例

    • 假设真实函数为 f f f,每个基分类器存在独立的泛化误差 ϵ \epsilon ϵ,即对基分类器 h i h_i hi,有预测错误概率:
      P ( h i ( x ) ≠ f ( x ) ) = ϵ P(h_i(x)≠f(x))=ϵ P(hi(x)=f(x))=ϵ

    • 结合T个分类器
      H ( x ) = s i g n ( ∑ i = 1 T h i ( x ) ) H(x)=sign(\sum_{i=1}^Tℎ_i(x)) H(x)=sign(i=1Thi(x))

    • 集成后,只有一半以上基分类器预测错误时H才会犯错,结合hoeffding不等式,泛化误差为
      P ( H ( x ) ≠ f ( x ) ) = ∑ k = 1 T / 2 C T k ( 1 − ϵ ) k ϵ T − k ≤ e − 1 2 T ( 2 ϵ − 1 ) 2 P(H(x)\neq{f(x)})=\sum_{k=1}^{T/2}C_T^k(1-\epsilon)^{k}\epsilon^{T-k}\leq{e^{-\frac12T(2\epsilon-1)^2}} P(H(x)=f(x))=k=1T/2CTk(1ϵ)kϵTke21T(2ϵ1)2
      随集成规模T的增大,泛化误差以指数形式下降

  • 学习器种类的选取:选择不稳定的分类器(对训练数据敏感)

    • 集成不稳定学习器可以显著降低方差

    • 以回归方法为例:
      H ( x ) = E b s [ h ( x ) ] = = >   f ( x ) − H ( x ) = E b s [ f ( x ) − h ( x ) ] \begin{aligned} &H(x)=E_{bs}[h(x)]\\ ==>\ &f(x)-H(x)=E_{bs}[f(x)-h(x)] \end{aligned} ==> H(x)=Ebs[h(x)]f(x)H(x)=Ebs[f(x)h(x)]
      由不等式 ( E ( x ) 2 ≤ E ( x 2 ) ) (E(x)^2\leq{E(x^2)}) (E(x)2E(x2))
      ( f ( x ) − H ( x ) ) 2 = ( E b s [ f ( x ) − h ( x ) ] ) 2 ≤ E b s [ ( f ( x ) − h ( x ) ) 2 ] (f(x)−H(x))^2=(E_{bs}[f(x)-h(x)])^2\leq{E_{bs}[(f(x)-h(x))^2]} (f(x)H(x))2=(Ebs[f(x)h(x)])2Ebs[(f(x)h(x))2]
      即, H ( x ) H(x) H(x)的均方差小于 h ( x ) h(x) h(x)的均方差,该差距来源于:
      E D b s [ h ( x ) ] 2 < E D b s [ h ( x ) 2 ] E_{D_{bs}}[h(x)]^2<E_{D_{bs}}[h(x)^2] EDbs[h(x)]2<EDbs[h(x)2]
      可以理解为 H ( x ) H(x) H(x)在集成不同基学习器时,对方差的降低来源于不同基学习器之间方差的差距,只有自助采样产生的不同学习器之间差距很大时,bagging集成才能带来很大的提升

      即,Bagging方法选择不稳定的分类器才会有更好的效果

    具体方法
    • 随机森林
      • Bagging方法中,每个基分类器的不同来自于自助采样产生的样本集不同
      • 随机森林引入了随机特征选择,除了样本集的采样,在每棵决策树生成,选择分割点的时候,先对特征进行一次随机采样,再在取出的特征子集上进行分割点选取
      • 由于加入了特征选择机制,随机森林在训练阶段比bagging算法更快(考虑的特征减少),且决策边界更加灵活(泛化性更好)

Stacking 方法

  • Stacking方法既可以看作是多种集成学习方法的泛化,也可看作是一种通过学习进行结合的方法
核心思想
  • 使用原始数据训练一组一级学习器

  • 将一级学习器的输出作为输入特征,标记仍为原始标记,构建一个新的数据集

  • 使用新数据集训练二级学习器

    stacking方法过程可用如下图表示

在这里插入图片描述

注意点
  • stacking方法通常使用异质基学习器在同一样本集上训练

  • 一般会先将样本划分,用一部分训练一级学习器,结束后再用另一部分训练样本训练二级学习器

    若用一级学习器的训练数据集构建新数据集,会导致高过拟合风险

  • 可以使用交叉验证法进行训练样本的划分与验证

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值