为什么我们不能在决策树中随机启动根节点?

Why can't we initiate the root node randomly in Decision Trees?

我刚刚开始学习决策树。所以问题可能有点傻。

select根节点的想法有点令人困惑。为什么我们不能随机 select 根节点?它似乎唯一的区别是它会使决策树更长更复杂,但最终会得到相同的结果。

同样作为决策树中特征 selection 过程的扩展,为什么不能使用像特征和目标之间的相关性这样简单的东西,或者卡方检验来确定要选择哪个特征从什么开始?

Why can't we randomly select the root node?

我们可以,但这也可以扩展到它的子节点和那个子节点的子节点等等...

The only difference it seems to make is that it would make the Decision Tree longer and complex, but would get the same result eventually.

树越复杂,它的方差就越大,这意味着两件事:

  • 训练数据集的微小变化会极大地影响三者的形状
  • 它过度拟合训练集
其中

None 很好,即使您根据熵或基尼杂质指数在每一步都选择了一个明智的选择,您仍然可能最终得到比您想要的更大的三个。是的,那棵树在训练集上可能有很好的准确性,但它可能会过拟合训练集。

大多数使用决策树的算法都有自己的方法来以这种或那种方式对抗这种差异。如果考虑简单的决策树算法本身,降低方差的方法是先训练树,然后修剪树,使其更小,更少过拟合。随机森林通过对大量树进行平均来解决它,同时在每次必须做出决定时随机限制可以考虑哪个预测变量作为狭缝。

因此,随机选择根节点最终会导致相同的结果,但仅限于训练集,并且只有在过度拟合如此极端以至于树简单地以 100% 准确率预测所有内容时才会出现。但是树对训练集的过度拟合越多,它在测试集上的准确性就越低(通常),我们关心的是测试集上的准确性,而不是训练集上的准确性。