Sunday, June 27, 2010

Getting your feet wet with SVM

This is a direct copy-paste from the Kernel Machines site:

There are several introductions, review papers, and books. As usual, there is a trade-off between how much time you want to invest, and how much you will get out of it. The following list is ordered by increasing time. On the log(time) domain, the increase in effort should be pretty much linear. ;)
(a) The introduction of the book Advances in Kernel Methods - Support Vector Learning or the high level overview of Hearst et al. from IEEE Intelligent Systems
 
(b) The tutorial papers of Burges (SVM pattern recognition) or Smola and Schoelkopf (SVM regression estimation)
(c) The small book of Vapnik, published by Springer (1995, or, in second edition, 1999), or the one of Cristianini and Shawe-Taylor (2000).
Alternatives that can be downloaded free of charge are PhD theses on SVMs, such as the ones of Schoelkopf (1997), Smola (1998), Herbrich (2000, to be finished soon).
(d) The collection of papers presented at the NIPS workshop on SVMs and kernel methods, from 1997 (Advances in Kernel Methods, MIT Press, 1999), 1998 (Advances in Large Margin Classifiers, MIT Press, 2000 - to appear), or 1999 (these will appear in a special issue of the journal Machine Learning at some point of time in the future).
(e) The long book of Vapnik, the bible of statistical learning theory (Wiley, 1998).

Sunday, June 20, 2010

Introduction to SVM

 I was reading up on Statistical Learning theory before stepping into SVM. Vapnik's book is a little too much for me right now.

This looks like a good place to start: 
http://www.isis.ecs.soton.ac.uk/resources/svminfo/

Downloaded the Technical report and the SVM Toolbox. I still have to figure out how to use the toolbox. There was some error which says:
"??? Invalid MEX-file 'D:\poject\codeings\qp.dll': D:\poject\codeings\qp.dll is not a valid Win32 "

A few google searches tells me that I have to do the following:
In the SVM toolbox directory,
1. Go into the optimiser directory and type,
2. Type   mex -v qp.c pr_loqo.c
    it should create a file called qp.mex***.
3. Copy paste this file into svm directory.

It does not complain much now. But I am still figuring out how can I use it.

Why cannot people write documentation for their own code and post it along with the software.

Friday, June 11, 2010

My first steps into PhD

So I have decided to take that plunge into serious PhD business.

My professor has asked me to work on structural SVMs. But I have to work my way upto there from the bottom. So the course is route is going to be something like:
Machine Learning -> Supervised Learning -> Statistical Learning theory -> Pattern Recognition, Classification, Regression -> SVM -> Structural SVM


So the first question that I find asking myself is: What is Machine Learning definition? And I find the following definitions:
Arthur Samuel(1959) Feild of study that gives computers the ability to learn without being explicitly programmed.

Tom Mitchell(1998) Well-posed Learning problem: A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.

The fundamental concepts in Machine Learning are:


1. Supervised Learning: Learning from Examples

    Supervised Learning can consist of
    Regression Problems : Predict continous values
    Classification Problems: Predict discrete values

2.1 Statistical learning theory :tries to give an understanding of how and why   learning algorithms work. This field of study makes it possible to formulate theorms that will garuentee that a learning algorithm will work.
     How well can you approximate the learning function
    How much training data do you need


3. Unsupervised Learning: Learning without any Examples
4. Reinforcement Learning: Learning on the fly from experience

During the course of my work, I hope this blog maintains a record of the different things that I lay my hands on.

For starters, I installed the latex support for blogs so that I can do stuff like this:
$\sum_{i=1}^nx_i$

More later....