time-complexity - 线性 SVM 的训练复杂度

标签 time-complexity svm libsvm

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

谢谢

最佳答案

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

  • Support Vector Machine Solvers by Bottou and Lin
  • SVM-optimization and steepest-descent line search by List and Simon

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

    关于time-complexity - 线性 SVM 的训练复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16585465/

    相关文章:

    image-processing - 如何获取用于对象检测的模型的xml文件?

    machine-learning - 使用 libsvm 提高标准化准确性的建议

    python 支持向量机

    python - 递归置换打印机的时间复杂度

    javascript - Array.push 与 Array.unshift 的性能对比

    java - 在 Java 中过滤列表,同时避免 o(n) 复杂度中的 ConcurrentModificationException

    algorithm - 具有数千个恒定时间操作的函数的时间复杂度是多少?

    java - 在 eclipse 中设置 LibSVM 训练

    matlab - libSVM 输出 "Line search fails in two-class probability estimates"

    java - 在 Java 代码中使用 libsvm 在移动设备中执行预测