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

使用一个决策树对数据的小变化非常敏感 ,这时可以使用多个决策树,称树的集合(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.

相关推荐
予枫的编程笔记44 分钟前
【论文解读】DLF:以语言为核心的多模态情感分析新范式 (AAAI 2025)
人工智能·python·算法·机器学习
HyperAI超神经1 小时前
完整回放|上海创智/TileAI/华为/先进编译实验室/AI9Stars深度拆解 AI 编译器技术实践
人工智能·深度学习·机器学习·开源
im_AMBER1 小时前
Leetcode 99 删除排序链表中的重复元素 | 合并两个链表
数据结构·笔记·学习·算法·leetcode·链表
创作者mateo1 小时前
PyTorch 入门笔记配套【完整练习代码】
人工智能·pytorch·笔记
明月(Alioo)1 小时前
AIGC入门,在Mac上基于Ollama和phi3:mini的完整Agent/Subagent例子
机器学习·aigc·agent·subagent
九河云1 小时前
数据驱动未来,华为云DWS为智能决策提速
大数据·人工智能·安全·机器学习·华为云
米汤爱学习1 小时前
stable-diffusion-webui【笔记】
笔记·stable diffusion
华清远见成都中心1 小时前
机器学习怎么学?
人工智能·机器学习
碎碎思1 小时前
在 FPGA 上实现并行脉冲神经网络(Spiking Neural Net)
人工智能·深度学习·神经网络·机器学习·fpga开发
Terrence Shen1 小时前
【CUDA编程系列】之01
c++·人工智能·深度学习·机器学习