支持向量机是否适合大规模应用

之前的学术讨论的时候,老师一直说,支持向量机是不适合于大规模应用的,而且毕竟时间复杂度要\mathcal{O}(m^3),这个开销是非常大的。不过前几天看一篇在Bayesian Analysis上面的文章说(现在统计学家也用SVM,足以证明SVM已经是业界公认的东西了)SVM适用于大规模应用。这个东西就有矛盾了。

所以就去知乎上问了一下,得到了很棒的答案,现在知乎还在内测,把答案贴在下面吧。

陈义

3票,来自 骆逸李申申王守崑
关于什么是大规模机器学习,可以参考[1, 2, 3, 4]的讨论。显然,大小是个相对的概念,在机器学习的语境下也不例外,什么是大规模,这很大程度上取决于你所面对的应用。在互联网应用成为机器学习主要应 用领域之一的今天,能不能处理Google或者淘宝这样重量级的网站所生成的数据,成为互联网从业人员心目中大规模的标尺。 

从技术角度看,统计学习算法所能处理的数据规模有几个分水岭:

1)算法是否依赖于对训练集的随机访问。依赖于训练集随机访问的算法需要将训练集全部加载进内存,所能处理的数据量受内存大小的限制。

2)算法是否能有效地利用分布式(或并行的)计算资源。单台计算机(或单处理器)的处理能力毕竟是有限的。如果可用的计算资源增长100倍,算法能处理的数据量的增长远小于100倍,则算法的适用范围也会有很大的限制。

以上主要是围绕训练集的规模在讨论,实际上还会有更多需要考虑的问题,比如数据的维数、分类类别的数目、检测时的效率等等问题,可以参考[2]及其中提到的相关文献。如[3]中所说,对于大规模学习来说,障碍往往在于算法的计算能力不足,而不是数据不够。

晚点有空了再来讨论svm的问题。

[1] http://hunch.net/?p=330
[2] http://hunch.net/?p=1729
[3] http://yann.lecun.com/exdb/publis/pdf/bottou-lecun-04b.pdf
[4] http://cseweb.ucsd.edu/~akmenon/ResearchExam.pdf

盛佳

Google搞过一个parallel SVM,基本上做到了线性

骆逸,making internet smar…

1票,来自 邹怡
SVM不能处理大规模数据已是历史。看看GYM(Google,Yahoo,Microsoft)的paper就可以知道比较新的进展。
个人觉得陈义的答案中的链接信息很丰富,待详细阅读之后再回来补充这篇日志。
Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s