Package smile.anomaly
Class SVM<T>
java.lang.Object
smile.base.svm.KernelMachine<T>
smile.anomaly.SVM<T>
- 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 Details
-
SVM
Constructor.- Parameters:
kernel
- Kernel function.vectors
- The support vectors.weight
- The weights of instances.b
- The intercept;
-
-
Method Details
-
fit
Fits an one-class SVM.- Type Parameters:
T
- the data type.- Parameters:
x
- training samples.kernel
- the kernel function.- Returns:
- the model.
-
fit
public static <T> SVM<T> fit(T[] x, smile.math.kernel.MercerKernel<T> kernel, double nu, double tol) Fits an 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.
-