20
Sep
2007
Posted by Tom as Tutorials
I promised my readers that I would post about YALE/RapidMiner’s LibSVM operator over a month ago. Unfortunately life had gotten in the way and I’m resorting to a multiple part series to just get the information out to you, so bear with me over the course of the next few days (or weeks) as I write about this exciting, powerful, and complicated learner.
First off, I use the LibSVM operator in YALE 3.4 occasionally, I use it to fool around with data sometimes and I rarely use it to build trading models. I prefer to use either the Gaussian Regression, Multilayer Preceptron, or IBk Learners for my time series data modeling. However, you could use the LibSVM learner for time series data modeling but I have found it more useful in analyzing non-time series data.
What the heck is SVM anyway? Wikipedia defines a SVM as a Support Vector Machine that is “a set of related supervised learning methods used for classification and regression.” Wikipedia continues to give a decent overview on how SVM’s work:
A special property of SVMs is that they simultaneously minimize the empirical classification error and maximize the geometric margin; hence they are also known as maximum margin classifiers.
Support vector machines map input vectors to a higher dimensional space where a maximal separating hyperplane is constructed. Two parallel hyperplanes are constructed on each side of the hyperplane that separates the data. The separating hyperplane is the hyperplane that maximizes the distance between the two parallel hyperplanes. An assumption is made that the larger the margin or distance between these parallel hyperplanes the better the generalisation error of the classifier will be.
This particular operator, the LibSVM, was created by two researchers Chih-Chung Chang and Chih-Jen Lin at the National Science Council of Taiwan. YALE/RapidMiner packages their LibSVM learner into the nice operator you see to left of this paragraph.
What makes the LibSVM learner so appealing to us is that it can do 5 specialized tasks: it does 2 types of regression (epsilon-SVR, nu-SVR), 2 types of classification (C-SVC, nu-SVC), and something called one class SVM.
I’ll go into greater detail about each type of specialized task in part II of my LibSVM tutorial. If you want to learn more before then, visit Chang and Lin’s website for more details.
2 Responses
Digital Dude
August 3rd, 2008 at 12:53 pm
1Tom,
Literature appears to suggest that SVMs do as good or better than your above preferred learners with time series data modeling…
Would you please share your thoughts and elaborate about your preferences?
I would love to see part II of your LibSVM tutorial
Cordially,
-Digital Dude-
“We keep moving forward, opening new doors and doing new things, because we’re curious.” -Walt Disney-
Tom
August 4th, 2008 at 5:02 am
2DD: I forgot all about that article, I should write part 2.
RSS feed for comments on this post · TrackBack URI
Leave a reply
previous post: links for 2007-09-20
next post: links for 2007-09-21
to top of page...