|
楼主 |
发表于 2007-7-7 07:37
|
显示全部楼层
使用实例:
1)svmtrain train3.scale train3.model
训练train3.scale,将模型保存于文件train3.model,并在dos窗口中输出如下
结果:
optimization finished, #iter = 1756
nu = 0.464223
obj = -551.002342, rho = -0.337784
nSV = 604, nBSV = 557
Total nSV = 604
其中,#iter为迭代次数,nu 与前面的操作参数-n n 相同,obj为SVM文件
转换为的二次规划求解得到的最小值,rho 为判决函数的常数项b,nSV 为支持
向量个数,nBSV为边界上的支持向量个数,Total nSV为支持向量总个数。
训练后的模型保存为文件train3.model,用记事本等文本浏览器打开可以看到其内容如下(其后“%”后内容为笔者所加注释):
svm_type c_svc % 训练所采用的svm类型,此处为C- SVC
kernel_type rbf % 训练采用的核函数类型,此处为RBF核
gamma 0.047619 % 与操作参数设置中的g 含义相同
nr_class 2 % 分类时的类别数,此处为两分类问题
total_sv 604 % 总共的支持向量个数
rho -0.337784 % 决策函数中的常数项b
label 0 1 % 类别标签
nr_sv 314 290 % 各类别标签对应的支持向量个数
SV % 以下为支持向量
1 1:-0.963808 2:0.906788 ... 19:-0.197706 20:-0.928853 21:-1
1 1:-0.885128 2:0.768219 ... 19:-0.452573 20:-0.980591 21:-1
... ... ...
1 1:-0.847359 2:0.485921 ... 19:-0.541457 20:-0.989077 21:-1
% 对于分类问题,上面的支持向量的各列含义与训练数据集相同;对于回归问题,略有不同,与训练数据中的标签label(即y值)所对应的位置在模型文件的支持向量中现在存放的是Lagrange 系数a 值,即为下面决策函数公式中的a 值:
* *
1
() ( )( ( ) ( )) ( ) ( , )
( , )
k
i i i i i i
i i sv
i i
i sv
fx a a x x b a a k x x b
ak x x b
= = - F F + = - +
= + g |
|