Pointers to some good SVM Tutorial [closed]
Asked Answered
S

6

48

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.

Sower answered 2/7, 2009 at 2:10 Comment(3)
regarding closing this "question", I understand it is not following StackOverflow's "rules", but S.O. needs to recognize that it has become so great & ubiquitous that the community uses it for many purposes. There is no forum of equivalent quality wherein Alphaneo could have made his inquiry. Perhaps Quora? But really, S.O. is my "go-to" for true expertise, not Quora.Brow
Machine learning isn't particularly well served by any QA community but I think stats.stackexhange.com or metaoptimize.com/qa are now better sites to use than stackoverflow.comPendleton
@MikeWilliamson What about Cross-Validated? It exactly caters to this sort of question.Ingenue
P
46

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.

Pendleton answered 2/7, 2009 at 7:28 Comment(3)
I only wish I can give you 2 up-votes. A very nice tutorial, I am already on my way ... thanks.Sower
That link for the article by Christopher Burges is stale, but StompChicken provided enough details to find it in a search. It is an AWESOME article; both exceedingly "detailed & comprehensive", while also very easily understandable. Christopher Burges did a wonderful job. Great read for anyone interested in SVMs.Brow
@MikeWilliamson Thanks for pointing out the broken link. I've pointed it at a new and hopefully more permanent URL.Pendleton
F
18

This is a very good beginner's tutorial on SVM:

SVM explained

I always thought StompChicken's recommended tutorial was a bit confusing in the way that they jump right into talking about bounds and VC statistics and trying to find the optimal machine and such. It's good if you already understand the basics, though.

Footmark answered 6/11, 2009 at 16:16 Comment(4)
This is definitely a very easy and intuitive introduction materials for newbies.Manatarms
^^ for newbies with a very strong background in "calculus, vector geometry, and lagrange multipliers", which seems to me if you already have that, then any of the "math heavy" intros would be better suited.Enteritis
link is broken nowHeelpost
link is fixed now.Romanfleuve
C
11

Lots of video lectures on SVM:
http://videolectures.net/Top/Computer_Science/Machine_Learning/Kernel_Methods/Support_Vector_Machines/

I found the one by Colin Campbell to be very useful.

Cilicia answered 7/9, 2009 at 22:31 Comment(0)
E
9

A practical guide to SVM classification for libsvm
PyML Tutorial for PyML I think 1 is practical for use, 3 is clear for understanding.

Enunciation answered 2/7, 2009 at 5:14 Comment(2)
could you please tell what is [1] and [3] in your answer ?Lisa
@ASHISHNEGI sorry, don't why [1] and [3] lost it's link, and I can't remember the specific information. and the answer maybe OUTDATED.Enunciation
W
5

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.

Wirehaired answered 3/7, 2009 at 2:0 Comment(1)
Problem set seems like an excellent resource. Thanks!Dragnet
G
3

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.

Grassgreen answered 9/7, 2009 at 16:21 Comment(1)
I agree, it good to "play with the black box before poking into the basics" ...Sower

© 2022 - 2024 — McMap. All rights reserved.