In machine learning, one-class classification (OCC), also known as unary classification or class-modelling, tries to identify objects of a specific class amongst all objects, by primarily learning from a training set containing only the objects of that class,[1] although there exist variants of one-class classifiers where counter-examples are used to further refine the classification boundary. This is different from and more difficult than the traditional classification problem, which tries to distinguish between two or more classes with the training set containing objects from all the classes. Examples include the monitoring of helicopter gearboxes,[2] [3] [4] motor failure prediction,[5] or the operational status of a nuclear plant as 'normal':[6] In this scenario, there are few, if any, examples of catastrophic system states; only the statistics of normal operation are known.
While many of the above approaches focus on the case of removing a small number of outliers or anomalies, one can also learn the other extreme, where the single class covers a small coherent subset of the data, using an information bottleneck approach.[7]
The term one-class classification (OCC) was coined by Moya & Hush (1996)[8] and many applications can be found in scientific literature, for example outlier detection, anomaly detection, novelty detection. A feature of OCC is that it uses only sample points from the assigned class, so that a representative sampling is not strictly required for non-target classes.[9]
SVM based one-class classification (OCC) relies on identifying the smallest hypersphere (with radius r, and center c) consisting of all the data points.[10] This method is called Support Vector Data Description (SVDD). Formally, the problem can be defined in the following constrained optimization form,
However, the above formulation is highly restrictive, and is sensitive to the presence of outliers. Therefore, a flexible formulation, that allow for the presence of outliers is formulated as shown below,
minr,c,\zetar2+
1 | |
\nun |
n | |
\sum | |
i=1 |
\zetai
subjectto,||\Phi(xi)-c||2\ler2+\zetai \foralli=1,2,...,n
From Karush-Kuhn-Tucker (KKT) optimality conditions, we get
c=
n | |
\sum | |
i=1 |
\alphai\Phi(xi),
where the
\alphai
max\alpha
n | |
\sum | |
i=1 |
\alphai\kappa(xi,xi)-
n | |
\sum | |
i,j=1 |
\alphai\alphaj\kappa(xi,xj)
subject to,
n | |
\sum | |
i=1 |
\alphai=1and0\le\alphai\le
1 | |
\nun |
foralli=1,2,...,n.
The introduction of kernel function provide additional flexibility to the One-class SVM (OSVM) algorithm.[11]
A similar problem is PU learning, in which a binary classifier is learned in a semi-supervised way from only positive and unlabeled sample points.[12]
In PU learning, two sets of examples are assumed to be available for training: the positive set
P
U
Several approaches have been proposed to solve one-class classification (OCC). The approaches can be distinguished into three main categories, density estimation, boundary methods, and reconstruction methods.
Density estimation methods rely on estimating the density of the data points, and set the threshold. These methods rely on assuming distributions, such as Gaussian, or a Poisson distribution. Following which discordancy tests can be used to test the new objects. These methods are robust to scale variance.
Gaussian model[20] is one of the simplest methods to create one-class classifiers. Due to Central Limit Theorem (CLT),[21] these methods work best when large number of samples are present, and they are perturbed by small independent error values. The probability distribution for a d-dimensional object is given by:
pl{N
Where,
\mu
\Sigma
\Sigma-1
\Sigma+
\SigmaT(\Sigma\SigmaT)-1
Boundary methods focus on setting boundaries around a few set of points, called target points. These methods attempt to optimize the volume. Boundary methods rely on distances, and hence are not robust to scale variance. K-centers method, NN-d, and SVDD are some of the key examples.
K-centers
In K-center algorithm,[23]
k
\varepsilonk-center=maxi(mink||xi-\muk||2)
The algorithm uses forward search method with random initialization, where the radius is determined by the maximum distance of the object, any given ball should capture. After the centers are determined, for any given test object
z
dk-centr(z)=mink||z-\muk||2
Reconstruction methods use prior knowledge and generating process to build a generating model that best fits the data. New objects can be described in terms of a state of the generating model. Some examples of reconstruction methods for OCC are, k-means clustering, learning vector quantization, self-organizing maps, etc.
The basic Support Vector Machine (SVM) paradigm is trained using both positive and negative examples, however studies have shown there are many valid reasons for using only positive examples. When the SVM algorithm is modified to only use positive examples, the process is considered one-class classification. One situation where this type of classification might prove useful to the SVM paradigm is in trying to identify a web browser's sites of interest based only off of the user's browsing history.
One-class classification can be particularly useful in biomedical studies where often data from other classes can be difficult or impossible to obtain. In studying biomedical data it can be difficult and/or expensive to obtain the set of labeled data from the second class that would be necessary to perform a two-class classification. A study from The Scientific World Journal found that the typicality approach is the most useful in analysing biomedical data because it can be applied to any type of dataset (continuous, discrete, or nominal).[24] The typicality approach is based on the clustering of data by examining data and placing it into new or existing clusters.[25] To apply typicality to one-class classification for biomedical studies, each new observation,
y0
C
One-class classification has similarities with unsupervised concept drift detection, where both aim to identify whether the unseen data share similar characteristics to the initial data. A concept is referred to as the fixed probability distribution which data is drawn from. In unsupervised concept drift detection, the goal is to detect if the data distribution changes without utilizing class labels. In one-class classification, the flow of data is not important. Unseen data is classified as typical or outlier depending on its characteristics, whether it is from the initial concept or not. However, unsupervised drift detection monitors the flow of data, and signals a drift if there is a significant amount of change or anomalies. Unsupervised concept drift detection can be identified as the continuous form of one-class classification.[26] One-class classifiers are used for detecting concept drifts.[27]