吴恩达机器学习笔记 二十八 使用多个决策树 树集合 有放回抽样 随机森林算法

使用一个决策树对数据的小变化非常敏感 ,这时可以使用多个决策树,称树的集合(tree ensemble)。如下图,猫猫分类问题中,若改变一只猫的特征,得到的将是两种完全不同的决策树,这使算法没那么健壮。

使用一个树集合(tree ensemble),集合中每个树预测的结果可能不同,由每个树进行投票,最多的是 cat, 所以结果就是cat。

有放回抽样(sampling with replacement) ,这里 replacement 指的是抽一次之后把抽出来的放回去再继续抽。构建随机训练集,如下图,每次从十个样本里抽一个直到抽够十个,是有放回抽样,所以抽出来的可能有重复。

随机森林算法

假设有一个大小为 m 的训练集,做 B 次这样的操作:有放回抽样重建一个大小为 m 的训练集 (随机训练集),然后根据这个训练集训练出一棵决策树,总共得到 B 棵这样的决策树。B越大越好,但好到一定程度之后再增大,实际上没有变好多少,尤其是当 B 远大于100时。

通常在确定分割特征时,我们不是考虑所有的 n 个特征,而是挑选一个特征的子集 ,让算法只能从这 k 个特征中选择再来进行分裂。当 k 为几十几百的时候,通常k 取 n 的平方根

为什么随机森林比一棵决策树更健壮

因为随机森林算法中的有放回抽样就相当于已经对数据做了微小改动,并且多个树相当于对这种改变进行了平均。

最后是老师讲的一个笑话:

Where does a machine learning engineer go camping?

In a random forest.

相关推荐
huangyuchi.40 分钟前
【Linux】LInux下第一个程序:进度条
linux·运维·服务器·笔记·进度条·c/c++
大写-凌祁2 小时前
论文阅读:HySCDG生成式数据处理流程
论文阅读·人工智能·笔记·python·机器学习
Unpredictable2222 小时前
【VINS-Mono算法深度解析:边缘化策略、初始化与关键技术】
c++·笔记·算法·ubuntu·计算机视觉
柯南二号2 小时前
深入理解 Agent 与 LLM 的区别:从智能体到语言模型
人工智能·机器学习·llm·agent
傍晚冰川3 小时前
FreeRTOS任务调度过程vTaskStartScheduler()&任务设计和划分
开发语言·笔记·stm32·单片机·嵌入式硬件·学习
C137的本贾尼3 小时前
(每日一道算法题)二叉树剪枝
算法·机器学习·剪枝
Blossom.1183 小时前
使用Python和Flask构建简单的机器学习API
人工智能·python·深度学习·目标检测·机器学习·数据挖掘·flask
Love__Tay4 小时前
【学习笔记】Python金融基础
开发语言·笔记·python·学习·金融
Lilith的AI学习日记4 小时前
什么是预训练?深入解读大模型AI的“高考集训”
开发语言·人工智能·深度学习·神经网络·机器学习·ai编程
半导体守望者4 小时前
ADVANTEST R3764 66 R3765 67爱德万测试networki connection programming网络程序设计手册
经验分享·笔记·功能测试·自动化·制造