【问题标题】:Support Vector Machines (SVM) for large/very large datasets用于大型/超大型数据集的支持向量机 (SVM)
【发布时间】:2013-11-07 13:01:40
【问题描述】:

我想知道对于具有非线性决策边界(例如高斯核)?

我知道两种特定的方法: 一方面,本次调查使用随机梯度下降等: http://cseweb.ucsd.edu/~akmenon/ResearchExam.pdf

另一方面,有以下核心向量机/球向量机方法: http://www.c2i.ntu.edu.sg/ivor/cvm.html

在哪一页我们可以找到两篇描述核向量机和球向量机的论文。

换句话说,我相信 SVM 对于手头的问题是相当合理的,但是如果我要使用标准 SVM 实现(可能高达 n^3 的复杂性),我会受到样本量的限制。我正在寻找一种在时间复杂度低于 n^2 的情况下相当准确的“近似”实现。最快的此类实现是什么?它们在经验上运行良好还是在准确性上接近原始 SVM?

【问题讨论】:

  • 这个问题有点含糊。你能进一步解释一下吗?您想了解每种方法的更多信息吗?还是您在寻找它们之间的基准?
  • 标准的二次规划方法可能需要 n^3 的复杂度。对于大型数据集,这是不合理的。我正在寻找在大型数据集上最有效的 SVM 实现,同时保持合理的准确性(仍然足够接近原始 SVM 实现)。对这种近似 SVM 实现的基准比较将不胜感激。将更新问题以获得更好的说明。
  • 确实 SVM 的复杂度为 N^3,问题是您已经通过提供的链接回答了该问题。如果您阅读 Pegasos SVM 的长论文版本(第一个链接中的参考资料之一),您将获得使用随机梯度下降的 SVM 逼近方法的最新技术基准。事实上,您可以在 PegasosSVM 论文长版 (ttic.uchicago.edu/~nati/Publications/PegasosMPB.pdf) 的结果部分(第 16 页)中找到这两个问题的答案
  • 非常感谢您的帮助;对此,我真的非常感激。但是,您展示的论文发表于 2007 年(通过快速搜索,它似乎没有提到核心/球 VM)。我链接的调查报告是在 2009 年写的。4 年是相当长的时间。即使复杂度可能不会提高很多,但近似的准确性可能会有所提高。我希望得到最新的答案。
  • 嗨,我同意 4 年是相当长的时间,但请记住,在研究中是从论文发表到人们在生产中使用它开始显示结果的平均时间,或者在主流库中实现。因此,如果这些论文是您可以获得的最新论文,我不会感到惊讶。

标签: c++ svm bigdata large-data


【解决方案1】:

我曾经尝试过FaLK-SVM,结果很有希望。该方法类似于核心向量机/球向量机,但使用带树的 k 近邻(覆盖树)来分离数据。 link 上有一个 libSVM 实现。 corresponding paper 描述了核心和球的方法,但指出 k-最近邻(只是为了分离!)更好。

【讨论】:

  • 非常感谢您的回答!会调查的。
猜你喜欢
  • 2014-01-17
  • 2010-11-23
  • 2011-11-09
  • 2021-02-02
  • 1970-01-01
  • 2023-03-15
  • 2019-06-27
  • 2020-10-10
  • 2018-10-10
相关资源
最近更新 更多