One class SVM: an introduction

An expert or a novice in machine learning, you probably have heard about Support Vector Machine (SVM) — a supervised machine learning algorithm frequently cited and used in classification problems. SVMs use hyperplanes in multi-dimensional space to separate one class of observations from another. Naturally, SVM is used in solving multi-class classification problems.

However, SVM is also increasingly being used in one class problem, where all data belong to a single class. In this case, the algorithm is trained to learn what is “normal”, so that when a new data is shown the algorithm can identify whether it should belong to the group or not. If not, the new data is labeled as out of ordinary or anomaly. To learn more about one-class SVM check out this lengthy article by Roemer Vlasveld.

One last thing to mention, if you are familiar with sklearn library you will notice that there’s an algorithm specifically designed for what is known as “novelty detection”. It works in a similar fashion as the one I just described in anomaly detection using one-class SVM. In my mind, it’s just the context that determines whether to call it novelty detection or outlier detection or anything like that.

Today’s article is a continuation of my series on anomaly, outlier and fraud detection algorithms with hands-on example codes. My previous 7articles touched on different tools and techniques available in the field of anomaly detection, if you are interested to learn about them the following are the links:

Below is a simple demonstration of One-Class SVM in Python programming language. Note that I am using outlier and anomaly interchangeably.

#outlier-detection #machine-learning #support-vector-machine #data-science #anomaly-detection

Support Vector Machine (SVM) for Anomaly Detection
2.40 GEEK