×

机器学习(四):决策树_经验熵

前端技术网 前端技术网 发表于2024-01-16 07:17:21 浏览3423 评论0

抢沙发发表评论

一、机器学习中常见的算法的优缺点之决策树

决策树在机器学习中是一个十分优秀的算法,在很多技术中都需要用到决策树这一算法,由此可见,决策树是一个经典的算法,在这篇文章中我们给大家介绍决策树算法的优缺点,希望这篇文章能够更好的帮助大家理解决策树算法。

其实决策树倍受大家欢迎的原因就是其中的一个优势,那就是易于解释。同时决策树可以毫无压力地处理特征间的交互关系并且是非参数化的,因此你不必担心异常值或者数据是否线性可分。但是决策树的有一个缺点就是不支持在线学习,于是在新样本到来后,决策树需要全部重建。另一个缺点就是容易出现过拟合,但这也就是诸如随机森林RF之类的集成方法的切入点。另外,随机森林经常是很多分类问题的赢家,决策树训练快速并且可调,同时大家无须担心要像支持向量机那样调一大堆参数,所以在以前都一直很受欢迎。

机器学习(四):决策树_经验熵

那么决策树自身的优点都有什么呢,总结下来就是有六点,第一就是决策树易于理解和解释,可以可视化分析,容易提取出规则。第二就是可以同时处理标称型和数值型数据。第三就是比较适合处理有缺失属性的样本。第四就是能够处理不相关的特征。第五就是测试数据集时,运行速度比较快。第六就是在相对短的时间内能够对大型数据源做出可行且效果良好的结果。

那么决策树的缺点是什么呢?总结下来有三点,第一就是决策树容易发生过拟合,但是随机森林可以很大程度上减少过拟合。第二就是决策树容易忽略数据集中属性的相互关联。第三就是对于那些各类别样本数量不一致的数据,在决策树中,进行属性划分时,不同的判定准则会带来不同的属性选择倾向;信息增益准则对可取数目较多的属性有所偏好,而增益率准则CART则对可取数目较少的属性有所偏好,但CART进行属性划分时候不再简单地直接利用增益率尽心划分,而是采用一种启发式规则。

通过上述的内容相信大家已经知道了决策树的优点和缺点了吧,大家在学习或者使用决策树算法的时候可以更好的帮助大家理解决策树的具体情况,只有了解了这些算法,我们才能够更好的使用决策树算法。

二、为什么在机器学习算法中决策树法比其他方法更常用

减少数的深度用决策树法训练大量数据集最节约时间。

决策树分析法是一种运用概率与图论中的树对决策中的不同方案进行比较,从而获得最优方案的风险型决策方法。图论中的树是连通且无回路的有向图,入度为0的点称为树根,出度为0的点称为树叶,树叶以外的点称为内点。

决策树由树根(决策节点)、其他内点(方案节点、状态节点)、树叶(终点)、树枝(方案枝、概率枝)、概率值、损益值组成。决策树的另一个使用是作为计算条件概率的描述性手段。

机器学习(四):决策树_经验熵

决策论中(如风险管理),决策树由一个决策图和可能的结果(包括资源成本和风险)组成,用来创建到达目标的规划。决策树建立并用来辅助决策,是一种特殊的树结构。决策树是一个利用像树一样的图形或决策模型的决策支持工具,包括随机事件结果,资源代价和实用性。

它是一个算法显示的方法。决策树经常在运筹学中使用,特别是在决策分析中,它帮助确定一个能最可能达到目标的策略。如果在实际中,决策不得不在没有完备知识的情况下被在线采用,一个决策树应该平行概率模型作为最佳的选择模型或在线选择模型算法。

决策树法原理:

它利用了概率论的原理,并且利用一种树形图作为分析工具。其基本原理是用决策点代表决策问题,用方案分枝代表可供选择的方案,用概率分枝代表方案可能出现的各种结果,经过对各种方案在各种结果条件下损益值的计算比较,为决策者提供决策依据。

决策树分析法是常用的风险分析决策方法。该方法是一种用树形图来描述各方案在未来收益的计算。比较以及选择的方法,其决策是以期望值为标准的。人们计算的各种方案在未来的经济效果只能是考虑到各种自然状态出现的概率的期望值,与未来的实际收益不会完全相等。

三、机器学习系列(三十六)——回归决策树与决策树总结

回归决策树树是用于回归的决策树模型,回归决策树主要指CART算法,同样也为二叉树结构。以两个特征预测输出的回归问题为例,回归树的原理是将特征平面划分成若干单元,每一个划分单元都对应一个特定的输出。因为每个结点都是yes和no的判断,所以划分的边界是平行于坐标轴的。对于测试数据,我们只要将特征按照决策过程将其归到某个单元,便得到对应的回归输出值。

如上图所示的划分和相应的回归树,如果现在新来一个数据的特征是(6,7.5),按照回归树,它对应的回归结果就是C5。节点的划分的过程也就是树的建立过程,每划分一次,随即确定划分单元对应的输出,也就多了一个结点。当根据相应的约束条件终止划分的时候,最终每个单元的输出也就确定了,输出也就是叶结点。这看似和分类树差不多,实则有很大的区别。划分点的寻找和输出值的确定是回归决策树的两个核心问题。

一个输入空间的划分的误差是用真实值和划分区域的预测值的最小二乘来衡量的:

其中,是每个划分单元的预测值,这个预测值是该单元内每个样本点的值的某种组合,比如可取均值:

(输入特征空间划分为)

那么求解最优划分即是求解最优化问题:

其中,和是每次划分形成的两个区域。

关于该最优化问题的求解这里不再介绍,下面直接使用skleaen中的决策回归树来看一下决策树的回归效果,数据集使用Boston房价数据:

不进行调参的话,可以看到在测试集上R方是0.59,显然这是不太好的结果,但是一个有趣的现象是,在训练集上:

R方值是1.0,也就是在训练集上决策树预测的回归结果完全吻合毫无偏差,这显然是过拟合。这个例子也说明了决策树算法是非常容易产生过拟合的,当然我们可以通过调参来缓解过拟合。

下面绘制学习曲线来直观看一下决策树回归模型的表现,首先绘制基于MSE的学习曲线:

学习曲线如下:

再绘制基于R方的学习曲线:

上面两种都是在默认情况下也就是不进行决策树深度和叶子节点个数等条件的限制得到的结果。发现在训练集上,如果不进行限制,可以做到0偏差,这是明显的过拟合。接下来调节参数再绘制学习曲线,为节约篇幅,只调节决策树深度这一个参数,而且只绘制基于R方的学习曲线:

max_depth=1时

max_depth=3时

max_depth=5时

随着深度的增加,模型复杂度越来越高,过拟合现象也越来越明显,可以测试,当max_depth=20时,在训练集上又为一条y=1的无偏差直线。有兴趣的仍然可以修改其它参数绘制学习曲线。

决策树的局限性:

使用本系列上篇文章中的鸢尾花数据,来看一下决策树对个别数据敏感会导致的结果,在本系列上篇文章中,使用信息熵划分,其余参数默认情况下绘制的决策边界是:

接着我们删除索引为138的数据,再来绘制决策边界:

发现此时的决策边界已经完全不同了,而这仅仅只是一个数据点的影响。

综上我们知道决策树实际是一种不够稳定的算法,它的表现极度依赖调参和数据,不过虽然决策树本身不是一种高效的机器学习算法,但是它们基于集成学习的组合——随机森林(RF)却是一个很鲁棒的机器学习算法,这将在下篇开始介绍。

文章分享到这里,希望我们关于机器学习(四):决策树_经验熵的内容能够给您带来一些新的认识和思考。如果您还有其他问题,欢迎继续探索我们的网站或者与我们交流,我们将尽力为您提供满意的答案。