当前位置: 首页 > news >正文

大连理工大学选修课——机器学习笔记(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=1nhi(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=1nwihi(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)=1M1

    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)=(1M1)MMlim(1M1)M=e10.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,随机性会进一步增大

http://www.xdnf.cn/news/231265.html

相关文章:

  • 三生原理与中华文明标识体系的关系?
  • vs2019编译occ7.9.0时,出现fatal error C1060: compiler is out of heap space
  • C++(初阶)(十六)——set
  • YOLO视觉模型可视化训练与推理测试工具
  • 嵌入式中常用的算法介绍
  • (Go Gin)Gin学习笔记(五)会话控制与参数验证:Cookie使用、Sessions使用、结构体验证参数、自定义验证参数
  • 自动驾驶-一位从业两年的独特视角
  • 2025年-redis(p1-p10)
  • Kotlin与Jetpack Compose的详细使用指南
  • 高级java每日一道面试题-2025年4月30日-基础篇[反射篇]-如何防止你的类被通过反射非法实例化?
  • PCI总线数据采集卡 32路多功能异步模拟量信号采集卡
  • 如何在 Go 中实现各种类型的链表?
  • 硬盘分区丢失≠末日!3步逻辑恢复法+物理修复全流程图解
  • 大数据应用开发和项目实战-Seaborn
  • 使用通义千问大模型做结构化输出报错的分析
  • ubantu部署yolov5(第四集:模型加速)
  • 正点原子STM32H743单片机实现ADC多通道检测
  • k8s平台:手动部署Grafana
  • SQL命令二:SQL 高级查询与特殊算法
  • Git从入门到精通-第一章-基础概念
  • 软件性能测试有多关键?能找出潜在问题并确保其顺利运行吗?
  • [250430] Kali Linux 存储库密钥丢失导致所有用户无法正常更新 APT
  • JavaScript:从JS的执行机制到location对象
  • 大语言模型(LLM)应用开发平台Dify详细使用
  • 系统思考:局部最优与全局失衡
  • WHAT - Tailwind CSS + Antd = MetisUI组件库
  • GEO vs SEO:从搜索引擎到生成引擎的优化新思路
  • vs2019 调试看不到std::list 中的值,
  • 上班无聊用python写一个摸鱼小游戏:数字碰撞
  • conda管理python环境