Thefollowing is a short interview with Succinctlyseries author AlexandreKowalczyk, whoselatest book, Support Vector MachinesSuccinctly, was published on Monday, October 23. You can download the book here.
What should people know about supportvector machines? Why are they important?
Support vector machines (SVM) areimportant because they have been successfully used in three main areas: textcategorization, image recognition, and bioinformatics. They are based on astrong mathematical background, and they generalize well. If we see machinelearning as a discipline where you need to find the right tool to do the job,then SVMs are very powerful tools. However, they have limitations, and they areoften seen as “black boxes,” so it is important to understand them well.
When did you first becomeinterested in support vector machines?
Three years ago, we had a projectat work where we needed to classify financial news in real time. Thetraditional approach using keywords was giving us poor results, so a colleagueof mine who had previous experience in natural language processing suggestedthat we try to use machine learning, support vector machines in particular. Ialready knew about SVMs because of the machine learning courses I had taken,but this project really made me use them. I learned a lot about how to usethem, and I became interested in understanding how and why they work. That iswhen I started writing my blog svm-tutorial.com whereI try to explain the mathematics behind SVMs.
By writing this e-book, did youlearn anything new yourself?
I learned a lot because I readmany different resources explaining support vector machines. I wanted to readthe work of different authors in order to see what was easily explained, andwhat was not explained in detail. For instance, how to solve an optimizationproblem with constraints is often suggested as being something secondary whenin fact I think it helps the interested reader to really understand how SVMswork. I did not find any real overview of multi-class classification either, soI dedicated a chapter of the book to it and learned about all these differentmethods. Implementing the sequential minimal optimization algorithm in Pythonfrom the pseudocode in the original paper gave me a very good understanding ofhow it works. If you have time, I recommend writing a book as a great way oflearning!
How will support vector machineschange over the next few years?
The theory behind SVMs will notchange, but maybe we will start seeing them used in other applications. In deeplearning, people are trying to incorporate SVMs into convolutional neuralnetworks, while others are researching variations of the original SVM.
Do you see support vector machinesas part of a larger trend in software development?
Machine learning is gaining a lotof traction lately and is definitely becoming a big trend in softwaredevelopment today.
What other books or resources on supportvector machines do you recommend?
I absolutely recommend the course“Learning from Data,” which explains quite well why learning is possible andhas a section on SVMs: work.caltech.edu/telecourse
For a very mathematicalintroduction you can read: An Introduction to Support Vector Machines and Other Kernel-based Learning Methods by Cristianini and Shawe-Taylor. For a friendlier approach, Andrew Ng’s Machine Learning course on Coursera is very good for beginners.