简述SVM
按照自己的理解初步的推導一下的SVM的原理,持續還會有更新,不斷地加入新的內容。
 SVM是一種二分類方法,是一種可以解決線性、非線性的分類算法,SVM的核心觀點是在兩類數據間找到一個線性“超平面”,使其與兩類數據間隔最遠,接下來我們按照這個思路對SVM進行推導,敘述大致思路,省略數學計算。
 我們率先討論線性可分問題,即可用一條線性直線(在二維空間,三維空間是線性平面,更高維是超平面,為便于表示我們假設二維空間)將兩類分開,如下所示,定義f(x)=wTx+bf(x)=w^Tx+bf(x)=wTx+b分類函數,www代表權重,xxx代表數據特征,bbb代表偏置,wTx+b=0w^Tx+b=0wTx+b=0代表分類直線,當結果大于0時代表在分類直線上方,當結果小于0時代表在分類直線下方。
 
 首先我們需要對間隔有一個定義,先給出一個間隔定義,名為函數間隔,functional margin。定義yyy為每個數據的實際類別(labellabellabel),用+1和-1分別表示兩類,圖中圈圈為正類別+1,叉叉為負類別-1。
 對每個函數點,定義γi=y(i)f(x)γ_i=y^{(i)}f(x)γi?=y(i)f(x),用labellabellabel乘以分類函數結果,當數據為正類,yiy^{{i}}yi和f(x)f(x)f(x)均為正值,相乘結果為正,相反,當數據為負類,相乘結果為仍為正值,這樣,我們就定義了一個恒正的間隔值,成為函數間隔。接著,對于每一個函數點,我們取一個最小值,代表這組數據的函數間隔,
 γf=min?γi(i=1,2,3,...,n)γ_f=\minγ_{i(i=1,2,3,...,n)}γf?=minγi(i=1,2,3,...,n)?
 可是僅僅使用函數間隔來表示是不夠的,因為當成比例的改變www和bbb,比如改變為2w2w2w何2b2b2b,此時分割平面的位置沒有改變,而函數間隔卻改變了,這樣是不嚴謹的,我們需要加入約束條件,使其規范化。
 
 定義圖中的γγγ的為幾何間隔,geometrical margin,www實際上為法向量,我們對其進行推導,根據已知條件列出方程組,
 {x1=x0+γiw∣∣w∣∣wTx0+b=0\left\{\begin{array}{cc} x_1=x_0+γ_i\frac{w}{||w||} \\ w^Tx_0+b=0\ \end{array}\right.{x1?=x0?+γi?∣∣w∣∣w?wTx0?+b=0??求得結果為γi=f(x)∣∣w∣∣γ_i=\frac{f(x)}{||w||}γi?=∣∣w∣∣f(x)?
 因為距離非負性,將結果乘以yiy_iyi?,得到γi=yif(x)∣∣w∣∣γ_i=\frac{y_if(x)}{||w||}γi?=∣∣w∣∣yi?f(x)?對所有函數點,取最小值γg=min?yif(x)∣∣w∣∣(i=1,2,3,...,n)=γf∣∣w∣∣γ_g=\min \frac{y_if(x)}{||w||}(i=1,2,3,...,n)=\frac{γ_f}{||w||}γg?=min∣∣w∣∣yi?f(x)?(i=1,2,3,...,n)=∣∣w∣∣γf??可以看出,幾何間隔實際上就是函數間隔除以∣∣w∣∣||w||∣∣w∣∣。
 我們的目的是尋找一個最大間隔分類器,因此我們要讓函數間隔最大化,即
 maxγgmaxγ_gmaxγg?
 為簡化計算,我們令函數間隔γf=1γ_f = 1γf?=1,最后的求解即為
 max?1∣∣w∣∣,s.t.yi(wTxi+b)≥1,i=1,...,n\max\frac{1}{||w||} ,s.t .y_i(w^Tx_i+b)\geq1,i=1,...,nmax∣∣w∣∣1?,s.t.yi?(wTxi?+b)≥1,i=1,...,n
 未完待續
總結
 
                            
                        - 上一篇: PyTorch框架学习八——PyTorc
- 下一篇: 吴恩达《机器学习》学习笔记四——单变量线
