本文只涉及二分類支援向量機。
支援向量機問題可以分為三種情況來討論:
1、硬間隔支援向量機:用於可以被乙個超平面嚴格分開的問題中,又稱為線性可分支援向量機
2、軟間隔支援向量機:用於可以被乙個超平面非嚴格分開的問題中,又稱線性支援向量機
3、核支援向量機:用於可以被乙個超曲面分開的問題中,又稱非線性支援向量機
本文主要介紹硬間隔支援向量機。
所謂「可以被乙個超平面嚴格分開」,以三維空間資料為例,就是如下圖情況:
即可以找到乙個分離超平面,將正負數據點分開。
假設我們有資料d=,則x代表空間中的資料點,y代表該點的標籤,它有兩個取值,+1和-1。
我們要做的事就是找到乙個如下分離超平面$$y\left( x\right) =\omega ^\phi \left( x\right) +b$$這個分離超平面有如下兩個特點:
1、它可以將所有的正負例點分開
2、在滿足1的基礎上,令所有點中,距離它距離最小的點的距離最大。
簡單概括,就是找到乙個分離超平面,使點到面的「最小距離最大化」。
我們的目標就是找到這個超平面的\(\omega\)和\(b\)。
根據「最小距離最大化的」目標函式思想,可以寫出支援向量機的目標函式如下式1:$$\max \left\left[ \dfrac \left( w^\phi \left( x\right) +b\right) }\right] \right} $$我們想要求的引數\(w\)與\(b\)可表述如下:$$
w,b=argmax_ \left\left[ \dfrac \left( w^\phi \left( x\right) +b\right) }\right] \right} $$
對於目標函式,即公式1,我們總可以認為$$\min y\left( w^\phi \left( x\right) +b\right) =1$$因此目標問題轉化為:
求\(w\)和\(b\),目標函式為 $$ \max \dfrac $$進行整理,最終成為如下約束最優化問題$$\min \dfrac \left| w\right| ^$$ $$s.t. \quad y\left( w^\phi \left( x\right) +b\right) \geq1$$
對線性可分支援向量機而言,有\(\phi \left( x_\right) =x_\)
以下要用到約束最優化求解的知識。
根據拉格朗日乘子法,可寫出該規劃問題的拉格朗日表示式:$$l\left( w,b,\alpha \right) =\dfrac \left| w\right| ^-\sum ^\alpha \left( y\left( w^\phi \left( x_\right) +b\right) -1\right) $$,其中$$a_\geq0$$
因此有1、原問題:求$$\min _\dfrac \left| w\right| ^$$ (\(s.t. \quad y_\left( w^\phi \left( x\right) +b\right) \geq1\))
2、轉化為求$$\min _\max _l\left( \omega ,b,\alpha \right) $$
3、根據拉格朗日對偶性,極小極大問題可以轉化為極大極小問題。即轉化為求公式2$$\max _\min _l\left( \omega ,b,\alpha \right)$$
我們進行了乙個如下過程的轉換。(本文中\(w\)和\(w\)和\(\omega\)都表示乙個東西,手寫軟體不太給力)
\[\min _\dfrac \left\| w\right\| ^\rightarrow \min _\max _l\left( \omega ,b,\alpha \right) \rightarrow \max _\min _l\left( \omega ,b,\alpha \right)
\]我們根據\(l\left( \omega ,b,\alpha \right)\)寫出方程式\(\dfrac =0\)和\(\dfrac =0\),可求出\(\omega\)和\(b\)關於\(\alpha\)的表示式,回代到公式2,可以整理成為如下約束規劃問題。$$\min \dfrac \sum ^\sum ^\alpha \alpha yy\left( \phi \left( x\right) \phi \left( x_\right) \right) -\sum ^_\alpha _$$
\[s.t.\sum ^_\alpha _y_=0,\quad a_\geq0
\]求出最優的\(\alpha\),就可以求出\(\omega\)和\(b\)
對於不能被嚴格分開的正負樣本點,我們只能期望找到乙個分離超平面,盡可能地把它分開。如下圖
可見,有些點是分錯的,但我們允許這種錯誤。這種模型就是線性支援向量機,也稱為軟間隔支援向量機。仿照硬間隔支援向量機的格式,我們同樣可以整理得到約束最優化問題如下:$$\min \dfrac \left| w\right| ^+c\sum ^\xi $$ $$s.t. \quad y_\left( w^\phi \left( x\right) +b\right) \geq1-\xi_\quad\xi_\geq0$$
同理可整理出來拉格朗日形式的約束最優化問題如下:$$\min \dfrac \sum ^\sum ^\alpha \alpha yy\left( \phi \left( x\right) \phi \left( x_\right) \right) -\sum ^_\alpha _$$
\[s.t.\sum ^_\alpha _y_=0,\quad0\leq a_\leq c
\]對線性支援向量機而言,有\(\phi \left( x_\right) =x_\)
1、這個c的調引數:
a.調小 過渡帶變寬,可以防止過擬合
b.調大 過渡帶變窄,可以提高精度
2、損失函式
對於分錯的點,有乙個損失\(\xi\)(見上圖),對於支援向量機來說,其損失函式為$$\xi=\xi_+\xi_+...+\xi_$$該損失函式又稱為「合頁損失函式」。
以上兩種模型的優化函式中,都有\(\phi \left( x_\right) =x_\),在核支援向量機中,有所不同。核支援向量機有不同的核,常用的是高斯核。核支援向量機和線性支援向量機的關係如下圖:
在高斯核中,有
\[\phi \left( x_\right) \phi \left( x_\right) =exp\left( -\dfrac -x_\right\| ^}}\right)
\]
機器學習(三) 支援向量機
支援向量機是一種判別模型,它構建乙個超平面使得距離這個超平面最近的點的距離最大。支援向量機的任務是在較低的模型泛化誤差下尋找乙個合適的超平面。如果超平面的函式是如下表示式 那麼超平面與資料點 label 1 之間的幾何關係為 定義 幾何間隔和函式間隔 因此,轉換為帶約束的優化問題 我們無法保證資料是...
機器學習筆記三 支援向量機
給定訓練集d,在樣本空間上找到最魯棒的超平面,將不同類別的樣本分開。對於線性可分問題,超平面的線性方程為 優化目標 找到引數w和b在劃分正確的前提下使得間隔最大,即 上述問題等價於 此為支援向量機 svm 的基本型,將引數求解問題轉化為凸二次規劃問題,為了方便求解且易於推廣到非線性情況下的核函式,採...
機器學習(三) 支援向量機(神經網路對比分析)
支援向量機的概念 在統計學習理論中發展起來的支援向量機 support vector machines,svm 方法是一種新的通用學習方法,表現出理論和實踐上的優勢。svm在非線性分類 函式逼近 模式識別等應用中有非常好的推廣能力,擺脫了長期以來形成的從生物仿生學的角度構建學習機器的束縛。此外,基於...