我一直在关注Tom Mitchel 的 ML 课程。使用决策树学习算法时的固有假设是:算法。最好选择最小的决策树。
当我们可以拥有更大的树扩展而原则上可以比较短的树表现更好时,为什么会这样?
我一直在关注Tom Mitchel 的 ML 课程。使用决策树学习算法时的固有假设是:算法。最好选择最小的决策树。
当我们可以拥有更大的树扩展而原则上可以比较短的树表现更好时,为什么会这样?
你的树越大,你的模型就越过拟合。在机器学习中,我们总是更喜欢更简单的模型,除非有充分的理由去复杂化。
添加到 SmallChess 的答案中,较大的树(具有许多节点)过于适应训练集,因为输入训练数据的微小变化可能会导致树发生很大变化,从而导致估计值发生太大变化。这主要是由于到树的层次结构(因为较高节点的变化可能导致所有较低节点的变化)。作为一个极端情况,您可以考虑一棵大树,其中每个训练示例都有自己的节点。这样的树对于测试预测绝对没有用。
考虑代数中的 LCD(最小公分母)原理。对于要计算 LCD 的大多数过程,较大的分母适用,但按惯例使用的分母最少。为什么?一般来说,对素数的兴趣是基于归约方法的价值。
在哲学中,奥卡姆剃刀原则是一个原则,给定两个与观察结果同样相关的概念结构,越简单的最有可能是最好的。一个更正式和普遍的处方是这样的:
给定一个物理系统的两个数学模型,它们与被建模系统的所有观察结果集具有相同的相关性,更简单的模型更有可能最有可能预测观察集之外的条件。
这种作为功能理想的简单原则适用于决策树。由驱动其构建的给定数据集产生的更有可能功能和清晰的决策树将是最简单的。如果没有明确的额外复杂性原因,增加的复杂性可能不会带来任何好处,但在清晰度以及可维护性和可验证性方面可能会受到惩罚。在某些应用程序中,也可能存在计算惩罚。
问题提到,“原则上可以更好地执行树的更大扩展”,但是树的性能应该是在准备执行和实时执行决策树时优化的问题。换句话说,极简决策树是最清晰、最可行和最可验证的结构,但是聪明的软件工程师可以将极简结构转换为运行时优化的等效结构。
就像编译源代码一样,性能是多维的。在优化运行时树时,可以使用时间效率、内存效率、网络带宽效率或其他性能指标。尽管如此,更简单的树是这些兴趣的任何加权组合的最佳起点。