如果您生长整棵树,则最好的优先(叶方式)和深度优先的(水平方式)将导致同一棵树。区别在于树的扩展顺序。由于我们通常不会将树木生长到最大深度,因此顺序很重要:应用早期停止条件和修剪方法可能会导致树木完全不同。因为逐叶选择拆分是基于它们对全局损失的贡献而不仅仅是基于特定分支的损失,所以它常常(并非总是)比“逐层”学习“错误”树。即,对于少数节点,逐层叶子的性能可能会优于逐层叶子的性能。随着您添加更多节点,无需停止或修剪它们,它们将收敛到相同的性能,因为它们最终将在字面上构建相同的树。
参考:
Shi,H.(2007)。最佳优先决策树学习(论文,理学硕士(MSc))。怀卡托大学,新西兰汉密尔顿。取自https://hdl.handle.net/10289/2317
编辑:关于您的第一个问题,C4.5和CART都是深度优先的示例,而不是最佳优先的示例。以下是上述参考中的一些相关内容:
1.2.1标准决策树
诸如C4.5(Quinlan,1993)和CART(Breiman et al。,1984)的标准算法用于决策树的自上而下的归纳,使用分而治之策略在每个步骤中以深度优先顺序扩展节点。通常,在决策树的每个节点上,测试仅涉及单个属性,并且将属性值与常量进行比较。标准决策树的基本思想是,首先,选择一个要放置在根节点上的属性,并根据一些条件(例如信息或基尼索引)为此属性创建一些分支。然后,将训练实例划分为子集,每个分支从根节点延伸一个。子集的数量与分支的数量相同。然后,仅使用实际到达分支的实例,对选定的分支重复此步骤。固定顺序用于扩展节点(通常从左到右)。如果任何时候节点上的所有实例都具有相同的类标签(称为纯节点),则拆分将停止,并将该节点制成终端节点。这个构造过程一直持续到所有节点都纯净为止。然后进行修剪过程以减少过度拟合(请参阅第1.3节)。
1.2.2最佳优先决策树
到目前为止,似乎只有在增强算法的情况下才进行了评估(Friedman等,2000),另一种可能性是以最佳优先顺序而不是固定顺序扩展节点。此方法在每个步骤中将“最佳”拆分节点添加到树中。“最佳”节点是最大程度减少所有可拆分节点(即未标记为终端节点)中的杂质的节点。尽管这会产生与标准深度优先扩展相同的完全生长的树,但它使我们能够研究使用交叉验证选择扩展数量的新树修剪方法。可以通过这种方式执行预修剪和后修剪,这使得它们之间可以进行合理的比较(请参见第1.3节)。
与标准深度优先决策树类似,最佳优先决策树以分而治之的方式构建。如何构建最佳优先树的基本思想如下。首先,选择一个属性放置在根节点上,并根据一些条件为此属性创建一些分支。然后,将训练实例划分为子集,每个分支从根节点延伸一个。在本文中,仅考虑了二进制决策树,因此分支的数量恰好是2。然后,仅使用实际到达分支的实例,对选定的分支重复此步骤。在每个步骤中,我们都选择可用于扩展的所有子集中的“最佳”子集。这种构造过程一直持续到所有节点都是纯节点或达到特定数量的扩展为止。图1。图1示出了假设的二进制最佳优先树和假定的二进制深度优先树之间的划分顺序的差异。注意,可以为最佳优先树选择其他顺序,而在深度优先情况下顺序总是相同的。