SVM 预测时间随着测试用例数量的增加而增加

数据挖掘 支持向量机 scikit-学习 图像分类
2022-02-13 10:19:52

我将 scikit-learn 的 SVM 用于MNIST 数字分类数据集为了提高性能,我通过添加旋转样本来扩展数据集。我知道 SVM 需要 O(N^3) 时间来训练数据,其中 N 是训练向量的数量。

然而,即使预测似乎也需要多项式增加,测试向量的数量是相同的。对这个或一些将预测时间与训练样本数量相关的方程有什么解释吗?

我使用 3 次多项式作为 C=100.0 的内核。

注意:我正在做一个小组项目来比较各种方法的性能,所以我不能使用任何其他方法,因为我的队友会使用这些方法。我参考了 Decoste 和 Scholkoph 的一篇论文,它使用了 Virtual SVM。但是,如果我不能运行一个简单的扩展训练集,我认为我不能在我当前的系统上运行它。

1个回答

支持向量的数量必须增加。预测时间与此成正比;毕竟,内核分类器是,其中总和在支持向量上。使用 sklearn,您可以通过检查n_support_来了解您有多少f(x)=iαik(x,xi)