一、前言
SVDD是一类分类方法,通过已知的一类数据训练包含所有数据的超球面,对于待检测数据点,如果数据点落在该超球面内,则属于该类,否则不是。这篇博文讲解了SVDD原理 http://blog.sina.com.cn/s/blog_4ff49c7e0102vlbv.html ,从中可知可通过不断调整松弛空间的代价因子C,调整优化得的超球面半径。
二、代码
林智仁大牛的官网已有SVDD的拓展包,按照配置按照即可,以下为简单使用训练得的SVDD模型分类数据
clc;
clear;
mu = [0,0]';
sigma = diag([1,1]);
data = mvnrnd(mu,sigma,200); %R=mvnrnd(mu,sigma,m) 生成200个n维正态分布数据。
trainData = data(1:100, :)
testData = data(101:200, :);
label = ones(100 ,1);
model = svmtrain( label , trainData , '-s 5 -t 2 -c 0.1 ' );
resLabel = svmpredict( label, testData , model );
三、运行结果