libsvm處理多分類的問題


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中的多類分類就是根據這個方法實現的。

 

SVM作為判別模型(discriminative model)中所使用的典型方法,其產生是為2分類問題設計的

svm多分類效果不佳,目前是svm研究的熱點之一。libsvm用的是one- versus-one法。
簡介:
.一對一法(one-versus-one,簡稱OVO SVMs或者pairwise)。其做法是在任意兩類樣本之間設計一個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 如果是A win,則C=C+1;otherwise,D=D+1;
The decision is the Max(A,B,C,D)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM