libsvm 引數說明

2021-08-21 20:06:01 字數 2623 閱讀 8460

作為機器學習很強大的乙個分類器之一,研究一下如何使用。

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。其作用根據不同的重新瀏覽方式分為以下幾種情況 ...