生成最近邻变得毫无意义的高维数据集

机器算法验证 机器学习 聚类 数据集 k-最近邻 高维
2022-03-10 19:35:46

在论文“什么时候'最近的邻居'有意义? ”我们读到,

我们表明,在某些广泛的条件下(就数据和查询分布或工作量而言),随着维度的增加,到最近邻居的距离接近到最远邻居的距离。换句话说,到不同数据点的距离对比变得不存在。我们确定的发生这种情况的条件比其他工作假设的独立同分布 (IID) 维度假设要广泛得多。

我的问题是,我应该如何生成产生这种效果的数据集?

我已经创建了三个点,每个点都有 1000 个维度,每个维度的随机数范围为 0-255,但是点创建不同的距离并且不重现上面提到的内容。似乎改变尺寸(例如 10 或 100 或 1000 尺寸)和范围(例如 [0,1])不会改变任何东西。我仍然得到不同的距离,这对于聚类算法来说应该不是任何问题!

编辑:我尝试了更多样本,根据我的实验,点之间的距离不会收敛到任何数字,相反,点之间的最大和最小距离变得更加明显。这也与需要更多直觉以了解维度诅咒的第一篇文章中所写的内容以及许多其他声称相同的地方(例如https://en.wikipedia.org/wiki/Clustering_high-dimensional_data#Problems . 如果有人可以用一段代码或真实数据集向我展示在实际场景中存在这种效果,我仍然会很感激。

3个回答

阅读一些较新的后续文章,例如:

Houle, ME, Kriegel, HP, Kröger, P., Schubert, E. 和 Zimek, A.(2010 年 6 月)。共享邻居距离能否战胜维度诅咒?. 在国际科学和统计数据库管理会议上(第 482-500 页)。施普林格柏林海德堡。

Zimek, A.、Schubert, E. 和 Kriegel, HP (2012)。高维数值数据中无监督异常值检测的调查。统计分析和数据挖掘,5(5),363-387。

如果我没记错的话,它们显示了理论距离集中效应的特性(已被证明)以及现实可能表现得非常不同的局限性。如果这些文章没有帮助,请联系我,然后我重新检查参考文献(只是将我记得的内容输入 Google Scholar,我没有再次下载论文)。

请注意,“诅咒”并没有说到最近和最远邻居的距离差接近 0;也不是距离会收敛到某个数字。而是相对于绝对值的相对差异变小了。然后随机偏差会导致邻居排名不正确。

在这个等式中,不要忽略分数、期望值和d

limdE(distmax(d)distmin(d)distmin(d))0

我以前也没有听说过这个,所以我有点防御,因为我已经看到高维度的真实和合成数据集确实不支持相关论文的主张。

因此,我建议,作为第一次,肮脏,笨拙并且可能不是好的第一次尝试是在您选择的维度中生成一个球体(我这样做是这样的),然后在中心放置一个查询球体。

在这种情况下,每个点与查询点的距离相同,因此最近邻与最远邻的距离相等。

当然,这与维度无关,但这是看了纸上的数字后想到的。这应该足以让您盯着看,但可以肯定的是,如果有的话,可能会生成更好的数据集。


编辑:

每个点的距离随着维度的增加而变得更大!!!!

这是意料之中的,因为维度空间越高,空间越稀疏,因此距离越大。此外,这是意料之中的,例如,如果您考虑欧几里得距离,它会随着维度的增长而变得更大。

与您的问题相关的是满足 Beyer 等定理假设的一系列示例。al.,这是在这篇论文“ Concentration of Fractional Distances (Wertz. et. al.) ”中给出的,它基本上说明了(参见它的 Theorem 5, P. 878)

定理 5:如果X(d)=(X1Xd)Rd是一个d具有 iid 分量的维随机向量,然后||X(d)||E||X(d)||p1Var[||X(d)||E||X(d)||]0,d.

所以这意味着,如果你生成的 iid 随机样本通过使用一个随机向量,其分量是 iid(例如一个正常的N(0,Id)随机向量),然后是它的“相对方差Var[||X(d)||E||X(d)||]" 将变为零,因此根据拜尔定理,最大范数(=作为原点的查询点的距离)除以最小范数(=作为原点的查询点的距离)将在概率上收敛到1,或等效地,“相对对比度”(上面 Anony-Mousse 的回答中提到的比率,以查询点为原点,即最远点和最近点之间的距离之比减一)也将变为零。

PS 对于有应用意识的人,非常欢迎您在这里查看我的相关问题,寻求这些类型定理的实际应用