集成学习((ensemble learning)

目录

  • 1. 简介
    • 1.1 Boosting
    • 1.2 Bagging
    • 1.3 随机森林
  • 2. 结合策略

1. 简介

        集成学习 (ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统 (multi-classifier system) 、基于委员会的学习 (committee-based learning) 等。
        个体学习器通常由一个现有的学习算法从训练数据产生:

  • 同质集成: 集成中只包含同种类型的个体学习器,称基学习器。如决策树、BP神经网络等,决策树集成中全是决策树,神经网络集成中全是神经网络。
  • 异质集成: 个体学习器由不同的学习算法生成,直接称为个体学习器组件学习器。例如同时包含决策树和神经网络。

        弱学习器:指泛化性能咯优于随机猜测的学习器,例如在二分类问题上精度咯高于 50% 的分类器。

        集成学习通过将多个学习器进行结合,常可获得比单一学习器(特别是弱学习器)显著优越的。


学习器要:
        好而不同

  • 准确性,个体学习器要有一定的准确率
  • 学习器间要有多样性
            事实上,个体学习器的"准确性"和"多样性"本身就存在冲突。一般的,准确性很高之后,要增加多样性就需牺牲准确性.事实上,如何产生并结合"好而不同"的个体学习器,恰是集成学习研究的核心

个体学习器的生成方式 :

串行 并行
个体学习器问存在强依赖关系、必须串行生成的序列化方法 个体学习器间不存在强依赖关系、可同时生成的并行化方法
例:Boosting 例:Bagging 、“随机森林”

1.1 Boosting

  1. 先从初始训练集训练出一个基学习器,
  2. 再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,
  3. 然后基于调整后的样本分布来训练下一个基学习器,
  4. 重复进行,直至基学习器数目达到事先指定的值 T , 最终将这 T 个基学习器进行加权结合.

1.2 Bagging

        自助采样法:给定包含 m个样本的数据集,先随机取出一个样本放入采样集中,再把该样本放回初始数据集 ,使得下次采样时该样本仍有可能被选中,这样,经过m次随机采样操作,得到含 m 个样本的采样集。

Bagging 的基本流程:
        通过自主采样法采样出 T 个含 m 个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。

1.3 随机森林

        随机森林(Random Forest,简称 RF) 是 Bagging的一个扩展变体。RF在以决策树为基学习器构建 Bagging 集成的基础上,进一步在决策树的训练过程中引入了随机属性选择
        在选择划分属性时是在当前结点的属性集合(假定有 d 个属性)中选择一个最优属性

传统决策树 RF决策树
选择一个最优属性 随机选择一个包含 k个属性的子集,然后再从这个子集 中选择一个最优属性用 于划分。

        参数 k 控制了 随机性的引入程度 ;若令 k = d , 则基决策树的构建与传统决策树相同,若令 k = 1 , 则是随机选择一个属性用 于划分 ; 一般情况下,推荐: k = l o g 2 d k = log2^d k=log2d

        随机森林简单、容易实现、计算开销小,被誉为"代表集成学习技术水平的方法"
        随机森林和Bagging的区别:

随机森林 Bagging
基学习器的多样性不仅来自样本扰动,还来自属性扰动 基学 习器的"多样性"仅通过样本扰动
泛化性能更好,起始性能往往相对较差, 特别只包含一个基学习器时
" 随机型"决策树,只需考察一个属性子集 “确定型” 决策树,对结点的所有属性进行考察

2. 结合策略

        假定集成包含 T 个基学习器 h 1 , h 2 , … h T { h_1, h_2 , … h_T } h1,h2hT,其中 h i h_i hi 在示例 x x x 上的输出为 h i ( x ) h_i (x) hi(x)本节介绍儿种对 h i h_i hi进行结合的常见策略 。
主要有以下两种方法:

平均法 技票法
简单平均法 绝对多数投票法:某标记得票过半数,则预测为该标记;否则拒绝预测。
加权平均法 相对多数投票法 :预测为得票最多的标记,若同时有多个标记获最高票,则从中随机选取一个。
加权投票法

        当训练数据很多时,可以使用一种更为强大的结合策略"学习法",通过另一个学习器来进行结合。如Stacking。个体学习器称为初级学习器,用于结合的学习器称为次级学习器或元学习器。
        Stacking策略:

  • 先从初始数据集训练出初级学习器,"生成"一个新数据集用于训练次级学习器
  • 在这个新数据集中,初级学习器的输出被当作样例输入特征,而初始样本的标记仍被当作样例标记。

你可能感兴趣的:(机器学习,机器学习,决策树)