Connect with us

AI 入门 101

什么是决策树?

mm

什么是决策树?

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

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

决策树的格式

决策树 与流程图类似。 使用流程图时,您从图表的起始点或根开始,然后根据起始节点的过滤标准进行回答,移动到下一个可能的节点。 此过程重复直到达到结束。

决策树以本质上相同的方式运作,每个内部节点都是某种测试/过滤标准。 树外的节点,即树的端点,是数据点的标签,被称为“叶子”。 从内部节点到下一个节点的分支是特征或特征的组合。 用于分类数据点的规则是从根到叶子的路径。

决策树的算法

决策树以算法的方式运作,将数据集划分为个别数据点,基于不同的标准。 这些划分是使用不同的变量或数据集的不同特征完成的。 例如,如果目标是确定输入特征是否描述了一只狗或一只猫,数据被划分的变量可能是“爪子”和“吠叫”。

那么,什么算法被用来实际地将数据划分为分支和叶子? 有各种方法可以用来划分树,但最常见的划分方法可能是一种称为“递归二分”的技术。 当执行此划分方法时,过程从根开始,数据集中的特征数量代表可能的划分次数。 使用一个函数来确定每个可能的划分的准确性成本,并使用牺牲最少准确性的标准进行划分。 此过程递归执行,使用相同的策略形成子组。

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

在递归二分的回归成本函数中,用于计算成本的算法如下:

sum(y – prediction)^2

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

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

G = sum(pk * (1 – pk))

这是 Gini 得分,它是划分的有效性的衡量标准,基于划分后组中不同类的实例数。 换句话说,它量化了划分后组的混合程度。 最优划分是当划分后所有组只包含一个类的输入时。如果创建了最优划分,“pk”值将为 0 或 1,G 将等于零。您可能可以猜出最坏的情况是,当划分后类在二元分类中以 50-50 的比例表示时。在这种情况下,“pk”值将为 0.5,G 也将为 0.5。

划分过程在所有数据点都被转换为叶子并分类时终止。然而,您可能希望提前停止树的生长。大型复杂树容易过拟合,但可以使用几种不同的方法来解决这个问题。减少过拟合的一种方法是指定创建叶子的最少数据点。控制过拟合的另一种方法是限制树的最大深度,这控制了从根到叶子的路径的长度。

决策树创建中涉及的另一个过程是剪枝。剪枝可以通过剥去具有很少预测能力/对模型不重要的特征的分支来提高决策树的性能。这样,树的复杂性降低,它不太可能过拟合,模型的预测实用性增加。

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

使用决策树的考虑

决策树通常很有用,当分类需要执行但计算时间是一个主要约束时。决策树可以清楚地指出所选数据集中的哪些特征具有最大的预测能力。另外,与许多机器学习算法不同,数据的分类规则可能难以解释,决策树可以提供可解释的规则。决策树还可以使用分类和连续变量,这意味着需要的预处理比只能处理其中一种变量类型的算法少。

决策树在确定连续属性的值时通常不能很好地执行。决策树的另一个限制是,当进行分类时,如果有很少的训练示例但有很多类,决策树往往不准确。

博客作者和程序员,专攻 Machine Learning Deep Learning 领域。Daniel 希望帮助他人利用 AI 的力量为社会做好事。