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

机器学习-决策树(下)

多个决策树:

前面讨论提到的所有决策树都是只有单个决策树,而实际上如果样本数据存在一些微小的变化,决策树却有可能发生很大的变动,因为每一个节点的选择都与样本息息相关。因此这样的决策树对数据变动非常敏感,为了增强稳健性我们可以一次构造多个决策树。

为了构造多个决策树,我们需要对原始的样本进行处理,已得到多批训练样本,因此引入有放回抽样的概念,即在每一次随机抽取后,将抽取到的样本重新放回,再进行下一次抽样。有放回抽样可以创建与原训练集类似但又不同的新训练集。

袋装决策树:

假设原训练集共有m个样本,那么一共进行B轮,每一轮都进行m次有放回抽样,我们就得到了B个不同的训练集(每个训练集样本个数都是m,且每一个训练集中都可能存在样本重复),也就可以训练B个决策树(一般B取64-128)。

随机森林:

假设样本共有n个特征,在每一棵树每一个节点进行实际节点决策时,规定从k<n的k个特征中,根据最大信息增益来选择特征作为节点,当n的取值较大时,一般取k=\sqrt{n}。这样做可以增强森林的多样性,降低树与树之间的相关性,从而提升模型的泛化能力。

假设k=n,那么在所有特征中,总有一个或多个特征是比较具有判别力的,因此在节点选择时每一棵树都会倾向于选择这些特征作为顶部节点进行分裂,也就导致了树具有较高的相似性,树与树之间高度相关。因此这样更有可能导致模型过拟合、泛化能力差

由于每次分裂时可用的特征不同,每棵树被迫去寻找不同的、可能不那么明显但仍有用的分裂方式。这大大增加了森林中树的多样性。不同的树使用不同的特征集,使得它们犯的错误也不同,从而得到更稳定、更准确的总体预测。

XGBoost:

与袋装决策树的独立随机抽样不同,此时我们不再进行完全的随机抽样,而是增加在已构造的树集合中表现得较差的样本的被抽取到的概率,也就是说,我们在后续决策树的构造中,会更多地关注前面的树中表现不好的样本,尽可能地学习好每一个训练样本,也就增强了模型的泛化能力。可以类比此时的决策树是“串行”的,每一个树(模型)都在尽量地修正前面的树(模型)的错误。

决策树与神经网络:

两者作为有效地机器学习方法,各自适用的范围并不一致。

对于决策树,根据其构造过程可知,其更适用于结构化的数据(也就是可以用表格形式展示的数据),而对于非结构化的图像、音频或文本,则表现不好。同时,其训练速度较快。

对于神经网络,其可以适用于所有类型的数据,不过相应的训练速度较慢,但可以于迁移学习结合,也可以多个神经网络串联。

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

相关文章:

  • 2025年跨领域管理能力提升认证路径分析
  • JSON转义
  • 涉密图纸管理办法| 涉密图纸如何保护?这4个图纸防泄密方法,可以一试!
  • MOSFET SOA曲线评估
  • AI驱动开发:颠覆传统编程新范式
  • swoole 中 Coroutine\WaitGroup 和channel区别和使用场景
  • 问卷系统项目自动化测试
  • OpenCV: cv::warpAffine()逆仿射变换详解
  • 模型剪枝----ResNet18剪枝实战
  • Linux之Ubuntu桌面化操作系统的安装
  • AI生成内容的版权问题解析与实操指南
  • Sunlord破解AI服务器供电难题!揭秘高效、小型化电感黑科技
  • MQTT 认证与授权机制实践(二)
  • 盲盒抽卡机小程序功能版块设计的合理性评估维度
  • ZooKeeper vs Redis:分布式锁的实现与选型指南
  • Vulkan进阶系列11 - RenderPass 设置对渲染性能的影响
  • 批量生成角色及动画-角色动画转化为mixamo骨骼(二)
  • 深入浅出 全面剖析消息队列(Kafka,RabbitMQ,RocketMQ 等)
  • 分类、目标检测、实例分割的评估指标
  • 数据结构基础之队列:数组/链表
  • 【C++】 list 容器模拟实现解析
  • 富文本编辑器:主流插件简介与wangEditor深度配置指南
  • 【c++】c++输入和输出的简单介绍
  • Mac M4环境下基于VMware Fusion虚拟机安装Ubuntu24.04 LTS ARM版
  • 在 CentOS 9 上安装 Docker 的完整指南
  • 蚂蚁 S21 XP+ HYD 500T矿机评测:SHA-256算法与高效冷却技术的结合
  • 数字隔离器,新能源汽车PTC中的“电气安全卫士”
  • git命令解析
  • 家庭网络异常降速问题排查处理方案
  • 查找算法 -- 二分查找 O(log n)