作為機器學習很強大的乙個分類器之一,研究一下如何使用。libsvm工具箱是台灣大學林智仁(c.jlin)等人開發的一套簡單的、易於使用的svm模式識別與回歸機軟體包,該軟體包利用收斂性證明的成果改進演算法,取得了很好的結果。
libsvm 共實現了5種型別的svm:c-svc,u-svc,one class-svc,e-svr和u-svr等。下面將詳細介紹libsvm軟體包中主要函式的呼叫格式及注意事項。
model = svmtrain(train_label, train_matrix, ['libsvm_options']);
輸入:
-train_label
:訓練集的標籤
-train_matrix
:訓練集的屬性
-libsvm_options
:一些選項引數
輸出:
-model
:訓練得到的分類模型
值得一提的是,與bp神經網路及rbf神經網路不同,train_label及train_matrix為列向量(矩陣),每行對應乙個訓練樣本。
[predict_label, accurary]=svmpredict(test_label, test_matrix, model);
輸入:
-test_label
:測試集的標籤
-test_matrix
:測試集的屬性
-model
:由svmtrain得到的分類模型
-libsvm_options
:一些選項引數
輸出:
-predicted_label
:**得到的測試集的標籤
-accuracy
:分類準確率
需要說明的是,若測試集樣本對應的類別標籤 test_label未知,為了符合函式svmpredict 呼叫格式的要求,隨機填寫即可,在這種情況下,accuracy便沒有具體的意義了,只需關注**的類別標籤 predict_label 即可。
『-s』 svm 型別
svm 模型型別(預設0)
-0c-svc(多類別分類)
-1nu-svc(多類別分類)
-2one-class svm (分類)
-3epsilon-svr(回歸)
-4v-svr(回歸)
『-t』 核函式型別
核函式設定型別(預設2)
-0線性核函式: u』*v
-1多項式核函式 : (gamma*u』*v + coef0)^degree
-2rbf核函式 : exp(-gamma*|u-v|^2)
-3sigmoid核函式 : tanh(gamma*u』*v + coef0)
-4自定義核函式 (指定核矩陣)
其他引數簡介
-d degree
核函式中的degree設定(針對多項式核函式)(預設3)
-g gama
核函式中的gamma函式設定(針對多項式/rbf/sigmoid核函式)(預設1/num_features,即屬性數目的倒數)
-r coef0
核函式中的coef0設定(針對多項式/sigmoid核函式)(預設0)
-c cost
設定c-svc,epsilon-svr的引數(損失函式)(預設1)
-p epsilon
設定epsilon-svr中損失函式epsilon的值(預設0.1)
-n nu
設定nu-svc,one-class svm和nu-svr的引數(預設0.5)
-m cachesize
設定cache記憶體大小,以mb為單位(預設100)
-e epsilon
設定允許的終止判據(預設0.001)
-h shrinking
是否使用啟發式,0或1(預設1)
-b probability_estimates
是否為概率估計訓練乙個svc或svr模型,0還是1(預設為0)
-wi weight
設定第幾類的引數c為weight*c(c-svc中的c)(預設1)
-v n
n-fold互動檢驗模式,n為fold的個數,必須大於等於2
-q安靜模式(輸出)
-s 引數(預設0)
關聯引數
0 – c-svc
-c(預設1)
1 – nu-svc
-n(預設0.5)
2 – one-class svm
-n(預設0.5)
3 – epsilon-svr
-c(預設1)、-p(預設0.1)
4 – nu-svr
-c(預設1)、-n(預設0.5)
libsvm學習(七)–引數解釋libsvm引數設定
svm學習筆記(一):libsvm引數說明**)
libsvm引數說明
因為要用svm做regression,所以看了一些關於libsvm,總結以備用 libsvm在訓練model的時候,有如下引數要設定,當然有預設的引數,但是在具體應用方面效果會大大折扣。options 可用的選項即表示的涵義如下 s svm型別 svm設定型別 預設0 0 c svc 1 v svc...
機器學習 之 libsvm 引數說明
因為要用svm做regression,所以看了一些關於libsvm,總結以備用 libsvm在訓練model的時候,有如下引數要設定,當然有預設的引數,但是在具體應用方面效果會大大折扣。options 可用的選項即表示的涵義如下 s svm型別 svm設定型別 預設0 0 c svc 1 v svc...
Cache control引數說明
header中的cache control引數說明 php編碼 網頁的快取是由http訊息頭中的 cache control 來控制的,常見的取值有private no cache max age must revalidate等,預設為private。其作用根據不同的重新瀏覽方式分為以下幾種情況 ...