0%

7. 集成学习

[TOC]


集成学习使多个学习器获得比单个学习器更好的预测性能,包括序列化方法和并行化方法两类

多样性要求集成学习中的不同个体学习器之间具有足够的差异性

序列化方法采用 Boosting 机制,通过重复使用概率分布不同的训练数据实现集成,降低泛化误差的偏差

并行化方法采用 Bagging 机制,通过在训练数据中多次自助抽取不同的采样子集实现集成,降低泛化误差中的方差

集成学习概念

继承学习使用多个个体学习器来获得比单个单独学习器更好的预测性能

监督学习的任务是通过在假设空间中搜索来找到能够对特定问题给出良好预测的假设。

其中问题是即使最优假设存在,能否找到也不确定

集成学习的作用 :将多个可以得到的假设整合为更好的假设

集成学习器结构

一般结构为先产生一组个体学习器,再使用某种策略将他们加以整合。

  • 同质集成:每个组中的个体学习器属于同一类型
  • 异质集成:每个组中的个体学习器属于不同类型

如何保证1+1>2

对个体学习器的要求:

  1. 个体学习器的性能要有一定的保证:如果个体学习器的分类精度都不高,在集成时错误的分类结果就可能占多数,导致集成学习的效果劣于原始的个体学习器

  2. 个体学习器的性能要有一定差异,和而不同才能取得进步:多样性是不同个体学习器性能互补的前提

  3. 原则 —— 个体学习器的误差相互独立

    但这一原则有些勉强,个体学习器是为了解决相同问题训练出来的,要让他们性能完全独立勉为其难

当个体学习器的准确性较高时,多样性就不得不被牺牲

集成学习的核心问题 :在多样性和准确性间做出折衷,进而产生并结合各具优势的个体学习器

集成学习方法分类

个体学习器的生成取决于数据的使用策略,根据训练数据的使用方法不同,集成学习分为两大类

  • 序列化方法:个体学习器间存在强依赖关系因而必须串行生成
  • 并行化方法:个体学习器之间不存在强依赖关系因而可以同时生成

序列化方法——提升

序列化方法的数据使用机制称为 提升(Boosting) :对所有训练数据进行多次重复应用,每次应用前需要对样本的概率分布做出调整,以达到不同的效果

自适应提升方法——AdaBoost

自适应提升方法(Adaptive Boosting)。

基本思想 :先通过改变训练数据的权重分布,训练出一系列具有粗糙规则的弱个体分类器,再基于这些弱分类器进行反复学习和组合,构造出具有精细规则的强分类器


AdaBoost要解决两个主要问题:

  • 训练数据权重调整——专项整治
  • 弱分类器结果的组合策略

训练数据权重调整:在每一轮训练结束后,提高分类错误的样本权重,降低分类正确的样本权重

  • 在下一次的训练中,弱分类器会重视错误样本的处理,从而得到性能的提升。不同的权重使数据在每一轮训练中发挥着不同的作用

组合策略:每一轮得到的学习器结果都会按一定比例叠加到前一轮结果,并参与到下一轮权重调整之后的学习器训练中。

当学习的轮次达到预先设定的数目 $T$ 时,最终分类器的输出就是 $T$ 个个体学习器的线性组合。

  • 每个个体学习器在最终输出的权重与其分类错误率相关,个体学习器中的分类错误率越低,其在最终分类器中起的作用越大
  • 个体学习器的权重和不一定等于1

Adaboost特点

随着训练深入,弱学习器的训练重心逐渐被自行调整到分类器错误分类的样本上,因而每一轮次的模型需要根据之前轮次的模型表现结果进行调整——自适应

使用加法模型,以指数函数作为损失函数,使用前向分布算法的二分类算法

  • 加法模型:以个体学习器的线性组合作为最终分类器
  • 前向分布:在线性组合模型下求解指数型损失函数的最小值是复杂问题,但可以通过每次只学习线性组合中的一项简化处理

泛化误差

使用了全体训练数据,并根据每次训练的效果不断迭代以使损失函数最小化,因而可以降低平均意义上的偏差,能够基于泛化能力较弱的学习器构建出较强的集成学习器

并行化方法——打包

并行化方法的数据使用机制称为 自助聚合(打包Bagging) :将原始的训练数据集拆分成若干互不相交的子集,再根据每个子集独立地训练出不同的个体学习集

  • 不同个体学习器间的多样性容易得到保证
  • 但个体学习器只用到一小部分数据学习,其效果容易出现断崖式下跌

生成样本子集

Bagging 采用放回抽样策略,即某些样本可能出现在不同的子集中

计算未被抽取概率的极限可以得到,放回抽样会导致 $36.8\%$ 的训练数据没有出现在采样数据集中。这些未被使用的数据可以作为验证数据集——对学习器的泛化性能做出 包外估计 ,包外估计得到的泛化误差已被证明为真实的无偏估计

随机森林方法

随机

  • 每个数据子集的样本是在原始的训练数据集中随机抽取的

  • 决策树生成的过程引入了随机的属性选择

    在随机森林中,每棵决策树在选择划分属性时,首先从结点的 属性集合中随机抽取 出包含 $k$ 个属性的一个子集,再在这个子集中选择最优的划分属性生成决策树


进行 属性的随机选择 是为了保证不同决策树的多样性。

  • 如果某一个或几个属性对分类结果有非常强的影响,那么可能所有不同的个体决策树都选择这些属性。随机特征选取是对集成学习算法中多样性的一重保护措施

合成策略 上,随机森林采用少数服从多数的策略,选择在个体决策树中出现最多的类别标记作为最终的输出结果。

  • 当数据较多时,可通过单独的学习器实现复杂合成策略

随机森林具有强通用性,能够以较小的计算开销在多种现实任务中展示强大性能够

泛化误差

利用原始训练数据生成若干子集,因而受异常点的影响较小,对每个子集上训练出的不完全相关的模型取平均有助于平衡不同模型之间的性能,因而一定程度上降低方差

-------------本文结束-------------