0

比如说,我希望使用 LIBSVM 来构建一个包含 70% 训练数据的模型。那可能吗?

4

2 回答 2

0

没有任何技术可以让您提前准确指定模型将包含多少个支持向量。一个可能的例外是最小二乘 SVM 的固定大小公式,它允许您提前指定内核的大小(对于 LS-SVM,每个训练实例都是一个 SV)。

请注意,在大多数情况下,对于典型的支持向量机来说,70% 的支持向量非常高,所以我看不出你想要这个的直接原因。

但是,您可以使用 Schölkopf 等人的 nu-SVM 等公式指定支持向量的最小比例:

B. Schölkopf、A. Smola、RC Williamson 和 PL Bartlett。新的支持向量算法。神经计算,12:1207-1245,2000。

在这个公式中,您将至少有分数 nu 支持向量(0 < nu <= 1)。例如,nu-SVM 在 LIBSVM 中实现(-s 1用于 nu-SVC 或-s 4nu-SVR)。有关更多信息,您可以参考此 pdf(第 4 页)或 google nu-SVM 以查找有关它的各种论文。

于 2013-05-05T01:47:46.617 回答
0

如果你查看 libsvm 的工具文件夹,你会发现一个名为 subset.py 的 Python 脚本。您可以使用它来随机选择数据的子集进行训练。

于 2013-05-16T15:18:47.913 回答