A=ONE_CLASS_SVM(H) returns an svm object initialized with hyperparameters H.
Learns one class problems, e.g for novelty detection by learnign
the support of a density.
Hyperparameters, and their defaults
C=Inf -- the soft margin C parameter
optimizer='default' -- other choices={andre,quadprog,svmlight,libsvm}
nu = 0 -- bernhard's nu svm parameter
child=kernel -- the kernel is stored as a member called "child"
Model
alpha -- the weights
b0 -- the threshold
Xsv -- the Support Vectors
Methods:
train, test, get_w
Example:
Assume only positive examples are available
d=gen(toy('l=100'));
d.X=d.X(d.Y==1,:); d.Y=d.Y(d.Y==1,:); only have one class available
[r a]=train(param(one_class_svm('optimizer="quadprog"'),'nu', 2.^[-5:0.5:-1]),d);
loss(test(a,gen(toy)))
pause
d0=gen(toy2d('2circles','l=200'));d=d0;
d.X=d.X(d.Y==1,:); d.Y=d.Y(d.Y==1,:); only have one class available
[r a]=train(param(one_class_svm({kernel('rbf',.2),'optimizer="quadprog"'}),'nu', linspace(0.1,0.9,4)),d);
subplot(411); plot(a{1},d);
subplot(412); plot(a{3},d);
subplot(413); plot(a{3},d);
subplot(414); plot(a{4},d);
|
Reference : Estimating the support of a high-dimensional distribution |
|
Author : B. Schölkopf , A. J. Smola , J. Platt , J. Shawe-Taylor and R. C. Williamson |