Pointers to some good SVM Tutorial

Viewed 20259

I have been trying to grasp the basics of Support Vector Machines, and downloaded and read many online articles. But still am not able to grasp it.

I would like to know, if there are some

  • nice tutorial
  • sample code which can be used for understanding

or something, that you can think of, and that will enable me to learn SVM Basics easily.

PS: I somehow managed to learn PCA (Principal Component Analysis). BTW, you guys would have guessed that I am working on Machine Learning.

6 Answers

The standard recommendation for a tutorial in SVMs is A Tutorial on Support Vector Machines for Pattern Recognition by Christopher Burges. Another good place to learn about SVMs is the Machine Learning Course at Stanford (SVMs are covered in lectures 6-8). Both these are quite theoretical and heavy on the maths.

As for source code; SVMLight, libsvm and TinySVM are all open-source, but the code is not very easy to follow. I haven't looked at each of them very closely, but the source for TinySVM is probably the is easiest to understand. There is also a pseudo-code implementation of the SMO algorithm in this paper.

Assuming you know the basics (eg max margin classifiers, constructing a kernel), solve Problem Set 2 (handout #5) of that stanford machine learning course. There's answer keys & he holds your hand through the whole process. Use Lecture notes 3 & video #7-8 as references.

If you don't know the basics, watch earlier videos.

I would grab a copy of R, install the e1071 package which nicely wraps libsvm, and try to get good results on your favorite data sets.

If you just figured out PCA, it might be informative to look at data with many more predictors than cases (e.g., microarray gene expression profiles, time series, spectra from analytical chemistry, etc.) and compare linear regression on the PCA'd predictors with SVM on the raw predictors.

There are a lot of great references in the other answers, but I think there's value in playing around with the black box before you read what's inside.

Related