機器學習 SVM做多分類問題

2022-09-17 02:48:11 字數 1079 閱讀 7034

引言

svm做二分類問題很簡單明瞭,但是如何用二分類構建多分類問題,自己查詢了部分資料,發現普遍分為兩種,一種是直接法,直接求解多目標函式優化問題,但這種方法計算量很大,不實用,另外一種是間接法,通過多個二分類來實現多分類,常見的有一對多和一對一兩種

最後針對一對一要構建n平方個二分類器,如果n過大,那麼分類器個數過多的情況,提出一種有向無環圖的方法,這種方法只需要構建n個分類器,但存在誤差累計的問題

直接法求多目標優化問題(不實用)

一次性考慮所有樣本,並求解乙個多目標函式的優化問題,一串心得到多個分類的面

每個區域對應乙個類別

但這種一次性求解的方法計算量太大,大到無法實用的地步

一對多

將類別1看作正類,其餘2,3,4,5看作負類(一對多),這樣拿乙個樣本來,可以告訴你是不是屬於類別1的,如果不屬於,再在2,3,4,5中繼續尋找

存在兩個問題:

乙個是乙個樣本可能同時屬於幾個類

那麼看一下這個樣本到各個超平面的距離,哪個遠判給哪個

另乙個是乙個樣本可能不屬於任何乙個

這樣這個樣本屬於第6類,這個類的數目遠大於5類之和,所以會造成資料偏斜問題

一對一

將類別1看作正類,不降2,3,4,5都看作負類,而是從1-5中任意選取2種類別來分類,得到5*4/2=10中分類器,每乙個分類器只告訴你是第一類還是第二類,或者是第一類還是第三類,統計所有分類器的票數,根據票數得到分類結果

這種問題不會有樣本不屬於任何一類的情形出現

但如果類別數比較大,比如1000,那麼分類器的數目要上公升到類別數的平方級別

複雜度較大

有向無環圖

> 減少分類器的數目

先問是第一類還是第五類

如果是第五類,再問是第二類還是第五類

如果是第五類,然後再問是第三類還是第五類

這樣的話得到最後的結果不管怎樣都只呼叫n個分類器,n是類別的數目,比起上面要呼叫n平方個分類器要減少很多

但問題在於存在誤差累計,一旦犯錯,後面都錯的情況

機器學習之SVM多分類

以下內容參考 王正海 基於決策樹多分類支援向量機岩性波譜分類 svm本身是應用於二分類的,所以在處理多分類並且想應用svm有必要進行改進svm如果直接在目標函式上進行修改的話,就是將多個分類面的引數合併到乙個最優化問題上,顯然難度太大。但是對於lr的話,可以直接拓展為softmax多分類。常見的方法...

機器學習演算法之SVM的多分類

一 svm可以直接進行多分類嗎 svm本身是對付二分類問題的,所以在處理多分類的時候需要進行必要的改造。同樣是二分類的情況,logistic回歸可以直接拓展為softmax多分類。但是svm如果直接在目標函式上進行修改的話,就是將多個分類面的引數求解合併到乙個最優化問題上,顯然難度太大,目前也沒有任...

SVM多分類思路

svm本身是乙個二值分類器 svm演算法最初是為二值分類問題設計的,當處理多類問題時,就需要構造合適的多類分類器。目前,構造svm多類分類器的方法主要有兩類 1 直接法,直接在目標函式上進行修改,將多個分類面的引數求解合併到乙個最優化問題中,通過求解該最優化問題 一次性 實現多類分類。這種方法看似簡...