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

一、决策树简介

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

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

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

二、决策树算法与优势

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

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

三、决策树的修剪

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

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

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

四、决策树的优缺点

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

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

相关推荐
双向3310 分钟前
当Trae遇上高德MCP:一次国庆武汉之旅的AI技术实践
人工智能·trae
格林威10 分钟前
Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型和EasyOCR实现汽车牌照动态检测和识别(C#代码,UI界面版)
人工智能·深度学习·数码相机·yolo·c#·汽车·视觉检测
8K超高清16 分钟前
广播级讯道摄像机CCU后挂上的PGM、ENG、PROD音频旋钮是做什么用的?
大数据·人工智能·科技·数码相机·音视频·智能硬件
Jason_zhao_MR24 分钟前
RK3576赋能无人机巡检:多路视频+AI识别引领智能化变革
人工智能·音视频·嵌入式·无人机
静心问道36 分钟前
SEW-D:语音识别中无监督预训练的性能与效率权衡
人工智能·语音识别·应用·ai技术应用
不叫猫先生38 分钟前
Amazon Lambda:无服务器时代的计算革命,解锁多样化应用场景
服务器·数据库·人工智能·amazon lambda
_風箏1 小时前
Ollama【部署 02】Linux本地化部署及SpringBoot2.X集成Ollama(ollama-linux-amd64.tgz最新版本 0.6.2)
人工智能·后端·ollama
勤劳的进取家1 小时前
论文阅读:Do As I Can, Not As I Say: Grounding Language in Robotic Affordances
论文阅读·人工智能·机器学习·语言模型·自然语言处理
THMAIL1 小时前
大模型0基础开发入门与实践:第8章 “大力出奇迹”的哲学:大语言模型的核心技术揭秘
人工智能·语言模型·自然语言处理
这张生成的图像能检测吗2 小时前
(论文速读)RandAR:突破传统限制的随机顺序图像自回归生成模型
图像处理·人工智能·机器学习·计算机视觉·生成模型·自回归模型