使用空间填充曲线进行降维以避免“维度诅咒”?

机器算法验证 机器学习 数理统计 信息论 高维 多方面学习
2022-03-24 14:23:52

在机器学习中,我们想要训练一个模型。在训练的时候,如果数据的维度很高,我们就有了一个问题(Curse of Dimensionality),所以我们想降低我们数据的维度。

因为我们知道具有相同的基数。所以我们总是有一些空间填充曲线,可以在两个方向上唯一地映射每个点。即我们总是可以将任何n维数据双射映射到一维。那么我们首先遇到的问题是什么?RnR

我提出了两个仍然存在的问题:

  1. 有了这个空间填充曲线图,我们无法减少数据的大小。即,当我们在一维中编写它时,我们必须提高精度。
  2. 这是我有疑问的地方。我在想,在中表示数据有更多的信息中写入数据时,会有一些结构,比如哪个点靠近哪个点。这在这个映射中丢失了(空间填充曲线),即映射不是同态的。RnRRn

我的问题:

  1. 我的想法对吗?
  2. 我不知道我在第 2 点中谈论的是什么信息。你能帮我把它变得更严格吗?
  3. 还有其他问题吗?

例子:

假设我们有一个训练数据,其中带有标签 其中当我们训练一个神经网络来拟合这些数据时。如果我们改变碱基的顺序,即xiRnyiRi{1,2,..,N}

xi=(x1i,x2i,..,xni)

如果我们采取

x~i=(xρ(1)i,xρ(2)i,..,xρ(n)i)

其中是一些置换函数(对所有都相同)。那么神经网络的训练不受影响。所以什么时候顺序无关紧要。如果我将所有数据从转换为怎么办?也应该没关系。但这确实很重要。否则,就没有次元的诅咒了。ρiRnR

我认为当我们将数据从转换为时,我们会丢失一些信息或做错事。那是什么?RnR

4个回答

我认为您的直觉是正确的;沿着空间填充曲线从移动到仿射参数将丢弃关于高维空间中哪些点彼此接近的信息。同一邻域中的点可以沿曲线分开任意大的距离。Rn

例如,考虑一个问题,您的预测目标位于的紧凑区域中。您的机器学习任务是找到一种方法来表征该区域。在空间填充曲线表示中,曲线可能会在仿射参数的无限范围内进出该区域。找到曲线的这些部分不仅比在中找到区域的边界要困难得多,而且很可能是不可能的,因为你可能有任意大的RnλRnλ位于该地区。您的泛化错误将是可怕的,因为任何位于您尚未探索的曲线段上的新案例都会产生错过的预测,即使它与表示中的训练点有细微差别.Rn

降维确实在机器学习中占有一席之地,但诀窍是丢弃那些不能为您的预测问题提供有用信息的维度。仅使用空间填充曲线之类的构造将所有内容强制为一维并不能实现这一点。

维度灾难的问题是由所需的数据量引起的,在最坏的情况下,为了充分表示底层分布,特征/属性的数量呈指数增长。不幸的是,使用空间填充曲线来减少维数并不能消除维数灾难。考虑 d 维空间中的高斯分布,可以用均值向量和协方差矩阵来描述。这是一个很好的平滑和“简单”的分布。现在考虑高密度区域在空间填充曲线上的位置。现在不是一个连续的平滑分布,而是沿“字符串”呈指数级地(在原始空间的维度上)许多高数据密度的凸起。沿着“绳子”,这些颠簸应该在哪里,以及它们的高度和宽度遗憾的是,这种方法不太可能奏效。

如果您通过一些降维来转换数据,那么您将影响将在更高维训练中隐式使用的距离度量。

尝试从 2d 图像创建 3d 接近度度量 - 它都被扭曲了(参见 Fr Ted:“小,远”)。

如果您认为所有 N 维度都是有用的,您可以简单地根据集群大小(缩小维度上的最近邻度量或缩放矩阵(特征值/向量))“聚集”数据,然后单独训练每个集群,或针对丛集进行训练,具体取决于分裂如何发生/发生/强制。即类似于 RVM/IVM 方法的东西 信息性 (IVM) 和相关性 (RVM) 向量机之间的区别是什么

这种方法在一定程度上确实适用于低维空间,当然在中。 -d 树基本上是一种用于沿空间填充曲线对点进行排序的数据结构RnR2R3k

基于树的技术起作用/何时起作用的常见原因是因为它们将 ) 之间的一系列决策选择。只要相似或更大时,它会完全适得其反O(m)O(logm)O(n)nmnm

通常,适用维度诅咒的空间不仅是高维的,而且在概念上是无限维的,这使得直接的空间填充方法毫无希望。尽管如此,我不会说朝那个方向工作是完全徒劳的,因为即使在这样的问题中,数据实际上也经常被限制在一个有限的,甚至可能是低维的子流形中,并且仅以 -d 方式细分该流形可能有它的优点。真正的问题是首先找到那个流形。这就是降维的全部意义所在。k