存根 什么是决策树? - 联合人工智能
关注我们.

AI 101

什么是决策树?

mm
更新 on

什么是决策树?

A 决策树 是一种有用的机器学习算法,用于回归和分类任务。 “决策树”这个名字来源于这样一个事实:算法不断地将数据集划分为越来越小的部分,直到数据被划分为单个实例,然后对实例进行分类。如果您要可视化算法的结果,类别的划分方式将类似于一棵树和许多叶子。

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

决策树的格式

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

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

决策树算法

决策树采用算法方法进行操作,该方法根据不同的标准将数据集分割成单独的数据点。 这些分割是使用不同的变量或数据集的不同特征来完成的。 例如,如果目标是确定输入特征是否描述了狗或猫,则数据分割的变量可能是“爪子”和“吠叫”之类的东西。

那么使用什么算法来实际将数据拆分为分支和叶子呢? 有多种方法可用于分裂树,但最常见的分裂方法可能是一种称为“递归二元分割”。 当执行这种分割方法时,该过程从根开始,数据集中的特征数量代表可能的分割数量。 使用函数来确定每个可能的分割将花费多少准确度,并且使用牺牲最小准确度的标准进行分割。 这个过程是递归执行的,并且使用相同的通用策略形成子组。

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

就递归二元分割的回归成本函数而言,计算成本的算法如下:

sum(y – 预测)^2

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

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

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

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

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

决策树创建涉及的另一个过程 正在修剪。 剪枝可以通过删除包含对模型预测能力很小/重要性不高的特征的分支来帮助提高决策树的性能。 通过这种方式,树的复杂性降低了,过拟合的可能性也降低了,模型的预测效用也提​​高了。

进行修剪时,该过程可以从树的顶部或树的底部开始。 然而,最简单的修剪方法是从叶子开始,并尝试删除该叶子中包含最常见类的节点。 如果完成此操作后模型的准确性没有恶化,则保留更改。 还有其他技术可用于执行剪枝,但上述方法(减少错误剪枝)可能是最常见的决策树剪枝方法。

使用决策树的注意事项

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

当用于确定连续属性的值时,决策树往往表现不佳。 决策树的另一个限制是,在进行分类时,如果训练样本很少但类别很多,则决策树往往不准确。

博主和程序员,擅长 机器学习 深度学习 主题。 丹尼尔希望帮助其他人利用人工智能的力量造福社会。