Alex_McAvoy

想要成为渔夫的猎手

集成学习概述

References:

【集成学习】

Kearns 和 Valiant 提出了强可学习和弱可学习的概念,即在概率近似正确(Probably Approximately Correct,PAC)学习框架中,一个概念如果存在一个多项式学习算法能够学习它,且正确率很高,那么就是强可学习(Strongly Learnable)的,一个概念如果存在一个多项式学习算法能够学习它,但正确率仅比随机猜测略好,那么就是弱可学习(Weakly Learnable)

Schapire 证明了强可学习和弱可学习是等价的,也就是说,在 PAC 学习框架下,一个概念是强可学习的充分必要条件是这个概念是弱可学习的

那么,在学习中,如果已经发现了一个弱学习算法,能否将其提升为强可学习算法?

集成学习(Ensemble Learning)通过构建并结合多个学习器来完成学习任务,其先产生一组个体学习器,然后通过投票法、平均法等结合策略将这些个体学习器结合起来

简单来说,集成学习是将几种机器学习技术组合成一个预测模型的元算法,然后对数据进行预测,从而提高预测模型整体的泛化能力

关于集成学习的结合策略,详见:集成学习结合策略

【集成的准确性与多样性】

在一般的经验中,将好坏不等的物品掺杂在一起,那么通常结果是比全好的坏一些,比全坏的好一些

那么集成学习将多个学习器结合起来,如何能获得比最好的个体学习器更好的性能?

如下图所示,假定在一个二分类任务中,三个分类器在三个测试样本的表现如下,集成学习的结果通过投票法产生

可以看出,要获得好的集成,个体学习器既要有一定的准确性,即个体学习器至少不弱于弱学习器,还要有一定的多样性,即学习器之间具有一定的差异

实际上,个体学习器的准确性和多样性存在冲突,每个个体学习器学习的都是同一个问题,它们不可能做到完全相互独立,一般的,准确性很高后,要增加多样性就要牺牲准确性

如何产生 “好而不同” 的个体学习器,就是集成学习研究的核心

关于多样性的详细介绍,见:集成学习多样性

【集成学习方法】

同质与异质

对于集成学习中的个体学习器,其通常由一个现有的学习算法从训练集中产生,例如 C4.5 决策树、BP 神经网络等

如果在集成过程中,只包含同类型的个体学习器,那么就成这种集成是同质集成(Homogeneous Ensemble)的,每个个体学习器被称为基学习器(Base Learner),相应的学习算法被称为基学习算法(Base Learning Algorithm)

如果在集成过程中,包含不同类型的个体学习器,那么就成这种集成是异质集成(Heterogeneous Ensemble)的,每个个体学习器被称为组件学习器(Component Learner),由不同的学习算法生成,不再有基学习算法

方差-偏差-预测结果

从方差、偏差、预测结果来说,集成学习可以分为三大类:

串行与并行

从个体学习器是串行生成的还是并行生成的,集成学习可归为以下两类:

  • 串行集成:串行地生成个体学习器,其动机是利用个体学习器之间的依赖,通过给错分样本一个较大的权重来提升性能,如 AdaBoost 自适应提升
  • 并行集成:并行地生成个体学习器,其动机是利用个体学习器的独立性,通过平均来较大地降低误差,如随机森林 RF
感谢您对我的支持,让我继续努力分享有用的技术与知识点!