基于层次聚类方法的索引及数据维度挖掘
1. 初始观察与聚类划分
首先,我们从一个简单的观察开始。假设距离度量 (d) 为任意 (L_p) 度量,考虑一个有限点集 (S) 分布在一维区间 ([-\lambda, \lambda]) 上,且 (0, \lambda \in S)。以 (0) 作为聚类中心,我们得到一个聚类 ((S, 0)),其半径 (r(S, 0) = \lambda)。
接下来,我们通过 (0) 和 (\lambda) 的平分线对 (S) 进行划分,得到两个子聚类 ((S_0, 0)) 和 ((S_{\lambda}, \lambda)),半径分别为 (r_0 = \lambda) 和 (r_{\lambda} = 0.5)。这里,(S_{\lambda} = {s \in S | d(0, s) \leq d(\lambda, s)}),(S_0 = {s \in S | d(0, s) > d(\lambda, s)})。
在后续步骤中,(S_0) 会被其最远点的平分线再次划分,得到的半径 (r_{00}, r_{01} \leq 0.5)。以深度优先搜索的方式递归应用这种简单的划分方法,在最多两次连续分离步骤后,实际聚类半径会缩小为原来的 (0.5) 倍。
当将区间 ([0, \lambda]) 映射到平面(例如通过 (x \mapsto (x, \sin x)))时,这种方法仍能保持相同的缩减率。但当点集 (S) 任意分布在平面上(充分利用二维空间)时,大约需要 (\beta) 个连续步骤(取决于所使用的 (p))才能使半径减半。将点映射到维度为 (1 < d < 2) 的分形(例如通过 (x \mapsto (x, \
超级会员免费看
订阅专栏 解锁全文
1109

被折叠的 条评论
为什么被折叠?



