大连理工大学选修课——机器学习笔记(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,随机性会进一步增大

相关推荐
z人间防沉迷k2 分钟前
MySQL事务和索引原理
数据库·笔记·sql·mysql
江苏泊苏系统集成有限公司1 小时前
半导体晶圆制造洁净厂房的微振控制方案-江苏泊苏系统集成有限公司
人工智能·深度学习·目标检测·机器学习·创业创新·制造·远程工作
houliabc1 小时前
【2025年软考中级】第二章2.2 程序设计语言的基本成分
笔记·学习·证书·软考
✎ ﹏梦醒͜ღ҉繁华落℘2 小时前
WPF学习
c语言·开发语言·笔记
大筒木老辈子2 小时前
Linux笔记---线程
笔记
杨DaB2 小时前
【JavaWeb】基本概念、web服务器、Tomcat、HTTP协议
java·笔记·学习·java-ee
njsgcs3 小时前
transformer 输入三视图线段输出长宽高 笔记
笔记
Vizio<4 小时前
基于FashionMnist数据集的自监督学习(生成式自监督学习AE算法)
人工智能·笔记·深度学习·神经网络·自监督学习
苏苏susuus5 小时前
机器学习:欠拟合、过拟合、正则化
人工智能·机器学习
TaoTao Li6 小时前
学习笔记:3个学习AI路上反复看到的概念:RAG,Langchain,Agent
人工智能·笔记·学习