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

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

相关推荐
蒸蒸yyyyzwd14 小时前
cpp选手秋招准备 学习笔记day7 webserver
笔记·学习
watersink15 小时前
机器学习PCA
人工智能·机器学习
逻辑君15 小时前
科技逆向外语|20260808
人工智能·科技·机器学习
ShallWeL15 小时前
【机器学习】(40)—— 流水线监控
人工智能·机器学习·流水线监控
Chen—LSN17 小时前
C语言——数据在内存中的存储
c语言·开发语言·经验分享·笔记
安逸Ai17 小时前
Batch Normalization 和 Layer Normalization 有什么用?
人工智能·机器学习·程序员
Uncommon.18 小时前
线性代数与向量
pytorch·python·线性代数·机器学习
bitbrowser1 天前
giffgaff突然停用?先分清闲置停用和长期境外断开
笔记
九硕智慧建筑一体化厂家1 天前
数字化管控落地,直流照明构筑安全照明体系
运维·人工智能·笔记·安全·智慧城市