支持向量机 - 比学习情境的人工神经网络更好?

时间:2011-07-14 20:00:25

标签: machine-learning cluster-analysis neural-network svm reinforcement-learning

我知道SVM应该是'ANN杀手',因为它们会自动选择表示复杂性并找到全局最优(对于某些SVM赞美引用,请参阅here)。

但这里我不清楚 - 所有这些优势的主张是仅仅针对2级决策问题的情况还是继续进行? (我认为它们适用于非线性可分类,否则没人会关心)

所以我希望澄清一些案例的样本:

  • SVM是否比具有多个类的ANN更好?
  • 在线设置?
  • 在强化学习这样的半监督案例中怎么样?
  • 是否有更好的无监督版SVM?

我不希望有人回答所有这些lil'子问题,而是给出SVM优于常见ANN等价物的一般界限(例如FFBP,循环BP,Boltzmann机器,SOM等)在实践中,并且最好在理论上也是如此。

5 个答案:

答案 0 :(得分:53)

答案 1 :(得分:8)

我喜欢道格的回答。我想补充两条评论。

1)Vladimir Vapnick还共同发明了VC维度,这对学习理论很重要。

2)我认为SVM是2000年至2009年最好的整体分类器,但在2009年之后,我不确定。由于深度学习和稀疏去噪自动编码器的工作,我认为最近神经网络的改进非常显着。我以为我看到了许多基准测试,他们的表现优于SVM。例如,参见

的幻灯片31

http://deeplearningworkshopnips2010.files.wordpress.com/2010/09/nips10-workshop-tutorial-final.pdf

我的一些朋友一直在使用稀疏自动编码器技术。使用该技术构建的神经网络明显优于旧的反向传播神经网络。如果我有时间的话,我会尝试在artent.net上发布一些实验结果。

答案 2 :(得分:1)

当你有好的功能时,我希望SVM会更好。 IE,您的功能简洁地捕获了所有必要的信息。如果特征空间中同一类的实例“聚集在一起”,您可以查看您的功能是否良好。那么带有Euclidian内核的SVM应该可以解决问题。基本上,您可以将SVM视为增压的最近邻分类器,因此每当NN运行良好时,SVM应该做得更好,方法是对集合中的示例添加自动质量控制。相反 - 如果它是一个数据集,其中最近邻居(在特征空间中)预计会做得很糟糕,SVM也会做得很糟糕。

答案 3 :(得分:0)

- 是否有更好的无监督版SVM?

这里只回答这个问题。无监督学习可以通过所谓的一类支持向量机来完成。同样,与普通SVM类似,有一个元素可以促进稀疏性。在正常的SVM中,只有几个点被认为是重要的,支持向量。在单类SVM中,只有几个点可以用于:

  1. "独立"尽可能远离原点的数据集,或
  2. 定义 radius 尽可能小。
  3. 普通SVM的优势延续到这种情况。与密度估计相比,仅需要考虑几个点。缺点也随之而来。

答案 4 :(得分:0)

  

SVM是否比具有许多类的ANN更好?

SVM已指定用于离散分类。在转向人工神经网络之前,请尝试使用ensembleRandom ForestGradient Boosting等类似的Gaussian Probability Classification方法

  

在强化学习之类的半监督情况下怎么办?

Deep Q learning提供了更好的选择。

  

是否有更好的无监督SVM版本?

SVM不适合无监督学习。您还有unsupervised learning的其他选择:K均值,分层聚类,TSNE 聚类等

从ANN的角度来看,您可以尝试AutoencoderGeneral adversarial network

几个有用的链接:

towardsdatascience

wikipedia