libSVM详解(转载)

svmtrain实现对训练数据集的训练,获得SVM模型。
用法: svmtrain [options] training_set_file [model_file]
其中,
options(操作参数):可用的选项即表示的涵义如下所示
-s svm类型:设置SVM 类型,默认值为0,可选类型有:
0 — C – SVC
1 — n – SVC
2 — one – class – SVM
3 — e – SVR
4 — n – SVR
-t 核函数类型:设置核函数类型,默认值为2,可选类型有:
0 — 线性核:u ‘*v
1 — 多项式核:
(g *u ‘*v + coef 0)degree
2 — RBF 核:
e ( u v 2 ) g -
3 — sigmoid 核:tanh(g *u ‘*v + coef 0)
-d degree:核函数中的degree设置,默认值为3;
-g g :设置核函数中的g ,默认值为1/ k ;
-r coef 0:设置核函数中的coef 0,默认值为0;
-c cost:设置C – SVC、e – SVR、n – SVR中从惩罚系数C,默认值为1;
-n n :设置n – SVC、one – class – SVM 与n – SVR 中参数n ,默认值0.5;
-p e :设置n – SVR的损失函数中的e ,默认值为0.1;
-m cachesize:设置cache内存大小,以MB为单位,默认值为40;
-e e :设置终止准则中的可容忍偏差,默认值为0.001;
-h shrinking:是否使用启发式,可选值为0 或1,默认值为1;
-b 概率估计:是否计算SVC或SVR的概率估计,可选值0 或1,默认0;
-wi weight:对各类样本的惩罚系数C加权,默认值为1; //给各类样本加权,比如测试数据有两类,标签分别为1 -1 如果之前设置了c=14
此时再用 -w1 0.5 -w-1 10 参数设置 则此时标签为1的这类的惩罚参数变为0.5*14 = 7,标签为-1的这类的惩罚参数变为10*14 = 140

-v n:n折交叉验证模式。
其中-g选项中的k是指输入数据中的属性数。操作参数-v 随机地将数据剖
分为n 部分并计算交叉检验准确度和均方根误差。以上这些参数设置可以按照
SVM 的类型和核函数所支持的参数进行任意组合,如果设置的参数在函数或
SVM 类型中没有也不会产生影响,程序不会接受该参数;如果应有的参数设置
不正确,参数将采用默认值。training_set_file是要进行训练的数据集;model_file
是训练结束后产生的模型文件,该参数如果不设置将采用默认的文件名,也可以
设置成自己惯用的文件名。
使用实例:
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

posted on 2012-10-04 10:49  Aine  阅读(402)  评论(0编辑  收藏  举报