Support Vector Machines

2022-06-23 15:51:10 字數 2420 閱讀 2336

支援向量機svm

svm核函式包括線性核函式、多項式核函式、徑向基核函式、高斯核函式、冪指數核函式、拉普拉斯核函式、anova核函式、二次有理核函式、多元二次核函式、逆多元二次核函式以及sigmoid核函式。

支援向量機可能是最受歡迎的機器學習演算法之一。

超平面是一個分割輸入變數空間的線。在svm中,選擇一個超平面對輸入變數空間中的點進行最優分類(類0或者類1,即二值分類)。

在二維中,你可以把它想象成一條直線,讓我們假設所有的輸入點都可以被這條線完全隔開。它是一種二類分類模型,其基本模型定義為特徵空間上的間隔最大的線性分類器,其學習策略便是間隔最大化,最終可轉化為一個凸二次規劃問題的求解。

svm學習演算法發現了在超平面上最優分類的係數。

超平面與最近的資料點之間的距離稱為邊界。能夠區分這兩個類的最好或最優的超平面是有最大邊界的直線。

只有這些點與定義超平面和分類器的構造有關。

這些點稱為支援向量。他們支援或定義超平面。

在實踐中,利用優化演算法來尋找最大化邊界的係數的值。

svm可能是最強大的開箱即用的分類器之一,值得在您的資料集上嘗試。

svm的核心思想就是找到不同類別之間的分介面,使得兩類樣本儘量落在面的兩邊,而且離分介面儘量遠

如右圖,提高之後的svm同樣被大量使用,在實際分類中展現了很優秀的正確率。 

svm在很多資料集上都有優秀的表現。

相對來說,svm儘量保持與樣本間距離的性質導致它抗攻擊的能力更強。

和隨機森林一樣,這也是一個拿到資料就可以先嚐試一下的演算法。

優點:1.可用於線性/非線性分類,也可以用於迴歸,泛化錯誤率低,計算開銷不大,結果容易解釋;

2.可以解決小樣本情況下的機器學習問題,可以解決高維問題 可以避免神經網路結構選擇和區域性極小點問題。

3.svm是最好的現成的分類器,現成是指不加修改可直接使用。並且能夠得到較低的錯誤率,svm可以對訓練集之外的資料點做很好的分類決策。

缺點:1.對引數調節和和函式的選擇敏感,原始分類器不加修改僅適用於處理二分類問題。

首先,logistic regression(lr)的模型如下:

如下是svm中cost function的定義。請看下圖中玫瑰色的曲線,這就是我們希望得到的cost function曲線,和logistic regression的cost function非常相近,但是分為兩部分。

邏輯迴歸lr的cost function為:

則svm的cost function為:

cost0和cost1分別對應y=0和y=1時的目標函式定義,最後一項regularization項和logistic regression中的類似。其實它們的最後一項本來是一樣的,但是可以通過線性變換化簡得到svm的歸一化項。

svm是針對二值分類問題提出的,並且成功地應用子解函式迴歸及一類分類問題·雖然支援向量機在解決二值分類問題時獲得了巨大的成功,但實際應用中的大量多值分類問題也進一步要求如何將支援向量機推廣到多分類問題上,目前有以下幾種常用的方法 :

一對多法。其思想是把某一種類別的樣本當作一個類別,剩餘其他類別的樣本當作另一個類別,這樣就變成了一個兩分類問題。然後,在剩餘的樣本中重複上面的步驟`這種方法箱要構造k個svm模型,其中,k是待分類的個數。這種方案的缺點是訓練樣本數目大,訓練困難。

一對一方法。其做法是在多值分類中,每次只考慮兩類樣本,即對每兩類樣本設計一個svm模型,因此,總共需要設計 k(k一1)/2 個svm模型.這種做法需要構造多個二值分類器,並且測試時需要對每兩類都進行比較,導致演算法計算複雜度很高。

svm決策樹法。它通常和二叉決策樹結合起來,構成多類別的識別器。這種方法的缺點是如果在某個節點上發生了分類錯誤,將會把錯誤延續下去,該節點後續下一級節點上的分類就失去了意義。weston雖然提出了用一個優化式解多值分類問題’〕,但由於其變數t數目過多,所以只能在小型問題的求解中使用。一類分類方法的出現為異常值檢測提供了一條新的思路,該方法通過核對映思想確定一個包含正類樣本的緊緻區域,以便使異常值更容易暴露出來,從而達到檢測的目的。

《Super Washing Machines》

貪心問題。 從左到右去移動,這裡把負的看成是從右向左得到的。 那麼就可以得出最大步數就是每個需要移動的和總步數之間的最大值。 includeusing namespace std typedef long long ll typedef pair pii const int n 1e4 5 cons...

Gym 101667I Slot Machines

原題傳送門 題意 給定n n 106 個數,要求將它化為混偱環小數的形式,即前k個數不參與迴圈,之後所有數以p為迴圈節長度進行迴圈。求k和p,要求k p儘量小,k p相等時要求p儘量小。 樣例1輸入 6 612534 3157 423 3157 423 3157 輸出 1 2 樣例2輸入 9 1 2...

vector

1 標頭檔案 include 2 定義 vectorvec 定義一個int型向量 vectorvec 10 初始大小為10 vectorve...