libsvm 多分類情況

2021-07-14 04:23:41 字數 723 閱讀 7703

svm是乙個二分類器,當遇到多類別的時候,一般採取如下兩種策略。

a.一對多法(one-versus-rest,簡稱1-v-r svms)。訓練時依次把某個類別的樣本歸為一類,其他剩餘的樣本歸為另一類,這樣k個類別的樣本就構造出了k個svm。分類時將未知樣本分類為具有最大分類函式值的那類。 

b.一對一法(one-versus-one,簡稱1-v-1 svms)。其做法是在任意兩類樣本之間設計乙個svm,因此k個類別的樣本就需要設計k(k-1)/2個svm。當對乙個未知樣本進行分類時,最後得 票最多的類別即為該未知樣本的類別。libsvm中的多類分類就是根據這個方法實現的

假設有四類a,b,c,d 四類。在訓練的時候我選擇a,b; a,c; a,d; b,c; b,d;c,d所對應的向量作為訓練集,然後得到六個訓練結果,在測試的時候,把對應的向量分別對六個結果進行測試,然後採取投票形式,最後得到一組結 果。

投票是這樣的.

a=b=c=d=0;

(a, b)-classifier 如果是a win,則a=a+1;otherwise,b=b+1;

(a,c)-classifer 如果是a win,則a=a+1;otherwise, c=c+1;

...(c,d)-classifer 如果是c win,則c=c+1;otherwise,d=d+1;

the decision is the max(a,b,c,d)

另外,在libsvm中,進行的交叉驗證預設是5折交叉驗證。

libsvm的多分類策略

svm是乙個二分類器,當遇到多類別的時候,一般採取如下兩種策略。a.一對多法 one versus rest,簡稱1 v r svms 訓練時依次把某個類別的樣本歸為一類,其他剩餘的樣本歸為另一類,這樣k個類別的樣本就構造出了k個svm。分類時將未知樣本分類為具有最大分類函式值的那類。b.一對一法 ...

支援向量機多分類libSVM

支援向量機多分類可以採用兩種方式,1.一對一 one vs one 2.一對多 one vs rest 1.one vs rest clc clear all iris label,iris data libsvmread iris.scale 讀取資料到matlab格式 labels unique...

libsvm多分類的問題(一對一法)

svm作為判別模型 discriminative model 中所使用的典型方法,其產生是為2分類問題設計的 svm多分類效果不佳,目前是svm研究的熱點之一。libsvm用的是one versus one法。簡介 一對一法 one versus one,簡稱ovo svms或者pairwise 其...