(《机器学习》完整版系列)第8章 集成学习——8.7 基学习器多样性(“好而不同”)

多样性有提高泛化的好处,增强多样性就是“扰动”方法:
(1)数据扰动
(2)输入属性扰动
(3)输出表示扰动
(4)算法参数扰动

多样性

误差-分歧分解从理论上讨论了个体学习器“好而不同”对集成学习泛化能力的影响。

推导【西瓜书式(8.31)】的关键是对【西瓜书式(8.28)】进行如下分解:
( h i ( x ) − H ( x ) ) 2 = [ ( h i ( x ) − f ( x ) ) + ( f ( x ) − H ( x ) ) ] 2 \begin{align} (h_i(\boldsymbol{x})-H(\boldsymbol{x}))^2=[(h_i(\boldsymbol{x})-f(\boldsymbol{x}))+(f(\boldsymbol{x})-H(\boldsymbol{x}))]^2 \tag{8.44} \end{align} (hi(x)H(x))2=[(hi(x)f(x))+(f(x)H(x))]2(8.44)

上式左边表达了:对 x \boldsymbol{x} x预测时,个体 h i h_i hi与集体决策 H H H的分歧,而右边两项分别表示个体 h i h_i hi预测的误差和集体决策 H H H的误差(其中, f ( x ) f(\boldsymbol{x}) f(x)为真值)。

【西瓜书式(8.31)】的推导过程类比于【西瓜书第2.5节】偏差与方差讨论中【西瓜书式(2.41)】的推导过程。

【西瓜书式(8.28)】的第一式=【西瓜书式(8.31)】的第一式,两边乘以概率密度 p ( x ) p(\boldsymbol{x}) p(x),再取定积分,即得到【西瓜书式(8.32)】。

既然多样性有提高泛化的好处,那么,如何增强多样性呢?那就是“扰动”方法:

(1)数据扰动

  • 自助采样:如Bagging中使用的“样本放回的采样”【西瓜书p.178】。
  • 序列采样:如AdaBoost中对分布序列 D t \mathcal{D}_t Dt进行采样【西瓜书p.177】。

(2)输入属性扰动

即选取不同的属性子集进行训练,随机子空间算法【西瓜书图8.11】即是这种方法。

(3)输出表示扰动

在属性的局限下,样本空间中可能有相互矛盾的标记,例如,西瓜的属性相同,可能一只是好瓜,另一只是坏瓜,当我们的采样只采到其中的一只时,我们的训练集 D D D中没有包含另一只的情况,训练出的学习器未考虑另一只的情况。 这时,通过“翻转”这只瓜的标记其余瓜的标记不变,训练出的另一个学习器则包含了另一只的情况,而这两学习器是不同的。

另外,样例的标记是“观察”的,而样本的呈现方式以及观察者自身均有可能误导结果(视为观察误差),如,西瓜一边已坏,而观察者刚好尝的是另一边,得出是好瓜的结论。 “翻转法”可以在一定的程度上纠正这种情况。

但上述情况,并不知道哪一个要翻转,这事交给“上帝”,即我们只管随机地选择一些样本进行翻转。

翻转法是一种破坏性的办法,它带来的好处是可以产生包含未观察到的情况的学习器,坏处也比较明显,乱翻转很可能产生瞎胡闹的学习器,好在我们还有测试集,可以剔除掉那些准确率低于50%的学习器,另外,由于还有集成,故并不要求这些初级学习器中每个都“足够好”。

(4)算法参数扰动

  • 同一算法中选取不同的超参数,如 ,神经网络的不同规模、不同层数等。
  • 参数的初始值不同。

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:8.6 级联集成(Stacking算法、其他级联)
下一篇:9.1 聚类的概念与度量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值