江苏省宜兴中学江苏宜兴214200
摘要:在机器学习与大数据飞速发展的21世纪,各种不同的算法成为了推动发展的基石.而作为十大经典算法之一的决策树算法是机器学习中十分重要的一种算法。本文对决策树算法的原理,发展历程以及在现实生活中的基本应用进行介绍,并突出说明了决策树算法所涉及的几种核心技术和几种具有代表性的算法模式。
关键词:机器学习算法决策树
1.决策树算法介绍
1.1算法原理简介
决策树模型是一种用于对数据集进行分类的树形结构。决策树类似于数据结构中的树型结构,主要是有节点和连接节点的边两种结构组成。节点又分为内部节点和叶节点。内部节点表示一个特征或属性,叶节点表示一个类.决策树(DecisionTree),又称为判定树,是一种以树结构(包括二叉树和多叉树)形式表达的预测分析模型,决策树算法被评为十大经典机器学习算法之一[1]。
1.2发展历程
决策树方法产生于上世纪中旬,到了1975年由JRossQuinlan提出了ID3算法,作为第一种分类算法模型,在很多数据集上有不错的表现。随着ID3算法的不断发展,1993年JRossQuinlan提出C4.5算法,算法对于缺失值补充、树型结构剪枝等方面作了较大改进,使得算法能够更好的处理分类和回归问题。决策树算法的发展同时也离不开信息论研究的深入,香农提出的信息熵概念,为ID3算法的核心,信息增益奠定了基础。1984年,Breiman提出了分类回归树算法,使用Gini系数代替了信息熵,并且利用数据来对树模型不断进行优化[2]。
2.决策树算法的核心
2.1数据增益
香农在信息论方面的研究,提出了以信息熵来表示事情的不确定性。在数据均匀分布的情况下,熵越大代表事物的越不确定。在ID3算法中,使用信息熵作为判断依据,在建树的过程中,选定某个特征对数据集进行分类后,数据集分类前后信息熵的变化就叫作信息增益,如果使用多个特征对数据集分别进行分类时,信息增益可以衡量特征是否有利于算法对数据集进行分类,从而选择最优的分类方式建树。
如果一个随机变量X的可以取值为Xi(i=1…n),那么对于变量X来说,它的熵就是
在得到基尼指数增益之后,选择基尼指数增益最大的特征来作为当前步骤的分类依据,在之后的分类中重复迭代使用这一方法来实现模型的构造。
3.决策树算法的优缺点
3.1决策树算法的优点[3]
(1)计算速度快,算法简单,分类依据清晰
(2)在处理数据时,有很高的准确度,同时分类结果清晰,步骤明朗。
(3)可以处理连续和种类字段
(4)适合高维数据
3.2决策树算法的缺点
(1)决策树算法可以帮助使用者创建复杂的树,但是在训练的过程中,如果将一些样本自身的特征也作为分类依据,则会出现过拟合的现象。单纯的决策树算法很容易出现过拟合的情况,为了避免这种问题,出现了剪枝的概念,剪枝的概念在后面会做出介绍。
(2)单一决策树的分类依据是不稳定的,目标特征数据很小的变化,就有可能影响模型的训练结果,生成一个和期望完全不同的数据,为了应对这一复杂问题,采用集成决策树来辅助决策,避免单一决策树的片面结果。
(3)通过上面对决策树节点分裂条件的介绍,可以看出算法是基于贪婪算法等启发式算法的,所以每一步节点的分裂都会根据当前最优的策略给出解,但是局部最优并不能保证全局解的最优,这就使得算法有了缺陷。随机森林等算法在启发式的过程中,加入随机的因素可以有效减轻局部最优,便于得到更好的解。
(4)决策树的结构特性,要求数据要基本平衡,来使得模型更加可信。
3.3决策树算法优化
决策树作为一种机器学习算法,和其他算法一样,主要有两个方面那就是建模和学习过程。反映到决策树中的话就是两个阶段:构造和剪枝。决策树在构造的过程中,是从上到下的递归构造过程。整个建树的关键步骤就是根据属性对原数据进行分类,不同属性会影响决策树模型最终的性能。正是因为节点分裂的重要性,所以提出了剪枝的操作。剪枝是决策树减少树分支,增大模型精度的方法之一,剪枝又分预先剪枝和后剪枝两种。后剪枝的大,特别是在大数据集中,会耗费很多的资源,但是在小样本集中,后剪枝方法还是优于预剪枝方法的[4]。
先剪枝顾名思义就是在决策树迭代生成的过程中,同时完成的操作,是在模型建立之前进行的剪枝,目的是对树模型生成过程做出影响,促使树提前停止分类。算法中,选择合适的值是先剪枝算法是否合理的关键所在,先剪枝算法可以减少建模代价并且优化模型结构。后剪枝算法是在决策树建模成型之后,通过算法的实际需求对模型的节点进行替换等再修改过程。后剪枝策略在建模之后对模型做出修改,势必会增大计算复杂度,但是模型结果会更加准确。
3.3决策树算法的实际应用
单一决策树在处理实际问题时的效果往往不尽如人意,目前决策树算法的实际应用往往是以一种集成的状态在实现。集成学习是目前比较实用的学习方法,它摆脱了单一算法自身的一些缺点,而使用多个机器学习方法来实现学习任务,尽量使不同的算法扬长避短,比如boosting算法和随机森林算法,通过训练多个弱学习器,就是我们所谓的单一决策树等传统模型,将多个弱学习器整合到一起来实现单一模型不能达到的效果[5]。
4.总结
决策树算法作为机器学习十大经典算法之一,不仅给分类树这一领域奠定了基础,同时也给很多问题的处理提供了可能。虽然决策树算法本身带有很多的局限性和缺点,但是不可否认它推动了智能算法的进步。近几年,随着人们需求的增多,单一算法不能满足需求,而决策树算法则是经常作为一个弱学习器在集成算法中出现,但是这也丝毫没有影响算法的地位,在以后,分类问题也是伴随我们生活的主要问题之一,决策树算法也会在更多的领域发挥作用。
参考文献:
[1]彭程,文雨,李楚畅.基于决策树算法的医疗大数据[J].信息技术与信息化,2018(09):70-74.
[2]刘玉.大数据背景下基于多决策树集成学习的入侵检测研究[J].白城师范学院学报,2018,32(08):40-44.
[3]付遥银,孙军梅,谭忠林,黄晓玉,章宣.基于决策树的抑郁障碍预测模型[J].杭州师范大学学报(自然科学版),2018,17(04):443-448.
[4]彭汐单,罗华清,袁宏波,杨济海.基于决策树算法的协议库存采购策略研究[J].江西电力,2018,42(07):47-50.
[5]张梦洋.基于改进遗传算法的单目相机标定和目标定位的研究[D].扬州大学,2017.