Coursera - 机器学习技法 - 课程笔记 - Week 7

Blending and Bagging

Motivation of Aggregation

  • 集成模型:混合或者组合多个假设的结果得到最后的结果
    • Validation:选择最佳(最小验证误差)假设进行预测 G ( x ) = g t ∗ ( x ) G(\bold x) = g_{t_\ast}(\bold x) G(x)=gt(x)
    • 等权重叠加: G ( x ) = sign ⁡ ( ∑ t = 1 T ) 1 ⋅ g t ( x ) G(\bold x) = \operatorname{sign}(\sum_{t = 1}^T) 1 \cdot g_t(\bold x) G(x)=sign(t=1T)1gt(x)
    • 不等权重叠加: G ( x ) = sign ⁡ ( ∑ t = 1 T ) α t ⋅ g t ( x ) ,   α t ≥ 0 G(\bold x) = \operatorname{sign}(\sum_{t = 1}^T) \alpha_t \cdot g_t(\bold x) ,\ \alpha_t \ge 0 G(x)=sign(t=1T)αtgt(x), αt0
      • 包含了前两种情形
    • 不同情境下组合不同假设的结果: G ( x ) = sign ⁡ ( ∑ t = 1 T ) q t ( x ) ⋅ g t ( x ) ,   q t ( x ) ≥ 0 G(\bold x) = \operatorname{sign}(\sum_{t = 1}^T) q_t(\bold x) \cdot g_t(\bold x) ,\ q_t(\bold x) \ge 0 G(x)=sign(t=1T)qt(x)gt(x), qt(x)0
      • 包含了上述所有情形
  • Validation Best:依赖强假设——如果只有一些弱假设能否胜任呢?
  • 集成学习——更好的泛化性能
    • 多个简单假设集成复杂假设——特征转换?
    • 多个假设中得到一个比较合适的——正则化?

Uniform Blending

  • 已知 g t g_t gt,如何融合
  • 均匀blending,每人一票,一票权值为1

G ( x ) = sign ⁡ ( ∑ t = 1 T 1 ⋅ g t ( x ) ) G(\bold x) = \operatorname{sign} \left( \sum_{t = 1}^T 1 \cdot g_t(\bold x) \right) G(x)=sign(t=1T1gt(x))

  • 如果所有的 g t g_t gt都一样:能力与单个 g t g_t gt一样
  • 如果 g t g_t gt都各有不同:大多数可以纠正少数(可能导致犯错)
  • 投票取最多数
  • 对于回归任务:

G ( x ) = 1 T ∑ t = 1 T g t ( x ) G(\bold x) = \frac 1 T \sum_{t = 1}^T g_t(\bold x) G(x)=T1t=1Tgt(x)

  • 如果所有的 g t g_t gt都一样:能力与单个 g t g_t gt一样
  • 如果 g t g_t gt都各有不同:
    • 存在高估和一部分低估情形
    • 综合得到平均值——更合适
  • 多个假设的多样性很重要
  • 理论回归误差分析:

avg ⁡ ( E o u t ( g t ) ) = avg ⁡ ( E ( g t − G ) 2 ) + E o u t ( G ) ≥ E o u t ( G ) \operatorname{avg}(E_{out} (g_t)) = \operatorname{avg}(\mathcal E(g_t - G)^2) + E_{out}(G) \ge E_{out}(G) avg(Eout(gt))=avg(E(gtG)2)+Eout(G)Eout(G)

  • 产生弱假设算法的期望性能 = 对于共识的期望差距(方差) + 共识的性能(偏差)
  • blending:消除方差,得到稳定的性能

Linear Blending

  • 已知 g t g_t gt,如何融合

G ( x ) = sign ⁡ ( ∑ t = 1 T α t ⋅ g t ( x ) ) ,   α t ≥ 0 G(\bold x) = \operatorname{sign} \left (\sum_{t = 1}^T \alpha_t \cdot g_t(\bold x) \right),\ \alpha_t \ge 0 G(x)=sign(t=1Tαtgt(x)), αt0

  • 计得到好的 α t \alpha_t αt min ⁡ α t ≥ 0 E i n ( α ) \min_{\alpha_t \ge 0} E_{in}(\alpha) minαt0Ein(α)
  • linear blending = linear model + hypotheses as transform + weight constraints
  • 实际上,限制 α t \alpha_t αt非负并不必要,因为负的权重实际对应一个反过来使用的分类器,可能得到一个非常好的效果(如果本身非常烂的话)
  • 但是在使用 E i n E_{in} Ein进行选择的时候,会增加模型的复杂度,很容易过拟合——使用 E v a l E_{val} Eval
  • 选择 g − g^- g(即剔除validation的数据训练得到的模型),根据 E v a l E_{val} Eval确定权重
  • 利用若干个 g − g^- g,实际上就是在将原始输入 x \bold x x扩展到一个新的空间 Φ ( x ) = ( g 1 − ( x ) , g 2 − ( x ) , … , g n − ( x ) ) \Phi(\bold x) = \left( g^-_1(\bold x), g^-_2(\bold x), \ldots, g^-_n(\bold x) \right) Φ(x)=(g1(x),g2(x),,gn(x))
  • 利用上述转换后的样本计算权重 α \alpha α,然后得到最终模型 G ( x ) = L I N ( α T Φ ( x ) ) ⁡ G(\bold x) = \operatorname{LIN(\alpha^{\mathrm{T}} \Phi(\bold x))} G(x)=LIN(αTΦ(x))
  • 拓展:非线性的Blending(Stacking)
    • 使用任何函数形式,根据得到的样本计算: g ~ = Any ⁡ ( Φ ( x ) , y n ) \tilde g = \operatorname{Any}(\Phi(x), y_n) g~=Any(Φ(x),yn)
    • 从而得到最终模型: G ( x ) = g ~ ( Φ ( x ) ) G(\bold x) = \tilde g(\Phi(\bold x)) G(x)=g~(Φ(x))
    • 很强大,可以实现根据条件调整权重
    • 有比较大的过拟合风险

Bagging

  • 如何得到不同的 g t g_t gt
    • 来自不同的模型
    • 来自不同的训练参数
    • 来自不同的算法随机性(初始化等)
    • 来自不同的数据随机性(交叉验证产生 g − g^- g
  • Bagging:利用数据随机性,不使用 g − g^- g产生 g ˉ \bar g gˉ
  • bootstraping:从现有数据 D D D中均有放回随机采样 N N N个样本
    • 不再从一个分布采样样本
    • 而是从一个现有数据集中采样得到子集
    • 元算法
  • 只要算法对数据随机性敏感,bootstrapping就会表现很好
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值