SVMStruct=svmtrain(Training,Group)%svmtrain
的输入为样本点
training
和样本的分类情况
group
,输出为一个分类器
svmstruct.
核函数,
核参数,
和计算方法等都是可选的,
如
SVMStruct = svmtrain(
…
,
‘
Kernel_Function
’
,
Kernel_FunctionValue,
…
)
但是切记切记一定要成对出现。
然后,将分类器和
testing sample
带入
svmclassify
中,可以得到分类结果和准确度。
举个例子
svmStruct=svmtrain(data(train,:),groups(train),
’
Kernel_Function
’
,'rbf
’
,'Kernel_FunctionValue
’
,
’
5
′
,
’
showplot
’
,true);
%
用了核宽为
5
的径向基核,且要求作图
%
这里我觉得原作者的写法有误,应该是
svmStruct = svmtrain(data(train,:),groups(train),...
'Kernel_Function','rbf','RBF_Sigma',5,'showplot',true);
classes = svmclassify(svmStruct,data(test,:),’showplot’,true);
%
要求输出检测样本点的分类结果,且画图表示。
tip 1:
有归一化
scale
功能,可以通过调参数实现
tip 2:
计算方法可选
qp,smo,ls
tip 3:
有个关于
soft margin
的盒子条件,我不太明白是干嘛的,谁懂得话,就给我讲讲哈
tip 4:
画出来的图很难看
to sum up:
挺好的
1.2
较早使用的工具箱
SVM and Kernel Methods Matlab Toolbox
2005
年法国人写的,最近的更新为
20/02/2008
下载的地址为
http://asi.insa-rouen.fr/enseignants/~arakotom/toolbox/index.html
这是我最早开始用的一个工具箱,我很喜欢,到现在还是,对于
svm
的初学者是个很好的
toolbox.
有详细的说明和很多的
demo
和例子,
包含现今几乎所有的有关
svm
的成熟算法和数据预处理方法(
pca
及小波等)
。
最最重要的是有回归!
!
!
且函数简单,容易改动延伸。