为更高维度的数据设计分层树



给定一个 1 维随机数集,我们只需遍历该集合,然后将数据推到树下。在一个维度上,这非常简单。我们可以简单地比较数据的价值,并确定数据将沿着树传播的位置。

但是,对于更高维度,距离开始变得模糊,并且更难确定哪些数据应该在树下的位置。

事实上,如果我们要设计一个包含一组高维向量的分层树(例如,128 维 SIFT 特征),我们如何决定每个 n 维向量中的哪一个应该转到哪个子树等等?我们做了哪些事情?

随机树

随机树是分类或聚类的常用技术。

以下是您决定如何拆分树的每个节点的方法:

  • 从 128 个 SIFT 维度中随机选择一个 k(小一点,如 5)。
  • 确定其中 k 个维度中的哪一个提供最佳的数据拆分。

因此,每个节点都需要存储:

  1. 要使用的维度
  2. 应用于该维度的决策阈值

叶子将存储:

  • 类预测,或有关最终到达该叶节点的数据点的一些统计信息。

最新更新