gpt4 book ai didi

machine-learning - catboost 算法中对称树背后的直觉是什么?

转载 作者:行者123 更新时间:2023-12-03 21:23:25 24 4
gpt4 key购买 nike

我一直在研究 catboost 算法,我很难看出使用对称树的意义。在这方面,我在他们的github中找到了:

An important part of the algorithm is that it uses symmetric trees and builds them level by level. Symmetric tree is a tree where nodes of each level use the same split. This allows to encode path to leaf with an idex. For example, there is a tree with depth 2. Split on the first level is f1<2, split on the second level is f2<4. Then the object with f1=5, f2=0 will have leaf with number 01b.



他们说这有助于减少过度拟合并更快地进行推理,但对我来说,直觉上,就像你需要两倍的深度来探索相同数量的 split 。

那么,谁能解释一下使用这种类型的树的实际优势是什么??

非常感谢。

最佳答案

由于这是谷歌搜索的第一个结果,我将提供答案。
典型的决策树是一系列 if/else 决策。假设您可以在每个处理器周期做出 1 个这样的决定——这会很快,但 100% 是连续的。要做出决定,您需要 O(m)决定,其中 m是树的最大高度。
在 CatBoost 的对称树中,每个 split 都在同一个属性上。要确定向左还是向右,您只需要知道树的当前级别,它对应于一个特征及其值。该阈值对于该级别上的所有分组都是相同的。通过这种方式,您可以矢量化您的决策——创建一个阈值向量,一个您当前用于预测的值向量,并按元素进行比较。如果你有一个向量处理器,即它可以并行执行多个整数比较(这在现在很常见),你需要 1 个处理器周期来做出决定。
正如您所看到的,差异归结为向量化,能够在向量元素比较的 1 步中直接从根到叶,而不是 if/else 决策序列。

关于machine-learning - catboost 算法中对称树背后的直觉是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50087526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com