机器学习技法 之 聚合模型(Aggregation Model)

本文深入解析聚合模型原理,探讨模型融合提升性能之道。从简单平均到条件加权,揭示算法如Bagging、AdaBoost如何利用数据多样性增强预测力。

聚合模型实际上就是将许多模型聚合在一起,从而使其分类性能更佳。

aggregation models: mix or combine hypotheses (for better performance)

下面举个例子:
你有 TTT 朋友,他们对于股票涨停的预测表现为 g1,⋯ ,gTg_1,\cdots ,g_Tg1,,gT。 常见的聚合(aggregation)方法有:

  1. select the most trust-worthy friend from their usual performance
    根据他们的平常表现,选出最值得信任的朋友
    G(x)=gt∗(x) with t∗=argmin⁡t∈{ 1,2,…,T}Eval (gt−) G(\mathbf{x})=g_{t_{*}}(\mathbf{x}) \text { with } t_{*}=\operatorname{argmin}_{t \in\{1,2, \ldots, T\}} E_{\text {val }}\left(g_{t}^{-}\right) G(x)=gt(x) with t=argmint{ 1,2,,T}Eval (gt)
  2. mix the predictions from all your friends uniformly
    将所有朋友的预测取平均值
    G(x)=sign⁡(∑t=1T1⋅gt(x)) G(\mathbf{x})=\operatorname{sign}\left(\sum_{t=1}^{T} 1 \cdot g_{t}(\mathbf{x})\right) G(x)=sign(t=1T1gt(x))
  3. mix the predictions from all your friends non-uniformly
    将所有朋友的预测值取加权平均值
    G(x)=sign⁡(∑t=1Tαt⋅gt(x)) with αt≥0 G(\mathbf{x})=\operatorname{sign}\left(\sum_{t=1}^{T} \alpha_{t} \cdot g_{t}(\mathbf{x})\right) \text { with } \alpha_{t} \geq 0 G(x)=sign(t=1Tαtgt(x)) with αt0
  4. combine the predictions conditionally
    根据当前状态 x\mathbf{x}x 确定权重后结合。
    G(x)=sign⁡(∑t=1Tqt(x)⋅gt(x)) with qt(x)≥0G(\mathbf{x})=\operatorname{sign}\left(\sum_{t=1}^{T} q_{t}(\mathbf{x}) \cdot g_{t}(\mathbf{x})\right) \text { with } q_{t}(\mathbf{x}) \geq 0G(x)=sign(t=1Tqt(x)gt(x)) with qt(x)0

学到这里,可能有一种感觉,与模型选择比较相近,并根据直观印象,取平均获得是分类器一定比最好的差,比最差的好。所以会感觉 aggregation 用处不大,那现在看一下, aggregation 的真正的用处是什么?

以下图为例:
在这里插入图片描述
左侧第一个图中,实际上是使用三条竖线或横线实现了二分类,虽然竖线或横线是很弱的一种分类器,但是如此结合便获得了一个较强的分类器,其分类效果好于任何一个分类器独自分类的结果。

右侧第一个图中,是许多直线的取平均值获得的,这种状态存在于数据样本较少时,可以获取一种与SVM类似的效果,虽然这么多直线对于训练样本(采样数据)的分类效果一样,但是对于测试样本(全局数据)可能有更好的分类效果。

所以说真正的 aggregation 并不只是单纯的取平均而已,其可能是为了弥补当前分类器的不足(分类器分类性能较弱,分类器的泛化能力较弱)。即合理的聚合(aggregation)代表了更好的性能(performance)。

Blending

均值融合(uniform blending)

用于分类:

数学表达如下:

G(x)=sign⁡(∑t=1Tgt(x)) G(\mathbf{x})=\operatorname{sign} \left( \sum_{t=1}^{T} g_{t}(\mathbf{x}) \right) G(x)=sign(t=1Tgt(x))

TTT 个人,每人一票。当 gtg_{t}gt 预测值相近,那么性能不变。当 gtg_{t}gt 多样民主时,少数服从多数(majority can correct minority)

在多分类中的数学表达为:

G(x)=argmax⁡1≤k≤K∑t=1T[[gt(x)=k]] G(\mathbf{x})=\underset{1 \leq k \leq K}{\operatorname{argmax}} \sum_{t=1}^{T}\left[\kern-0.15em\left[g_{t}(\mathbf{x})=k\right]\kern-0.15em\right] G(x)=1kKargmaxt=1T[[gt(x)=k]]

用于回归:

G(x)=1T∑t=1Tgt(x) G(\mathbf{x})=\frac{1}{T} \sum_{t=1}^{T} g_{t}(\mathbf{x}) G(x)=T1t=1Tgt(x)

gtg_{t}gt 预测值相近,那么性能不变。当 gtg_{t}gt 多样民主时,一些分类结果 gt(x)>f(x)g_{t}(\mathbf{x})>f(\mathbf{x})gt(x)>f(x) ,另一些分类结果 gt(x)<f(x)g_{t}(\mathbf{x})<f(\mathbf{x})gt(x)<f(x),那么理想状态取平均可以获得最佳解。

综合上述两种需求,多样性的 hypotheses 更容易使得融合模型性能更佳。

现在进行理论分析,其性能是否改善,这里以回归模型为例:
这里的取平均是针对全部的 hypothesis 或者说 TTTgtg_tgt 进行的,并针对的是随机的单个样本。
avg⁡((gt(x)−f(x))2)=avg⁡(gt2−2gtf+f2)=avg⁡(gt2)−2Gf+f2=avg⁡(gt2)−G2+(G−f)2=avg⁡(gt2)−2G2+G2+(G−f)2=avg⁡(gt2)−2avg⁡(gt)G+G2+(G−f)2=avg⁡(gt2−2gtG+G2)+(G−f)2=avg⁡((gt−G)2)+(G−f)2 \begin{aligned} \operatorname{avg}\left(\left(g_{t}(\mathrm{x})-f(\mathrm{x})\right)^{2}\right) &=\operatorname{avg}\left(g_{t}^{2}-2 g_{t} f+f^{2}\right) \\ &=\operatorname{avg}\left(g_{t}^{2}\right)-2 G f+f^{2} \\ &=\operatorname{avg}\left(g_{t}^{2}\right)-G^{2}+(G-f)^{2} \\ &=\operatorname{avg}\left(g_{t}^{2}\right)-2 G^{2}+G^{2}+(G-f)^{2} \\ &=\operatorname{avg}\left(g_{t}^{2}\right)-2\operatorname{avg}\left(g_{t}\right)G+G^{2}+(G-f)^{2} \\ &=\operatorname{avg}\left(g_{t}^{2}-2 g_{t} G+G^{2}\right)+(G-f)^{2} \\ &=\operatorname{avg}\left(\left(g_{t}-G\right)^{2}\right)+(G-f)^{2} \end{aligned} avg((gt(x)f(x))2)=avg(gt22gtf+f2)=avg(gt2)2Gf+f2=avg(gt2)G2+(Gf)2=avg(gt2)2G2+G2+(Gf)2=avg(gt2)2avg(gt)G+G2+(Gf)2=avg(gt22gtG+G2)+(Gf)2=avg((gtG)2)+(Gf)2

也就是说,在对全部训练样本 xn\mathbf{x}_nxn 进行分析取全部误差的平均值。这里 用E\mathcal{E}E 表示平均值。举个例子:1N∑n=1N(gt(xn)−f(xn))2=E(gt−f)2\frac{1}{N}\sum_{n = 1}^{N}\left(g_{t}(\mathrm{x}_n)-f(\mathrm{x}_n)\right)^{2} = \mathcal{E}\left(g_{t}-f\right)^{2}N1n=1N(gt(xn)f(xn))2=E(gtf)2

avg⁡(E(gt−f)2)=avg⁡(E(gt−G)2)+E(G−f)2avg⁡(Eout (gt))=avg⁡(E(gt−G)2)+Eout (G)≥+Eout (G) \begin{aligned} \operatorname{avg}\left(\mathcal{E}\left(g_{t}-f\right)^{2}\right) &=\operatorname{avg}\left(\mathcal{E}\left(g_{t}-G\right)^{2}\right) & +\mathcal{E}(G-f)^{2}\\ \operatorname{avg}\left(E_{\text {out }}\left(g_{t}\right)\right) &=\operatorname{avg}\left(\mathcal{E}\left(g_{t}-G\right)^{2}\right) &+E_{\text {out }}(G) \\ & \geq & +E_{\text {out }}(G) \end{aligned} avg(E(gtf)2)avg(Eout (gt))=avg(E(gtG)2)=avg(E(

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FlameAlpha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值