机器学习与模式识别4:决策树

一、决策树简介

决策树(Decision Tree),又称判定树,是一个流程图形式的树结构,其中每个中间结点代表某个属性或某组属性上的测试,每个分支则对应了该测试的不同结果,每个叶结点代表某个类别或预测结果。从训练数据中产生决策树的算法,通常被称为决策树学习算法或决策树算法。

决策树是利用树形图进行决策的预测模型,表现出的是对象属性与对象值之间的一种映射关系,是归纳学习和数据挖掘的重要方法。决策树分为分类树和回归树两种:分类树对离散变量做决策树,回归树对连续变量做决策树。

根据一种分类规则,不断的由根节点向下分裂的过程,其中每一个内部节点表示一个属性上的判断,每一个分支代表一个判断结果的输出,最后的叶子节点代表一种分类结果。某一个分支的纯度越高越好,越能给出预测类别。

二、决策树算法与优势

决策树算法主要围绕两大核心问题展开:第一,决策树的生长问题,即利用训练样本集,完成决策树的建立过程。第二,决策树的剪枝问题,即利用检验样本集,对形成的决策树进行优化处理。

决策树的算法很多,如ID3、C4.5、CART等。这些算法均采用自顶向下的贪婪算法,每个节点选择分类效果最好的属性将节点分裂为2个或多个子结点,继续这一过程直到这棵树能准确地分类训练集,或所有属性都已被使用过。

三、决策树的修剪

决策树生成算法是通过递归的方法产生决策树,直到不能继续下去为止,这样产生的树往往对训练数据的分类很准确,但对未知数据的分类却没那么准确,即出现过拟合的现象。过拟合的原因在于学习时过度考虑如何提高训练数据的正确分类,从而构建出过于复杂的决策树。解决这个问题的方法是考虑决策树的复杂度,对已生成的决策树进行简化,我们把这种对已生成的树进行简化的过程称为剪枝。 剪枝是从已生成的树上裁掉一些子树或叶节点,并将其根结点或父节点作为新的叶节点,从而简化分类树模型。

1.预剪枝:指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点;

2.后剪枝:先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。

四、决策树的优缺点

优点:结构简单,便于理解;效率高,较为适合训练集数据量较大的情况,拟合能力强;通常不需要接受训练集数据外的知识;具有较高的分类精确度等等。决策树算法广泛应用于各个领域,如文本分类、语音识别、模式识别和专家系统等。

缺点:如果样本发生一点点改动,整个树的结构都会发生剧烈变化。

相关推荐
船厂电气自动化ai大模型14 小时前
AI大模型与数学第42课:泰勒级数完整展开(神经网络近似核心)
人工智能·python·深度学习·算法·机器学习
老郑聊AI业财智造14 小时前
Qwen技术架构与源码深度剖析
人工智能·语言模型·架构·系统架构·软件工程
甲维斯14 小时前
Opus5自主解决Qwen3.8 27B本地接入Claude Code的BUG!
人工智能
晴天1614 小时前
智能体 Harness 工程指南-Day24
人工智能
格林威14 小时前
C#图像像素放大:邻域平均、双线性插值实现像素放大的C#实现代码
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
阿里云大数据AI技术14 小时前
一句话即可用好 MaxCompute:AI 全能搭子 MaxAgent 来了——会运维、能分析
人工智能·agent
野小生14 小时前
从零搭建越用越聪明的 AI 第二大脑:Claude Code + Obsidian 9 步实战
人工智能
两万五千个小时14 小时前
DeepSeek Harness 从 0 开始:09 System Prompt 模块(提示词组装)
人工智能·程序员·架构
刘海东刘海东14 小时前
一条新的人工智能道路(刘海东)第一章、第二章
人工智能
lovingsoft14 小时前
AI Agent 不是复读机:一个“计划-观察-执行“闭环,把大模型从聊天框变成能闭环干活的实习生
人工智能