决策树的演变与理解

详细总结的决策树的来龙去脉,决策树的底层原理是什么?应用的场景如何快速高效应用决策树 决策树是一种常见的机器学习算法,用于分类和回归任务。它通过将数据递归地划分成更小的子集来构建一个树状模型,从而做出决策。本文将详细介绍决策树的历史背景、底层原理、构建过程、常见的算法、应用场景以及优缺点。 阅读详情

title: 决策树的演变与理解
date: 2019-09-19 20:20:35
categories:

  • 技术
    tags:
  • 机器学习
  • 决策树

决策树是机器学习十大算法之一,整理下决策树的演变,并把为何这么演变的原因阐述如下,以便加深理解。

image-20190919204757536

思想起源

决策树的思想起源很简单,古语有云“朝霞不出门,晚霞行千里”,就是暗合决策树的思想。如果今天有朝霞则可以预测今天有雨;如果看到了晚霞,则代表天气很好,不会下雨。在这里面其实是一个if-else的分支判断。

1966年,CLS学习系统中就已经提出决策树算法的概念。

1979年,J.R Quinlan 给出ID3算法原型。

首先,举一个例子。如果通过【年龄】【职业】【信誉】来预测该用户是否会购买某个产品。

如果我们通过年龄来判断,如果<10不会购买,>10不确定。然后在age>10的基础上判断职业,如果是【学生】,则不会购买;如果是医生会购买;如果是律师不确定,进一步在age>10和职业为律师的基础上判断,如果信誉高的话,会购买,否则不会购买。

上述判断,其实生成了一棵决策树。

决策树从根节点到叶结点的一条路径就对应着一条合取规则,因此决策树容易转换成分类规则。

决策树的本质是从数据集中归纳出一组分类规则。

决策树生成思路

决策树设计为三类节点:根节点、叶子节点和内部节点。

  1. 如果从一个空缺的决策树开始,选择一个特征为根节点;
  2. 我们按照该特征条件进行划分,如果划分到某个子集为空,或子集中的所有样本已经归为同一类别,那么该子集就是叶子节点,否则为内部节点。
  3. 对于内部节点,需要选择一个新的类别继续对该子集进行划分,直到所有子集都为叶子节点。

ID3算法——信息熵的引入

特征选择在于选取对训练数据具有分类能力的特征,这样可以提高决策树学习的效率。为了衡量通过选择某个特征后,样本划分信息的变化。引入熵的概念(衡量信息的不确定性),熵的改变越大,说明用该特征的效果越好。

image-20190919212713529

那么,通过确定某个特征,熵前后发生变化,学者引入了信息增益来衡量这种变化。

[外链图片转存失败(img-asWGRb7B-1568903351774)(https://tva1.sinaimg.cn/large/006y8mN6ly1g755hjob5xj30s40isn54.jpg)]

如此以来,我们可以通过信息增益来判断先选择哪个特征来生成决策树的效果更好。

ID3算法就是选择信息增益作为选取特征的标准。

ID3算法的描述

image-20190919214703964

image-20190919214759884

缺陷:信息增益偏向于选择特征值个数较多的特征。

比如,对于职业这个特征来说,有学生、律师、会计、教师、农民、士兵等待。

划分的越细,则信息越确定,熵则越小,信息增益则愈大。

对于性别这种特征候选数量较小的特征是不公平的。

C4.5算法的引入

为了解决“信息增益偏向于选择特征值个数较多的特征”这个问题。Quinlan提出了C4.5算法。

C4.5使用信息增益率为标准选择特征,解决“信息增益偏向于选择特征值个数较多的特征”的这个问题。

image-20190919215406203

1993年,Quinlan发展了ID3算法,提出C4.5算法。

其中,ID3还有另一个分支为分类回归决策树算法(CART),CART可以用来回归预测。

C4.5算法的描述

image-20190919214930084

CART算法的引入

上述的两种算法:ID3和C4.5,适用于分类算法,但是对于回归来说,决策树也可以有所应用。

CART算法就是一种通过决策树方法实现回归的算法。

在预测中,CART使用最小剩余方差(基尼指数)来判断数据集的最优划分,这个准则是期望划分之后的子树与样本点的误差方差最小。

image-20190919220623280

CART进行预测是把叶子节点设定为一系列分段线性函数,这些分段线性函数是对源数据曲线的一种模拟。

image-20190919220730658

CART算法描述

image-20190919220813716

image-20190919220842723

决策树的公共缺陷

决策树因为划分越细(树层数越多),在训练集得到的结果越准确,因而很容易过拟合。

为了解决决策树过拟合的问题,引入剪枝的方法。

剪枝主流方法有两类:先剪枝和后剪枝(悲观剪枝)。

先剪枝当子集的某个标准低于预定义的阈值时,子集的划分终止。

后剪枝在整个决策树生成完毕后,估算内部节点所覆盖样本节点的误判率,如果低于阈值,则将其变为叶子节点。

先剪枝效率高,适合大规模数据的粗略估计。但容易导致欠拟合。

参考&致谢

  • 郑捷- 机器学习
  • 李航- 统计学习方法
【机器学习】十大算法之一 “决策树” 传统的机器学习算法通常是根据数据来寻找模型、寻找关于数据的规律或者说是特征,是一种第一步是给定数据,然后在学习过程中发现一个模型用来描述这些数据的算法。与此不同的是,决策树则是一种将自主变量切分成不同数据集最优方法的算法,具有易于理解、易于解释、能够处理缺失数据、可处理不连续型数据、简单性、目标变量存在非线性关系的优点,因此被广泛应用于数据挖掘、机器学习等领域。在机器学习中,决策树算法是非常重要的一种算法。通过不断地分割数据集,决策树算法可以构建一棵分类或回归树,从而实现对数据的分类或回归。 阅读详情

相关推荐

机器学习之决策树

一.决策树(最早的机器学习算法之一)的发展过程     (1)1966年,CLS学习系统发展下的决策树     (2)1983-1986年,发展了ID3决策树(特征选择:信息增益)     (3) 1993年,C4.5 (机器学习的十大算法之一)(特征选择:信息增益率)     (4)ID3的另一个分支分类回归决策树算法(CART)(特征选择:最小剩余方差)既可以运用于分类,又可以用于预测。  详...

ZCC的专栏 2111

决策树的巍巍历程:从基础到高级

1.背景介绍 决策树(Decision Tree)是一种常用的机器学习算法,它以树状结构展现了特征与目标之间的关系。决策树算法可以用于分类和回归问题,其中最著名的算法有 ID3、C4.5、CART等。本文将从基础到高级,详细介绍决策树的核心概念、算法原理、具体操作步骤以及数学模型公式。 1.1 决策树的历史与发展 决策树算法的发展历程可以追溯到1959年,当时的研究人员们试图解决人工智能中的...

AI天才研究院 1417

R语言——决策树模型

        决策树(Tree Nodels)是一种创建树状模型的方法,它使用‘基尼不纯度’(Gini Impurity)或信息增益(Information Gain)等标准对节点进行递归分割,以创建树状模型。决策树看起来像是以树状形式排列的一系列的if-else语句,易于理解,执行速度快。并且,它能够很好地表现多个特征之间的相互作用,适用于多种数据类型。(树状模型中,随机森林性能表现卓越) ...

RH_Wang的博客 3万+

决策树模型构建+调参Python代码——用决策树模型实现机器学习

决策树模型构建+调参Python代码——用决策树模型实现机器学习。

qq_41698317的博客 3526

机器学习第五章之决策树模型

机器学习专题系列

wangyutao12345的博客 5182

【机器学习】九大决策树模型总结

这篇博客深入探讨了九种不同的决策树模型,每种模型都拥有其独特的特点和应用场景。我将带您了解一些经典的模型,让你理解它们的工作原理,并在实践中灵活运用它们。

chunyang的博客 3610

Decision Tree Model|决策树模型

本文介绍了决策树模型的基本概念和应用实例。决策树通过一系列条件判断对数据进行分类或回归预测,以猫分类为例,展示了决策树从根节点到叶节点的分类过程。文章还比较了四种基于相同特征集但结构不同的决策树,分析其差异原因(数据划分、特征重要性、随机性等),并指出评估决策树优劣的标准包括准确率、泛化能力和解释性。最后建议实践中可采用集成学习方法提升模型性能。更多计算机知识欢迎访问作者博客网站rn.berlinlian.cn。

m0_74462934的博客 1934

机器学习西瓜书&南瓜书——决策树模型

决策树模型是机器学习领域最常见的模型之一,甚至有人说决策树模型上机器学习领域的水平上升了一个台阶。决策树的基本思想是根据样本的一些特征来构造一个树,树的每个分支节点都是一个分支属性,每个分支节点都会针对当前节点的属性把样本一分为二,有这个属性或者说在这个属性上表现为yes的数据被分为一个集合,没有这个属性或者在这个属性上表现为no的数据呗分为一个集合。一个完整的决策过程包含若干个子决策,最终得到判定结果。以“找出好瓜”这个任务为例,假设西瓜有“色泽“,”根蒂“,”敲击声“这三个属性,假设先判定“色泽”这个属

m0_73556978的博客 1838

用MACD决策树模型预测股票趋势

前言上回说到,可以用LSTM时序模型来预测股票价格,在股票价格技术分析中,MACD作为一个经典的交易指标,一直指导着买卖时机,这篇我们实现一下在这个指标下的决策树模型,来预测未来的股票走势...

深度觉醒 9339

关于决策树损失函数来源的理解与推导

在阅读《统计学习方法》5.1.4决策树学习一节过程中,有如下一句话引起博主疑惑:决策树的损失函数通常是正则化的极大似然函数。书上并未给出具体推导,直到5.4决策树的剪枝中,直接给出了正则化的决策树损失函数:。其中|T|代表叶节点个数,表示具体某个叶节点的样例数,表示叶节点经验熵。 我们知道正则化的损失函数中前一项代表经验误差,而在概率模型中(决策树模型是一种概率模型),经验误差函数的获得往往通过...

wzk1996的博客 9321

决策树模型案例_机器学习 | 决策树模型(二)实例

上面文章《决策树模型(一)理论》中,已详细介绍了决策树原理,包括决策树生长原理,决策树的特征选择原理,决策树剪枝策略以及决策树处理缺失值原理等等。如果您还没有阅读,可点击跳转,或关注公众号获取文章详情。本文将继决策树理论后,通过实际的案例应用,加深对决策树工作原理的理解。本文直接使用sklearn中决策树模型,sklearn自带的红酒数据集作为数据源。「本文字数8253」sklearn....

weixin_33160876的博客 3076

如何用决策树模型做数据分析?

什么是决策树?决策树模型本质是一颗由多个判断节点组成的树。在树的每个节点做参数判断,进而在树的最末枝(叶结点)能够对所关心变量的取值作出最佳判断。通常,一棵决策树包含一个根结点,若干内...

luoluo96321的博客 5310

决策树算法的发展历史、原理及代码实现

数据科学的关键在于数据分析和建模,而决策树算法可以有效地解决分类和回归问题。决策树模型非常适合处理复杂的非线性和多维输出的问题,能够自动学习数据中的模式并进行预测。在数据挖掘、机器学习等领域,决策树算法被广泛应用。许多互联网公司依赖于决策树算法为用户提供个性化服务,如亚马逊、苹果、谷歌、微软等。随着大数据的出现,决策树算法也经历了长足的发展过程。本文主要讨论决策树算法的发展史及其演变过程,并通过案例讲解决策树算法的原理和代码实现。希望能对读者有所帮助。A:决策树是一种常用的分类与回归方法。

AI天才研究院 1505

决策树模型的参数

决策树模型的参数 1.criterion gini or entropy 基尼系数或者熵值 2.splitter best or random 前者是所有特征中最好找的切分点,后者是在部分特征中(数据量大的时候) 3.max_features None, log2,sqrt,N 特征小于50的时候一般使用所有的 4.max_depth数据少或者特征少的时候可以不用管这个只,如果模型样本量多,特征也...

yqyayqy的博客 3977

决策树模型构建与优化全攻略

决策树是一种常用的机器学习算法,它采用树形结构对实例进行分类和回归预测。它从数据集的属性出发,通过一系列问题将数据划分为多个子集,形成一个树状结构。这种模型易于理解和解释,因此在许多领域都有广泛的应用,如金融分析、医疗诊断、市场细分等。决策树是一种常见的分类与回归方法,以树形结构展示决策过程。其核心思想是通过一系列的问题将数据集划分为更小的子集,最终形成一个树结构。每个内部节点表示在一个属性上的测试,每个分支代表测试的一个结果,而每个叶节点代表一个类的预测结果。

weixin_28988985的博客 953

深入理解与应用:决策树模型案例分析

决策树是一种流行的机器学习模型,它通过一系列的分支决策规则来预测目标变量的值。它在分类和回归任务中都有广泛的应用,并且以直观和易于解释著称。在本章中,我们将简要介绍决策树的基本概念,并讨论其在实际问题中的应用实例,为读者提供对决策树模型全面的初步认识。信息熵的概念最早来源于热力学,它衡量了一个系统的无序度。在信息论中,熵被用来量化信息的不确定性。信息熵越高,表示系统中的信息不确定性越大。在决策树模型中,熵是衡量数据集纯度的重要指标,它可以帮助我们识别在分割数据时最有信息量的特征。

weixin_31776191的博客 1181

决策树模型

决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶子节点代表一种类别。树的组成:(如下图示,来源百度,只做结构演示说明)根节点:第一个选择点非叶子结点与分支:中间过程叶子节点:最终的决策结果决策树是一树状结构,它的每一个叶节点对应着一个分类,非叶节点对应着在某个属性上的划分,根据样本在该属性上的不同取值将其划分成若干个子集。对于非纯的叶节点,多数类的标号给出到达这个节点的样本所属的类。构造决策树的核心问题是在每一步如何选择适当的属性对样本做拆分。

m0_74017503的博客 815

差分运放实战:如何快速计算带直流偏置的电路(附详细推导步骤)

本文详细解析了差分运放电路在带直流偏置设计中的核心计算方法和实战技巧。通过可视化参数关系和分步拆解,帮助工程师快速掌握电路设计精髓,包括虚短虚断原理、偏置电压计算及非理想因素处理,提升信号调理和传感器接口设计的效率与精度。

o4p5q6r7s的博客 408
上一篇: 《Spark机器学习》通读
下一篇: HBase引入与理解
chengshuo678
博客等级 码龄14年 5粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值