日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

libsvm中svmtrain的参数和返回值

發(fā)布時(shí)間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 libsvm中svmtrain的参数和返回值 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

對(duì)svmtrain函數(shù)的輸入?yún)?shù)和返回值進(jìn)行說(shuō)明

1. 訓(xùn)練

libsvm函數(shù)用于對(duì)訓(xùn)練集的數(shù)據(jù)進(jìn)行訓(xùn)練,得到訓(xùn)練好的模型。

model = libsvmtrain(training_label_vector, training_instance_matrix ['libsvm_options']);

這個(gè)函數(shù)有三個(gè)參數(shù),其中

-training_label_vector:訓(xùn)練樣本的類標(biāo),如果有m個(gè)樣本,就是m x 1的矩陣(類型必須為double)。這里可以是二分類和多分類,類標(biāo)是(-1,1)、(1,2,3)或者其他任意用來(lái)表示不同的類別的數(shù)字,要轉(zhuǎn)成double類型。
-training_instance_matrix:訓(xùn)練樣本的特征,如果有m個(gè)樣本,每個(gè)樣本特征是n維,則為m x n的矩陣(類型必須為double)。當(dāng)使用precomputed核時(shí),[training_instance_matrix]由兩部分組成,第一列為長(zhǎng)度m,從1-m的序號(hào),第二列之后是訓(xùn)練樣本核。例如:

model = svmtrain(trainlabel, ... #訓(xùn)練樣本的標(biāo)簽[(1 : size(trainfeat, 1))', trainfeat], ... #訓(xùn)練樣本'-t 4 -q'); #參數(shù)

-libsvm_options:訓(xùn)練的參數(shù),在第3點(diǎn)詳細(xì)介紹。

2. 預(yù)測(cè)

libpredict函數(shù)用于對(duì)測(cè)試集的數(shù)據(jù)進(jìn)行測(cè)試,還能對(duì)未知樣本進(jìn)行預(yù)測(cè)。

[predicted_label, accuracy, decision_values/prob_estimates] = libsvmpredict(testing_label_vector, testing_instance_matrix, model ['libsvm_options']);

這個(gè)函數(shù)包括四個(gè)參數(shù),其中

-testing_label_vector:測(cè)試樣本的類標(biāo),如果有m個(gè)樣本,就是m x 1的矩陣(類型必須為double)。如果類標(biāo)未知,可以初始化為任意m x 1的double數(shù)組。
-testing_instance_matrix:測(cè)試樣本的特征,如果有m個(gè)樣本,每個(gè)樣本特征是n維,則為m x n的矩陣(類型必須為double)。
-model:使用libsvmtrain返回的模型
-libsvm_options:預(yù)測(cè)的參數(shù),與訓(xùn)練的參數(shù)形式一樣。

3. 訓(xùn)練的參數(shù)

LIBSVM訓(xùn)練時(shí)可以選擇的參數(shù)很多,包括:

-s svm類型:SVM設(shè)置類型(默認(rèn)0)0 — C-SVC1 –v-SVC2 – 一類SVM; 3 — e-SVR4 — v-SVR -t 核函數(shù)類型:核函數(shù)設(shè)置類型(默認(rèn)20 – 線性核函數(shù):u’v 1 – 多項(xiàng)式核函數(shù):(r*u’v + coef0)^degree2 – RBF(徑向基)核函數(shù):exp(-r|u-v|^23 – sigmoid核函數(shù):tanh(r*u’v + coef0) -d degree:核函數(shù)中的degree設(shè)置(針對(duì)多項(xiàng)式核函數(shù))(默認(rèn)3-g r(gamma):核函數(shù)中的gamma函數(shù)設(shè)置(針對(duì)多項(xiàng)式/rbf/sigmoid核函數(shù))(默認(rèn)1/k,k為總類別數(shù)) -r coef0:核函數(shù)中的coef0設(shè)置(針對(duì)多項(xiàng)式/sigmoid核函數(shù))((默認(rèn)0) -c cost:設(shè)置C-SVC,e -SVR和v-SVR的參數(shù)(損失函數(shù))(默認(rèn)1-n nu:設(shè)置v-SVC,一類SVM和v- SVR的參數(shù)(默認(rèn)0.5-p p:設(shè)置e -SVR 中損失函數(shù)p的值(默認(rèn)0.1-m cachesize:設(shè)置cache內(nèi)存大小,以MB為單位(默認(rèn)40-e eps:設(shè)置允許的終止判據(jù)(默認(rèn)0.001-h shrinking:是否使用啟發(fā)式,01(默認(rèn)1-wi weight:設(shè)置第幾類的參數(shù)C為weight*C (C-SVC中的C) (默認(rèn)1-v n: n-fold交互檢驗(yàn)?zāi)J?#xff0c;n為fold的個(gè)數(shù),必須大于等于2

以上這些參數(shù)設(shè)置可以按照SVM的類型和核函數(shù)所支持的參數(shù)進(jìn)行任意組合,如果設(shè)置的參數(shù)在函數(shù)或SVM類型中沒(méi)有也不會(huì)產(chǎn)生影響,程序不會(huì)接受該參數(shù);如果應(yīng)有的參數(shù)設(shè)置不正確,參數(shù)將采用默認(rèn)值。

4. 訓(xùn)練返回的內(nèi)容

libsvmtrain函數(shù)返回訓(xùn)練好的SVM分類器模型,可以用來(lái)對(duì)未知的樣本進(jìn)行預(yù)測(cè)。這個(gè)模型是一個(gè)結(jié)構(gòu)體,包含以下成員:

-Parameters: 一個(gè)5 x 1的矩陣,從上到下依次表示:     -s SVM類型(默認(rèn)0);     -t 核函數(shù)類型(默認(rèn)2    -d 核函數(shù)中的degree設(shè)置(針對(duì)多項(xiàng)式核函數(shù))(默認(rèn)3);     -g 核函數(shù)中的r(gamma)函數(shù)設(shè)置(針對(duì)多項(xiàng)式/rbf/sigmoid核函數(shù)) (默認(rèn)類別數(shù)目的倒數(shù));     -r 核函數(shù)中的coef0設(shè)置(針對(duì)多項(xiàng)式/sigmoid核函數(shù))((默認(rèn)0) -nr_class: 表示數(shù)據(jù)集中有多少類別,比如二分類時(shí)這個(gè)值即為2-totalSV: 表示支持向量的總數(shù)。 -rho: 決策函數(shù)wx+b中的常數(shù)項(xiàng)的相反數(shù)(-b)。 -Label: 表示數(shù)據(jù)集中類別的標(biāo)簽,比如二分類常見(jiàn)的1和-1-ProbA: 使用-b參數(shù)時(shí)用于概率估計(jì)的數(shù)值,否則為空。 -ProbB: 使用-b參數(shù)時(shí)用于概率估計(jì)的數(shù)值,否則為空。 -nSV: 表示每類樣本的支持向量的數(shù)目,和Label的類別標(biāo)簽對(duì)應(yīng)。如Label=[1; -1],nSV=[63; 67],則標(biāo)簽為1的樣本有63個(gè)支持向量,標(biāo)簽為-1的有67個(gè)。 -sv_coef: 表示每個(gè)支持向量在決策函數(shù)中的系數(shù)。 -SVs: 表示所有的支持向量,如果特征是n維的,支持向量一共有m個(gè),則為m x n的稀疏矩陣。

另外,如果在訓(xùn)練中使用了-v參數(shù)進(jìn)行交叉驗(yàn)證時(shí),返回的不是一個(gè)模型,而是交叉驗(yàn)證的分類的正確率或者回歸的均方根誤差。

5. 預(yù)測(cè)返回的內(nèi)容

libsvmtrain函數(shù)有三個(gè)返回值,不需要的值在Matlab可以用~進(jìn)行代替。

-predicted_label:第一個(gè)返回值,表示樣本的預(yù)測(cè)類標(biāo)號(hào)。
-accuracy:第二個(gè)返回值,一個(gè)3 x 1的數(shù)組,表示分類的正確率、回歸的均方根誤差、回歸的平方相關(guān)系數(shù)。注意:當(dāng)使用預(yù)訓(xùn)練核時(shí),并不能取accuracy(1,1)作為分類結(jié)果,應(yīng)該取:mean(predicted_label==testlabel)
-decision_values/prob_estimates:第三個(gè)返回值,一個(gè)矩陣包含決策的值或者概率估計(jì)。對(duì)于n個(gè)預(yù)測(cè)樣本、k類的問(wèn)題,如果指定“-b 1”參數(shù),則n x k的矩陣,每一行表示這個(gè)樣本分別屬于每一個(gè)類別的概率;如果沒(méi)有指定“-b 1”參數(shù),則為n x k*(k-1)/2的矩陣,每一行表示k(k-1)/2個(gè)二分類SVM的預(yù)測(cè)結(jié)果。

總結(jié)

以上是生活随笔為你收集整理的libsvm中svmtrain的参数和返回值的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。