机器学习-决策树(下)

多个决策树:

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

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

袋装决策树:

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

随机森林:

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

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

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

XGBoost:

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

决策树与神经网络:

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

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

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

相关推荐
AI服务老曹2 分钟前
AI视频分析API常见问题和排查清单
人工智能·音视频
youngerwang6 分钟前
【从“聊天“到“执行“:MATLAB Agentic AI + MCP Server 实战——以 5G NR PDSCH 波形仿真为例】
人工智能·5g·matlab
沸速存储7 分钟前
CPU 和 GPU 核心差别在哪?为什么 AI 训练离不开 GPU
服务器·人工智能·科技·嵌入式硬件·电脑
leoZ23117 分钟前
AI 辅助开发的五道坎
开发语言·人工智能·视觉检测·bert·php·超分辨率重建·openvino
火云牌神44 分钟前
前后端分离:约束 AI 分工,避免接口耦合与职责错乱
人工智能·系统架构·ai编程·前后端分离·vibecoding
凌杰1 小时前
关于机器恐惧症的个人观点汇总
人工智能
IT_陈寒1 小时前
Vue的v-for不听话?我被这个Key的坑整懵了
前端·人工智能·后端
水獭比特1 小时前
localhost 不是安全边界:给 Agent Web 入口补上四层门禁
人工智能·python
赟爸1 小时前
直播切片素材杂乱不好复用,易元AI要怎么处理
大数据·人工智能·python
文叔叔1 小时前
我开源了一个 Codex Desktop ↔ Claude Desktop 双向调用工具
人工智能