Support Vector Machines Succinctly released

My ebook Support Vector Machines Succinctly is available for free.

Download Support Vector Machines Succinctly

About Support Vector Machines Succinctly

While I was working on my series of articles about the mathematics behind SVMs, I have been contacted by Syncfusion to write an ebook in their "Succinctly" e-book series. The goal is to cover a particular subject in about 100 pages. I gladly accepted the proposition and started working on the book.

I took me almost one year to complete writing this ebook. Hundred of hours spent reading about Support Vector Machines in several books and papers, trying to figure out the complex things in order to give you a clear view. And just as much drawing schemas and writing code.

What you will find in this book?

  • A refresher about some prerequisites to understand the subject more easily
  • An introduction with the Perceptron
  • An explanation of the SVM optimization problem
  • How to solve the SVM optimization problem with a quadratic programming solver
  • A description of kernels
  • An explanation of the SMO algorithm
  • An overview of multi-class SVMs
  • A lot of Python code to show how it works (everything is available in this bitbucket repository )

I hope this book will help all people strugling to understand this subject to have a fresh and clear understanding.

Is it hard to read?

My goal was to try to keep the book as easy to understand as possible. However, because of the space available, I was not able to go into as much details as in this blog.

Chapter 4 about the optimization problem will probably be the most challenging to read. Do not worry if you do not catch everything the first time and feel free to use it as a base to dive deeper into the subject if you wish to understand it fully.

If you struggle on some part, you can ask your question on stats.stackexchange if it is about Machine Learning or on math.stackexchange if it is about the mathematics. Both communities are great.

What now?

If you read the book I would love to hear your feedback!

Do not hesitate to post a comment and to share the book with your friends! 

28 thoughts on “Support Vector Machines Succinctly released”

  1. Thank you for the great tutorial! This is the best explanation about maths behind SVM. I have one question - The SVM libraries usually return 1 or 0 for a classification problem with two classes (e.g. LibSVM library). They do that by predicting the probabilities for each class and taking the class label that has the probability > 0.5. Can you tell me where this probability comes into play in the SVM maths? Thank you in advance.

  2. Hello. I'm currently reading your book. Your explanations and *coughs* succinct! I would like to however raise a potential typo as well as a question on this part where I'm kinda stuck on.

    On page 55, you stated that could try to solve for the Lagrange function equating to 0 (line 5). However, you previously stated on page 54 that we want to solve for the *gradient* of the Lagrange function equating to 0 with the use of the inverted triangle sign before the function (lines 10-11) which will give us the minimum of the Larange function. I believe there has been a typo error.

    In minimizing the Larange function on page 55, I would like to ask why we minimising with respect to b. I understand we minimise with respect to w so as to mimimise f(w) and maximise a as its a coefficient of the term we substracting but I don't understand why we minimise with respect to b. This was not intuitive to me. I hope for your reply and thanks for sharing your knowledge.

    Much appreciation,

    • Hi Gordon,
      Yes indeed it looks like a typo on page 55 we want to solve for the gradient of the Lagrange function equating to 0.
      We need to minimize with respect to b because the hyperplane is defined by the vector w and the bias b.
      Best regards,


Leave a Comment