參數(shù)說明
1、svm_train()
用法:?svmtrain [options] training_set_file [model_file]

其中,options為操作參數(shù),可用的選項即表示的涵義如下所示:
-s設置svm類型:
0 – C-SVC
1 – v-SVC
2 – one-class-SVM
3 –ε-SVR
4 – n - SVR
-t設置核函數(shù)類型,默認值為2
0 --線性核:u'*v
1 --多項式核:(g*u'*v+coef0)degree
2 -- RBF核:exp(-γ*||u-v||2)
3 -- sigmoid核:tanh(γ*u'*v+coef0)
-d degree:設置多項式核中degree的值,默認為3
-gγ:設置核函數(shù)中γ的值,默認為1/k,k為特征(或者說是屬性)數(shù);
-r coef 0:設置核函數(shù)中的coef 0,默認值為0;
-c cost:設置C-SVC、ε-SVR、n - SVR中從懲罰系數(shù)C,默認值為1;
-n v:設置v-SVC、one-class-SVM與n - SVR中參數(shù)n,默認值0.5;
-pε:設置v-SVR的損失函數(shù)中的e,默認值為0.1;
-m cachesize:設置cache內存大小,以MB為單位,默認值為40;
-eε:設置終止準則中的可容忍偏差,默認值為0.001;
-h shrinking:是否使用啟發(fā)式,可選值為0或1,默認值為1;
-b概率估計:是否計算SVC或SVR的概率估計,可選值0或1,默認0;
-wi weight:對各類樣本的懲罰系數(shù)C加權,默認值為1;
-v n:n折交叉驗證模式;
model_file:可選項,為要保存的結果文件,稱為模型文件,以便在預測時使用。
默認情況下,只需要給函數(shù)提供一個樣本文件名就可以了,但為了能保存結果,還是要提供一個結果文件名,比如:test.model,則命令為:
svmtrain test.txt test.model
2、svm_train()運行控制臺輸出
運行svm_train()后,結果如下圖

默認情況
#iter為迭代次數(shù)
nu是你選擇的核函數(shù)類型的參數(shù)
obj為SVM文件轉換為的二次規(guī)劃求解得到的最小值(也有說對偶SVM問題的最佳目標值)
rho為判決函數(shù)的偏置項b
nSV為標準支持向量個數(shù)(0<a[i]<c)
nBSV為邊界上的支持向量個數(shù)(a[i]=c)
Total nSV為支持向量總個數(shù)(對于兩類來說,因為只有一個分類模型Total nSV = nSV,但是對于多類,這個是各個分類模型的nSV之和)
* 什么是標準支持向量個數(shù)呢,就是這些特征中泛化能力最強的部分,魯棒性最強。換句話說就是代表能力最強的。因此,它的占比不能太高,一般不高于80%,如高于這個值,則需調整特征的提取。
3、train-model文件
svm_type c_svc //所選擇的svm類型,默認為c_svc
kernel_type rbf? //訓練采用的核函數(shù)類型,此處為RBF核
gamma 0.0769231? //RBF核的參數(shù)γ
nr_class 2? ? ? ? //類別數(shù),此處為兩分類問題
total_sv 132? ? ? //支持向量總個數(shù)
rho 0.424462? ? ? //判決函數(shù)的偏置項b
label 1 -1? ? ? ? //原始文件中的類別標識
nr_sv 64 68? ? ? //每個類的支持向量機的個數(shù)
SV? ? ? ? ? ? ? ? //以下為各個類的權系數(shù)及相應的支持向量
1 1:0.166667 2:1 3:-0.333333 … 10:-0.903226 11:-1 12:-1 13:1
0.5104832128985164 1:0.125 2:1 3:0.333333 … 10:-0.806452 12:-0.333333 13:0.5
………..
-1 1:-0.375 2:1 3:-0.333333…. 10:-1 11:-1 12:-1 13:1
-1 1:0.166667 2:1 3:1 …. 10:-0.870968 12:-1 13:0.5