When should I use support vector machines as opposed to artificial neural networks?

Viewed 12998

I know SVMs are supposedly 'ANN killers' in that they automatically select representation complexity and find a global optimum (see here for some SVM praising quotes).

But here is where I'm unclear -- do all of these claims of superiority hold for just the case of a 2 class decision problem or do they go further? (I assume they hold for non-linearly separable classes or else no-one would care)

So a sample of some of the cases I'd like to be cleared up:

  • Are SVMs better than ANNs with many classes?
  • in an online setting?
  • What about in a semi-supervised case like reinforcement learning?
  • Is there a better unsupervised version of SVMs?

I don't expect someone to answer all of these lil' subquestions, but rather to give some general bounds for when SVMs are better than the common ANN equivalents (e.g. FFBP, recurrent BP, Boltzmann machines, SOMs, etc.) in practice, and preferably, in theory as well.

5 Answers

Are SVMs better than ANNs with many classes?

SVMs have been designated for discrete classification. Before moving to ANNs, try ensemble methods like Random Forest , Gradient Boosting, Gaussian Probability Classification etc

What about in a semi-supervised case like reinforcement learning?

Deep Q learning provides better alternatives.

Is there a better unsupervised version of SVMs?

SVM is not suited for unsupervised learning. You have other alternatives for unsupervised learning : K-Means, Hierarchical clustering, TSNE clustering etc

From ANN perspective, you can try Autoencoder, General adversarial network

Few more useful links:

towardsdatascience

wikipedia

Related