机器学习 day38(有放回抽样、随机森林算法)

有放回抽样

  • 有放回抽样和无放回抽样的区别:有放回可以确保每轮抽取的结果不一定相同,无放回则每轮抽取的结果都相同
  • 在猫狗的例子中,我们使用"有放回抽样"来抽取10个样本,并组合为一个与原始数据集不同的新数据集,虽然新数据集中可能有重复的样本,也不一定包含原始数据集的所有样本。

随机森林算法

  • 装袋决策树算法(Bagged decision tree)是适用于决策树集合的一种算法,生成决策树集合的过程如下:
    • 对于一个大小为M的原始数据集,进行以下操作:
      • 使用"有放回抽样",生成一个大小为M的新数据集, 在新数据集上训练决策树
    • 完成一次后,重复这个操作,直到重复B次(B不需要特别大,因为收益会递减,100左右是比较合适的值)
  • 装袋决策树算法指的是:我们将训练示例放入虚拟袋中,并进行有放回的抽样
  • 装袋决策树算法会导致:根节点处的拆分基本相同,且根节点附近的子节点也很相似,所以最后生成的决策树有大部分相似。为了让每个节点处能选择的特征不同,从而生成更多不同的决策树,提出了鲁棒性更强的随机森林算法。
  • 随机森林算法:在每个拆分节点处,我们的最优子节点的选择不是从所有的特征中选,而是先随机一个小于n的数k,再在包含k个特征的子集中选择最优子节点(当n很大时,通常取k=根号n)
  • 为什么随机森林算法比单个决策树的算法的鲁棒性更强:因为随机森林已经用很多进行了细小修改的数据集来训练算法,并进行平均,所以即便训练集发生一些小变化,也不会对最终输出有很大影响
相关推荐
tankeven3 分钟前
动态规划专题(14):石子合并问题(未完待续)
c++·算法·动态规划
像素猎人17 分钟前
大学算法类竞赛的常用模板【自己总结+收录的】【c++版】
数据结构·算法·排序算法·算法竞赛常用算法
xianluohuanxiang19 分钟前
高精度气象:极端天气一来,零售最先出问题的不是客流,而是补货体系和损失控制
开发语言·人工智能·深度学习·机器学习·零售
码云数智-大飞30 分钟前
分布式锁的“双雄对决”:Redis 与 ZooKeeper 的深度博弈与选型指南
算法
cpp_250138 分钟前
P1910 L 国的战斗之间谍
数据结构·c++·算法·题解·洛谷·背包dp
yu859395840 分钟前
时延估计的互相关算法(MATLAB实现)
开发语言·算法·matlab
逸风尊者42 分钟前
2026 主流 Claw 类产品技术报告
人工智能·后端·算法
强盛机器学习~1 小时前
考虑异常天气和太阳辐射下基于强化学习的无人机三维路径规划
算法·matlab·无人机·强化学习·路径规划·无人机路径规划·q-learning
Pixlout1 小时前
《7元接口体系》v1.0
网络·算法·硬件工程
SUNNY_SHUN1 小时前
不需要Memory Bank:CMDR-IAD用2D+3D双分支重建做工业异常检测,MVTec 3D 97.3%
论文阅读·人工智能·算法·3d