训练线性SVM的复杂性

时间:2013-05-16 10:50:24

标签: time-complexity svm libsvm

SVM学习阶段的实际计算复杂度(比如说,在LibSVM中实现)?

谢谢

2 个答案:

答案 0 :(得分:9)

非线性 SVM的训练复杂度通常在O(n ^ 2)和O(n ^ 3)之间,n训练实例的数量。以下论文是很好的参考文献:

PS:如果要使用线性内核,请不要使用LIBSVM。 LIBSVM是一种通用(非线性)SVM求解器。它不是线性SVM的理想实现。相反,您应该考虑诸如LIBLINEAR(与LIBSVM相同的作者),PegasosSVM^perf之类的内容。对于线性SVM,这些具有很多更好的训练复杂性。训练速度可以比使用LIBSVM好几个数量级。

答案 1 :(得分:1)

这将严重依赖于svm类型和内核。有一个相当技术性的讨论http://www.csie.ntu.edu.tw/~cjlin/papers/libsvm.pdf。 要快速回答http://www.csie.ntu.edu.tw/~cjlin/papers/libsvm.pdf,请说它是n ^ 2.