联系我们

AI 101

什么是决策树?

mm

更新

 on

什么是决策树?

A 决策树 是有用的 机器学习 用于回归和分类任务的算法。 “决策树”之所以得名,是因为该算法不断将数据集分成越来越小的部分,直到数据被分为单个实例,然后再进行分类。如果要可视化算法的结果,则类别的划分方式将类似于一棵树和许多树叶。

这是对决策树的快速定义,但让我们深入了解决策树的工作原理。更好地了解决策树的运行方式及其用例,将有助于您了解何时在机器学习项目中使用决策树。

决策树的格式

决策树是 很像流程图。 要使用流程图,请从图表的起点或根开始,然后根据您如何回答该起点的过滤条件,移至下一个可能的节点之一。重复此过程,直到达到结尾。

决策树的工作方式基本上相同,树中的每个内部节点都是某种测试/过滤标准。外部的节点(树的端点)是有关数据点的标签,被称为“叶子”。从内部节点通向下一个节点的分支是要素或要素的合并。用于对数据点进行分类的规则是从根到叶的路径。

决策树算法

决策树以一种算法方法进行操作,该算法根据不同的标准将数据集拆分为单个数据点。这些拆分是通过不同的变量或数据集的不同特征完成的。例如,如果目标是确定输入特征是否描述了狗或猫,则数据所分割的变量可能是“爪”和“树皮”之类的东西。

那么,实际上使用什么算法将数据分为分支和叶子?可以使用多种方法来拆分树,但是最常见的拆分方法可能是被称为“递归二进制拆分”。执行这种拆分方法时,过程从根开始,数据集中要素的数量表示可能拆分的数量。使用一个函数来确定每个可能的拆分将花费多少精度,并且使用牺牲最小精度的标准进行拆分。递归执行此过程,并使用相同的一般策略形成子组。

为了 确定拆分成本,使用成本函数。回归任务和分类任务使用不同的成本函数。这两个成本函数的目标是确定哪个分支具有最相似的响应值或最同质的分支。考虑到您希望某个类的测试数据遵循某些路径,这很直观。

就递归二进制拆分的回归成本函数而言,用于计算成本的算法如下:

总和– prediction)^2

对特定数据点组的预测是该组训练数据的响应平均值。所有数据点都通过成本函数运行,以确定所有可能的分割的成本,并选择成本最低的分割。

关于分类的成本函数,该函数如下:

G =总和(pk *(1– pk))

这是基尼分数,它是基于拆分产生的组中有多少个不同类的实例来衡量拆分有效性的度量。换句话说,它量化了分割后组的混合程度。最佳拆分是指拆分产生的所有组仅包含一个类的输入。如果创建了最佳分割,则“ pk”值将为0或1,并且G将等于零。您可能可以猜测,在二进制分类的情况下,最坏情况的拆分是拆分中类的50-50表示形式的拆分。在这种情况下,“ pk”值将为0.5,而G也将为0.5。

当所有数据点都变成叶子并分类后,拆分过程终止。但是,您可能希望尽早停止树的生长。大型复杂树易于过度拟合,但是可以使用几种不同的方法来解决此问题。减少过度拟合的一种方法是指定将用于创建叶的最小数据点数。控制过拟合的另一种方法是将树限制在某个最大深度,该最大深度控制路径从根到叶的延伸时间。

决策树创建中涉及的另一个过程 正在修剪。 修剪可以通过删除包含对模型的预测能力/重要性不大的特征的分支来帮助提高决策树的性能。以这种方式,降低了树的复杂度,使其变得不太可能过拟合,并且增加了模型的预测效用。

进行修剪时,该过程可以从树的顶部或树的底部开始。但是,最简单的修剪方法是从叶子开始,然后尝试删除该叶子中包含最常见类的节点。如果这样做后模型的准确性没有降低,那么更改将保留。还有其他用于执行修剪的技术,但是上述方法–减少错误修剪–可能是最常用的决策树修剪方法。

使用决策树的注意事项

决策树 经常有用 当需要进行分类但计算时间是主要限制时。决策树可以使选定数据集中的哪些特征发挥最大的预测能力。此外,与许多机器学习算法(用于对数据进行分类的规则可能难以解释)不同,决策树可以提供可解释的规则。决策树还能够同时使用分类变量和连续变量,这意味着与只能处理这些变量类型之一的算法相比,所需的预处理更少。

当用于确定连续属性的值时,决策树的性能往往不太好。决策树的另一个局限性是,在进行分类时,如果训练示例很少,但课程很多,则决策树往往不准确。

专门从事以下工作的Blogger和程序员 机器学习 深度学习 话题。 Daniel希望帮助他人将AI的力量用于社会公益。