内核方法是否随数据量“缩放”?

机器算法验证 支持向量机 内核技巧
2022-03-11 15:06:27

我一直在阅读内核方法,您可以将原始个数据点映射到特征空间,计算内核或 gram 矩阵并将该矩阵插入标准的线性算法。大得多)时,这一切听起来都很好,但是内核矩阵本身在也相当大,这意味着如果你将点数翻倍所需的内存量。这是否意味着内核方法不能很好地扩展到更大的数据集?或者对于大多数算法来说,是否不需要计算整个内核矩阵并将整个事物保存在内存中?NNN×N

3个回答

不必始终将整个内核矩阵保存在内存中,但是如果不这样做,您当然会付出重新计算条目的代价。由于内核技巧,内核方法在处理高输入维度方面非常有效,但正如您正确指出的那样,它们不会轻易扩展到大量训练实例。

例如,非线性 SVM 具有Ω(n2)训练复杂度(n个实例)。这对于多达几百万个实例的数据集来说是没有问题的,但之后就不再可行了。此时,可以使用近似值,例如固定大小的内核较小 SVM 基础模型的集合

关于处理大内核的文献历史悠久。

Rahimi 和 Recht 的“大型内核机器的随机特性”是一个重要的里程碑。他们以随机方式将输入嵌入到较低维度中以实现可扩展性。这项工作在处理不同类型的内核等方面产生了更多有趣的工作。

基于 Nystrom 方法的方法是处理大内核的另一种方法。同样,这种方法已被几项工作解决。

最近,分而治之的内核支持向量机已经解决了分布式设置中的这个问题。查看:www.cs.utexas.edu/~cjhsieh/dcsvm/

我认为一些内核计算可以分布到集群中。那么这个算法可以被认为是可扩展的,因为计算集群中有大量的内存和cpu。