大连理工大学选修课——机器学习笔记(7):集成学习及随机森林

集成学习及随机森林

集成学习概述

泛化能力的局限

每种学习模型的能力都有其上限

  • 限制于特定结构
  • 受限于训练样本的质量和规模

如何再提高泛化能力?

  • 研究新结构
  • 扩大训练规模

提升模型的泛化能力

创造性思路

  • 组合多个学习模型

集成学习

集成学习不是特定的学习模型,而实一种构建模型的思路,一种训练学习的思想

强可学习和弱可学习

强可学习:对于一个概念或者一个类,如果存在一个多项式学习算法可以学习它,正确率高,则该概念是强可学习的。

弱可学习:如果能学习,但正确率只比瞎猜略好,则称为弱可学习。

也已证明,强可学习和弱可学习等价:

如果一个问题存在弱可学习算法,则必然存在强可学习算法

为集成学习奠定了基础

集成学习的基本问题

如何建立或选择弱学习模型

弱学习模型通常是单个的模型,是被集成的成员

如何制定组合策略

如何将多个学习模型的预测结果整合在一起

不同的组合策略会带来不同的结果

构建弱学习模型的策略

通常弱学习模型都是同类学习模型

同类模型之间的关系

  1. 无依赖关系

    • 系列成员模型可以并行生成
    • 代表算法:bagging,随机森林
  2. 强依赖关系

    • 系列成员模型可串行生成
    • 代表算法:boosting、梯度提升树
  3. 平均法

    1. 处理回归问题

    2. 对弱学习模型的输出进行平均得到最终的预测输出

      H ( x ) = 1 n ∑ i = 1 n h i ( x ) H(x)=\frac{1}{n}\sum_{i=1}^nh_i(x) H(x)=n1i=1∑nhi(x)

    3. 也可以引入权重

      H ( x ) = 1 n ∑ i = 1 n w i h i ( x ) H(x)=\frac{1}{n}\sum_{i=1}^nw_ih_i(x) H(x)=n1i=1∑nwihi(x)

  4. 投票法

  • 处理分类问题

    少数服从多数,最大票数相同则随机选择

    也可以新增加要求,例如票数过半

    也可以给每个成员不同的投票权重

  1. 再学习法

    平均法和投票法可能带来大学习误差

    • 再学习
      • 建立新的学习模型:再集成学习的组合端增加一个学习模型

      • 成员学习的模型输出作为新的学习模型的输入,集成模型的数量为n,新数据集维度为n

      • 代表方法:stacking

Bagging

------Bagging Aggregating的缩写

Bootstrap是一种有放回操作的抽样方法

  • 抽取的样本会有重复

在这里,用来指导构建弱分类器

  • 使用同类学习模型时采用的策略

  • 可降低模型过拟合的可能性

采样过程说明

  • 样本集规模为M,采样集规模也为M

    • 样本集的样本不减少,每次采集后还要放回,因此同一样本可能会多次采集到。
    • 每次随机采集一个样本,随机采集M次,组成采样集
    • 随机采样,组成规模为M的n个采样集
      • 由于随机性,n个采样集不完全一样
      • 训练出的弱学习模型也存在差别
  • 采样集中不被选中样本的概率

    每次采样,每个样本不被选中的概率为:

    p ( x ) = 1 − 1 M p(x)=1-\frac{1}{M} p(x)=1−M1

    M次不被选中的概率为:

    p ( x ) = ( 1 − 1 M ) M lim ⁡ M → ∞ ( 1 − 1 M ) M = 1 e ≈ 0.368 p(x)=(1-\frac{1}{M})^M\\ \lim_{M\to\infty}(1-\frac{1}{M})^M=\frac{1}{e}\approx0.368 p(x)=(1−M1)MM→∞lim(1−M1)M=e1≈0.368

    这些数据称为袋外数据,大约36.8%的样本可以用作测试集

弱学习模型的选择

  • 原则上没有限制,通常选择决策树或神经网络

组合策略

回归问题用平均法,分类问题用投票法

算法描述

随机森林

------Bagging算法的一个具体实现

  • 采用CART作为弱学习模型
  • 特征选择也引入了随机性
    • 随机选择特征的子集 d s u b < d d_{sub}<d dsub<d
    • 在子集中选择最优的分割特征
    • 该操作可以进一步增强学习模型的泛化能力

极端随机树(ExtraTrees)

极端随机树的弱分类器不依赖于训练的改变

  • 不抽样,也就不使用Bootstrap方法
  • 也不像Boosting那样,改变训练样本权重

它的随机性体现在树结点分裂时的两个随机过程

  1. 随机选择一小部分样本的特征
  2. 随机在部分属性随机选择使结点分裂的属性
    1. 因为不考虑分裂的是不是最优属性,因此有些"极端"。

极端随机树的优势

算法复杂度

  • 对比RandomForest,Extratree更快
    • 不抽样,不选择最优特征

拟合效果

因为不选择最优特征,预测结果的方差大,不易过拟合

基本不用剪枝

泛化能力

在某些领域ExtraTree比RandomForest好些

对于那些训练集分布与真实差别比较大的数据,ExtraTree更有优势

如果弱学习模型引入Bootstrap,随机性会进一步增大

相关推荐
不吃香菜?36 分钟前
逻辑回归之参数选择:从理论到实践
算法·机器学习·逻辑回归
green_pine_1 小时前
CSS学习笔记14——移动端相关知识(rem,媒体查询,less)
前端·css·笔记·学习·less
Go 鹏ya1 小时前
【docker学习笔记】如何删除镜像启动默认命令
笔记·学习·docker
Chrome深度玩家2 小时前
微博安卓版话题热度推荐算法与内容真实性分析
算法·机器学习·推荐算法
潇-xiao3 小时前
综合案例建模(2)
笔记·solidworks
孞㐑¥3 小时前
C++之特殊类设计及类型转换
开发语言·c++·经验分享·笔记
灏瀚星空4 小时前
量化交易之数学与统计学基础2.2——线性代数与矩阵运算 | 特征值与特征向量
笔记·python·学习·数学建模·金融
吴永琦(桂林电子科技大学)4 小时前
Node.js心得笔记
笔记·node.js
全能骑士涛锅锅5 小时前
论文导读 - 基于边缘计算、集成学习与传感器集群的便携式电子鼻系统
人工智能·机器学习·边缘计算·集成学习·电子鼻·气体传感器
jackson凌5 小时前
【Java学习笔记】递归
java·笔记·学习