我一直在研究 catboost 算法,我很难看出使用对称树的意义。在这方面,我在他们的 github 中发现:
该算法的一个重要部分是它使用对称树并逐级构建它们。对称树是一棵树,其中每个级别的节点使用相同的拆分。这允许使用 idex 对叶子的路径进行编码。例如,有一棵深度为 2 的树。第一层的拆分是 f1<2,第二层的拆分是 f2<4。那么 f1=5, f2=0 的对象将有编号为 01b 的叶子。
他们说这有助于减少过度拟合并进行更快的推理,但对我来说,直觉上,这就像你需要两倍的深度来探索相同数量的分割。
那么,任何人都可以解释使用这种类型的树的实际优势是什么?
非常感谢。