Package smile.anomaly
Class SVM<T>
java.lang.Object
smile.base.svm.KernelMachine<T>
smile.anomaly.SVM<T>
- Type Parameters:
T
- the data type of model input objects.
- All Implemented Interfaces:
Serializable
One-class support vector machines for novelty detection.
One-class SVM relies on identifying the smallest hypersphere
consisting of all the data points. Therefore, it is sensitive to outliers.
If the training data is not contaminated by outliers, the model is best
suited for novelty detection.
References
- B. Schölkopf, J. Platt, J. Shawe-Taylor, A. J. Smola, and R. C. Williamson. Estimating the support of a high-dimensional distribution. Neural Computation, 2001.
- Jia Jiong and Zhang Hao-ran. A Fast Learning Algorithm for One-Class Support Vector Machine. ICNC 2007.
- See Also:
-
Constructor Summary
ConstructorDescriptionSVM
(MercerKernel<T> kernel, T[] vectors, double[] weight, double b) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> SVM
<T> fit
(T[] x, MercerKernel<T> kernel) Fits a one-class SVM.static <T> SVM
<T> fit
(T[] x, MercerKernel<T> kernel, double nu, double tol) Fits a one-class SVM.
-
Constructor Details
-
SVM
Constructor.- Parameters:
kernel
- Kernel function.vectors
- The support vectors.weight
- The weights of instances.b
- The intercept;
-
-
Method Details
-
fit
Fits a one-class SVM.- Type Parameters:
T
- the data type.- Parameters:
x
- training samples.kernel
- the kernel function.- Returns:
- the model.
-
fit
Fits a one-class SVM.- Type Parameters:
T
- the data type.- Parameters:
x
- training samples.kernel
- the kernel function.nu
- the parameter sets an upper bound on the fraction of outliers (training examples regarded out-of-class) and it is a lower bound on the number of training examples used as Support Vector.tol
- the tolerance of convergence test.- Returns:
- the model.
-