给定一个 1 维随机数集,我们只需遍历该集合,然后将数据推到树下。在一个维度上,这非常简单。我们可以简单地比较数据的价值,并确定数据将沿着树传播的位置。
但是,对于更高维度,距离开始变得模糊,并且更难确定哪些数据应该在树下的位置。
事实上,如果我们要设计一个包含一组高维向量的分层树(例如,128 维 SIFT 特征),我们如何决定每个 n 维向量中的哪一个应该转到哪个子树等等?我们做了哪些事情?
随机树
随机树是分类或聚类的常用技术。
以下是您决定如何拆分树的每个节点的方法:
- 从 128 个 SIFT 维度中随机选择一个 k(小一点,如 5)。
- 确定其中 k 个维度中的哪一个提供最佳的数据拆分。
因此,每个节点都需要存储:
- 要使用的维度
- 应用于该维度的决策阈值
叶子将存储:
- 类预测,或有关最终到达该叶节点的数据点的一些统计信息。