【发布时间】:2011-04-03 11:32:18
【问题描述】:
给定一组数据点,在它们之上创建一个 kdtree,但是这个 kdtree 是唯一的吗?
【问题讨论】:
标签: data-structures machine-learning computational-geometry kdtree
给定一组数据点,在它们之上创建一个 kdtree,但是这个 kdtree 是唯一的吗?
【问题讨论】:
标签: data-structures machine-learning computational-geometry kdtree
这似乎取决于您如何构建树。维基百科文章提到中点的选择如何影响生成的树是否平衡。如果选择了不同的点,则树将不会平衡,但仍将是 kd-tree。因此,您的问题的答案取决于您的树构造算法如何选择分裂平面。
【讨论】:
我不这么认为。
如果您的问题的答案是“是”,那么我认为这意味着每个拆分的 维度 和 值 的选择是由一些客观标准选择的。当然,值是根据精确算法选择的(即,计算要在该维度上分割的所有点的中值,但 不是 维度。大多数 KD-Tree算法只是通过交替可用维度来选择要拆分的维度。有些算法只是随机选择要拆分的维度。
这与 C4.5(决策树)非常不同,因为在那里,要拆分的维度和值是由客观标准选择的,即熵最小化(对于分类变量)或方差(对于连续变量)。
【讨论】:
是唯一的,或者我们在选择某种分割方法时稳定,无论这些数据在于数据集。
【讨论】: