One of the F# blogs I follow all the time is F# for Data Mining by Yin Zhu in Hong Kong.
Yin’s latest post really caught my eye: An Introduction to Support Vector Machines in F# using Microsoft Solver Foundation. SVMs are a statistical machine learning technique used for all sorts of purposes, from finance to hand-writing recognition to AI.
Yin has provided an excellent introduction to the topic that links the code to the maths, something F# excels at. If you have your own machine learning implementations or samples in F# then please share them with the F# community on your blogs, or help Yin coordinate information on using F# for these exciting, growing and critical field of information processing.
Support vector machines are a super star in machine learning and data mining in the past decade. It reheats statistical learning in machine learning community. It is also one of the classifiers that work practically with applications to other disciplines such as bioinformatics.
In this post, I will give a brief review of the theory of this classifier and show an F# implementation using the quadratic programming (QP) solver in Microsoft Solver Foundation (MSF).
It may seem dull to start with mathematics. But the math in SVMs is actually quite intuitive and would be quite easy if one has some training in linear algebra and calculus. Also understanding the intuition behind the formulae is more important in the formulation itself. There are quite a lot of good SVM tutorials written by researchers. Thus I only write the important formulas that occur in the implementation. The reader could link the F# code with formulas directly.
My note is based on the machine learning course by Prof. Jaakkola [Jaakkola] and the Matlab implementation therein. The course material is highly comprehensive yet accurate.
Learn F# Programming at fsharp.net