我指的是 Ehthem Alpaydin,“机器学习简介”一书。
在“决策树”一章下,我需要帮助来理解判别式的概念以及它在本段中的使用方式:
每个 在 d 维输入空间中定义了一个判别式,将其划分为更小的区域,当我们从根向下走路径时,这些区域会进一步细分。是一个简单的函数,当写成树时,一个复杂的函数被分解为一系列简单的决策。不同的决策树方法假设不同的模型,模型类定义了判别式的形状和区域的形状。每个叶节点都有一个输出标签,在分类的情况下是类代码,在回归的情况下是一个数值。
我指的是 Ehthem Alpaydin,“机器学习简介”一书。
在“决策树”一章下,我需要帮助来理解判别式的概念以及它在本段中的使用方式:
每个 在 d 维输入空间中定义了一个判别式,将其划分为更小的区域,当我们从根向下走路径时,这些区域会进一步细分。是一个简单的函数,当写成树时,一个复杂的函数被分解为一系列简单的决策。不同的决策树方法假设不同的模型,模型类定义了判别式的形状和区域的形状。每个叶节点都有一个输出标签,在分类的情况下是类代码,在回归的情况下是一个数值。
通常,在谈论决策树时,指的是C4.5 算法。也就是说,我们构建了一个二叉决策树,在每个节点上,我们需要使用规则“变量 < 值”(如果变量是分类的,你可以有一个=符号)来决定我们在哪里分割数据。
怎么知道最好的分割是什么?很简单,我们测试variable和value的所有可能组合,然后选择以最均等的方式(最接近 50-50)拆分数据的拆分。
我们如何知道数据是否被很好地分割?我们尝试最小化诸如熵之类的指标或最大化诸如基尼系数之类的指标。您想将原始熵减少到零。
你什么时候停下来?当节点中有单个样本或所有样本具有相同值时,您要么停止。或者,您可以为决策树定义最大深度(这称为预修剪)或尝试在之后减少您的决策树(这称为后修剪)。
如果决策树测试所有变量和值的组合,为什么创建速度如此之快?好吧,我骗了你。他们不会测试所有组合。使用的指标(熵或基尼)可以增量计算,因此算法所做的就是对每个变量的值进行排序,然后逐步查看增加一个样本是提高还是降低了分数。但这是您无需了解的技术性问题。
更多的东西?您应该记住,决策树会进行提前优化。他们没有找到全局最佳决策树。他们是近视的。因此,如果您认为两个变量是相关的,您应该设计一个使用这两个变量的新变量。
我的决策树是高度可变的?如果决策树稍有变化,就会有很大的不同。这就是为什么人们通过重新采样数据来构建决策树集合(如随机森林)以使其更强大的原因。您确实失去了可解释性:如果您使用许多决策树,您将无法再绘制决策树。有关这方面的更多信息,请参阅此问题。
此外,我推荐这些资源: