機器學習系列 支援向量機

2022-09-13 11:48:11 字數 2705 閱讀 6503

支援向量機(svm)是基於統計學習理論的一種機器學習方法,通過尋求結構化風險最小來提高學習機泛化能力,實現經驗風險和置信範圍的最小化,從而達到在統計樣本量較少的情況下,亦能獲得良好統計規律的目的。通俗來講,它是一種二類分類模型,其基本模型定義為特徵空間上的間隔最大的線性分類器,即支援向量機的學習策略便是間隔最大化,最終可轉化為乙個凸二次規劃問題的求解。

給定訓練樣本集\(d=,y_i\in\)。分類就是在樣本空間找到乙個劃分超平面\(w^tx+b=0\),將不同類別的樣本分開。但這樣的平面可能有很多,我們應該努力的找到哪乙個?

位於兩類訓練樣本正中間的劃分超平面,因為該劃分超平面對訓練樣本區域性擾動的容忍性最好。所以樣本空間的任意點\(x\)到超平面\((w,b)\)的距離為:\(r = \frac\)假設超平面能夠將訓練樣本正確分類。

距離超平面最近的幾個訓練樣本使上面式子成立。它們被稱為支援向量,兩個異類支援向量到超平面的和為\(\gamma=\frac\)。

想找到最大間隔的劃分超平面,也就是找到

\[max_ \frac$$ $$s.t. y_i(w^tx_i+b)\geq1,i=1,2,...,m

\]再轉化\(min_ \frac||w||^2\),\(s.t. y_i(w^tx_i+b)\geq1,i=1,2,...,m\)

轉化到這個形式後,我們的問題成為了乙個凸優化問題,或者更具體的說,因為現在的目標函式是二次的,約束條件是線性的,所以它是乙個凸二次規劃問題。這個問題可以用任何現成的 qp (quadratic programming) 的優化包進行求解,歸結為一句話即是:在一定的約束條件下,目標最優,損失最小;但雖然這個問題確實是乙個標準的 qp 問題,但是它也有它的特殊結構,通過 lagrange duality 變換到對偶變數 (dual variable) 的優化問題之後,可以找到一種更加有效的方法來進行求解,而且通常情況下這種方法比直接使用通用的 qp 優化包進行優化要高效得多。通過給每乙個約束條件加上乙個 lagrange multiplier(拉格朗日乘值),即引入拉格朗日乘子,如此我們便可以通過拉格朗日函式將約束條件融和到目標函式裡去:

\[\theta(w)=max_ \zeta(w,b,\alpha)=\frac||w||^2-\sum_^m\alpha_i(y_i(w^t x_i+b)-1)$$ 因此對偶函式的目標函式就變成了:

$$min\theta(w) = max_ min \zeta(w,b,\alpha) \]

利用求導獲取得到

\[max_\alpha \sum_^m\alpha_i-\frac \sum_^my^y^\alpha_i\alpha_jx^

\]\[s.t. 0\leq \alpha_i \leq c,i=1,2,...,m

\]\[\sum_^m\alpha_iy^=0

\]實際上,關於的求解可以用一種快速學習演算法即smo演算法.到目前為止,我們的 svm 還比較弱,只能處理線性的情況。

\[f(x)=(w)^t φ_i(x)+b$$ 這裡$ϕ:x->f$是從輸入空間到某個特徵空間的對映,這意味著建立非線性學習器分為兩步:首先使用乙個非線性對映將資料變換到乙個特徵空間f,然後在特徵空間使用線性學習器分類。因此決策規則就改變為$f(x)=\sum_^m \alpha_i y_i +b$核是乙個函式$k$,對所有$x$,$z$滿足

$$k(x,z)= \]

這裡\(φ\)是從\(x\)到內積特徵空間\(f\)的對映。

非線性對映是svm方法的理論基礎,svm利用內積核函式代替向高維空間的非線性對映;

對特徵空間劃分的最優超平面是svm的目標,最大化分類邊際的思想是svm方法的核心;

支援向量是svm的訓練結果,在svm分類決策中起決定作用的是支援向量。

svm 是一種有堅實理論基礎的新穎的小樣本學習方法。它基本上不涉及概率測度及大數定律等,因此不同於現有的統計方法。從本質上看,它避開了從歸納到演繹的傳統過程,實現了高效的從訓練樣本到預報樣本的「轉導推理」,大大簡化了通常的分類和回歸等問題。

svm 的最終決策函式只由少數的支援向量所確定,計算的複雜性取決於支援向量的數目,而不是樣本空間的維數,這在某種意義上避免了「維數災難」。

少數支援向量決定了最終結果,這不但可以幫助我們抓住關鍵樣本、「剔除」大量冗餘樣本,而且注定了該方法不但演算法簡單,而且具有較好的「魯棒」性。

svm演算法對大規模訓練樣本難以實施,由於svm是借助二次規劃來求解支援向量,而求解二次規劃將涉及m階矩陣的計算(m為樣本的個數),當m數目很大時該矩陣的儲存和計算將耗費大量的機器記憶體和運算時間。針對以上問題的主要改進有有j.platt的smo演算法、t.joachims的svm、c.j.c.burges等的pcgc、張學工的csvm以及o.l.mangasarian等的sor演算法。

用svm解決多分類問題存在困難。經典的支援向量機演算法只給出了二類分類的演算法,而在資料探勘的實際應用中,一般要解決多類的分類問題。可以通過多個二類支援向量機的組合來解決。主要有一對多組合模式、一對一組合模式和svm決策樹;再就是通過構造多個分類器的組合來解決。主要原理是克服svm固有的缺點,結合其他演算法的優勢,解決多類問題的分類精度。如:與粗集理論結合,形成一種優勢互補的多類問題的組合分類器。

機器學習 支援向量機

線性可分支援向量機 1.回顧感知機模型 2.函式間隔與幾何間隔 3.支援向量 4.svm模型目標函式與優化 5.線性可分svm的演算法過程 線性可分支援向量機 1.軟間隔最大化 2.線性分類svm的軟間隔最大化目標函式的優化 3.軟間隔最大化時的支援向量 4.軟間隔最大化的線性可分svm的演算法過程...

機器學習 支援向量機

svm就是試圖把棍放在最佳位置,好讓在棍的兩邊有盡可能大的間隙。這個間隙就是球到棍的距離。這裡我們看到兩種不同顏色的小球 我們找到乙個棍子放在其中,把他們分割開來,但是僅僅是這麼簡單嘛,不不,我們還要考慮怎麼放這根棍子,能夠分開這兩種小球的棍子在中間有無數種方法哪種最好呢?保證決策面方向不變且不會出...

機器學習 支援向量機 SVM

svm 方法的基本思想是 定義最優線性超平面,並把尋找最優線性超平面的演算法歸結為求解乙個凸規劃問題。進而基於 mercer 核展開定理,通過非線性對映 把樣本空間對映到乙個高維乃至於無窮維的特徵空間 hilbert 空間 使在特徵空間中可以應用線性學習機的方法解決樣本空間中的高度非線性分類和回歸等...