鑑於我剛開始學習支持向量機(Support vector machines,簡稱SVM)時的一臉懵逼,我認爲有必要先給出一些SVM的定義。web
下面是一個最簡單的SVM:
算法
圖一
- 分類算法:支持向量機(SVM)是一個分類算法(機器學習中常常把算法稱爲一個「機器」),它的目標是找到圖中實線所表示的決策邊界,也稱爲超平面(Hyperplane)
- 支持向量(Support vectors):支持向量就是圖中虛線穿過的數據點(兩個×與一個O),直觀上來看,它們肯定了超平面的位置——超平面與過同一類的兩個支持向量(兩個×)的直線平行,而且兩類支持向量到超平面的距離相等
- 與logistic迴歸的對比:SVM與logistic迴歸用的是相同的模型,可是處理方式不同——logistic迴歸用機率的方式求解模型(最大似然估計),SVM從幾何的角度解析;另外在logistic迴歸中,每個數據點都會對分類平面產生影響,在SVM中它卻只關注支持向量(若是支持向量無變化,增長或者刪除一些遠處的數據點,產生的超平面仍是同樣的)——因此產生了這兩個不一樣的算法,可是它們仍是比較類似的
明明是SVM算法卻在這裏提到logistic迴歸模型是爲了做爲源頭引出SVM的推導,至於更深的背景,好比SVM被認爲幾乎是最好的監督學習啦,SVM是創建在統計學習理論的VC 維理論和結構風險最小原理基礎上的啦,SVM做爲統計機器學習與傳統機器學習的本質區別啦……目前的我尚未造成一個總體的、完善的認識,雖然下一份總結裏就要說到學習理論與結構風險最小化,可是對於海面之下的冰山,我暫時還無法看到。在這裏我只是想老老實實地把SVM從推導,到轉換與優化,到最後求解的過程作一個總結寫下來。機器學習
還須要說明的是,圖一是最簡單的SVM,它是線性可分的,而且從圖一上來看它是沒有噪點的,第一章「SVM的推導」能夠把這個漂亮的線性可分的模型推導出來。
可是實際的狀況不可能這麼完美。當數據線性不可分的時候,咱們須要引入核函數在更高維的空間裏去尋找這個超平面(數據在更高維的空間裏會更加線性可分);當噪點存在的時候,咱們引入軟間隔分類器,這時候在支持向量附近,容許有一些噪點被分錯,即容許偏差的存在。而這兩點都是在將目標函數轉化爲對偶問題以後實現的。這些都會在第二章「SVM轉換與優化」中介紹。svg
一、SVM的推導
1.一、起源
SVM與logistic迴歸使用了相同的模型,如今讓咱們來回顧一下熟悉的logistic迴歸模型:
函數
hθ(x)=g(θTx)=11+e−θTx(1)
其中:
g(z)=11+e−z(2)
而且其圖像以下圖:
圖二
圖像的輸出是「分類結果
g(z)
是1的
機率」,它的取值範圍是
(0,1)
,通常來講以0.5爲界,當
g(z)
是1的機率大於0.5的時候,把
x
分類爲1,當
g(z)
是1的機率小於0.5的時候,把
x
分類爲0,這樣,雖然它的直接輸出是
(0,1)
之間的機率,卻有感知器那樣的分類效果。
同時能夠看到當
z
在0附近時,輸出機率在0.5附件徘徊,並且比較敏感,可是當
z=θTx>>0
時它的輸出很接近1,當
z=θTx<<0
時它的輸出很接近0。因此若是咱們可以讓
z>>0
或者
z<<0
,咱們就會更加確信這個樣本被正確分類了。
換句話說,若是把
z=0
這條直線當作決策邊界,那麼數據點
z
距離這條直線越遠,就越不可能被分錯。
SVM就是從幾何的角度,在這方面下功夫的。
下面是在logistic迴歸模型下,由於SVM這個算法的特色而引發的符號改變:
學習
y=hθ(x)=g(θTx)=g(wTx+b)=hw,b(x)(3)
直觀點的改變是:
θTx=θ0+θ1x1+θ2x2+⋯+θnxn=b+w1x1+w2x2+⋯+wnxn=wTx+b(4)
截距b就是截距
θ0
,向量
w
就是除了
θ0
外,剩下的向量
θ
,並且這裏的向量
x
應該是差了一個
x0=1
(
xθ,θ∈Rn+1
,
xw,w∈Rn
),可是不影響…它們表達的意思是同樣的,只是換了些符號而已。
另外,這裏的
g(z)
再也不是式(2)中的形式,而是:
g(z)={1−1if(z≥0)if(z<0)(5)
恩…長得很像感知器。
式(3)與式(5)就是SVM模型了,參數是
θ
與
b
,當這兩個參數肯定了,咱們就能夠作出分類超平面,對數據進行分類。
對同一個模型,logistic模型用機率的方式求解,下面就要引入函數間隔與幾何間隔來從幾何的角度來解析SVM了。優化
1.二、函數間隔(Functional margins)與幾何間隔(Geometric margins)
給定一個訓練樣本
(x(i),y(i))
,咱們將其函數間隔定義爲:
atom
γ^(i)=y(i)(wTx(i)+b)(6)
函數間隔的做用有兩個。
一個是
確認樣本點有沒有被正確分類:
由式(3)與式(5)能夠知道,
y(i)
的取值爲{
1,−1
},那麼在
w,b
肯定了,而且樣本被正確分類的狀況下,
wTx+b
與
y(i)
是同號的,即
γ^(i)=∣∣(wTx+b)∣∣
,因此當函數間隔
γ^(i)>0
,即
γ^(i)
是正數的時候,咱們就認爲這個點被正確地分類了(錯誤分類時
γ^(i)<0
)。
另外一個是
衡量該樣本點被正確分類的確信度:
在起源中由sigmoid函數
g(z)
咱們注意到,一個點離超平面越遠,其輸出就越接近1,一樣地,
γ^(i)
越大,這個樣本被分對的也確信度越大。
進一步地,相比只有一個訓練樣本的狀況,若是給定一個訓練集
S=
{
(x(i),y(i);i=1,2,⋯,m)
},那麼整個訓練集合的函數間隔爲:
spa
γ^=mini=1,2,⋯,mγ^(i)(7)
有了函數間隔咱們就能夠去選擇超平面了,在判斷數據點有沒有被正確分類這一點上,函數間隔沒有問題。當全部樣本點的函數間隔都是正數的時候,它們就全都被正確分類了(在這裏討論的是數據集線性可分的狀況,如圖一所示)。
須要注意的是,此時的超平面不必定就是最優的,因此咱們還要最大化其被分類正確的確信度,這時候就須要依賴到函數間隔的第二個做用了。.net
可是在使得確信度最大這一點上,函數間隔卻存在着缺陷。咱們但願在樣本點所有被正確分類的前提下,它們被分對的確信度最大,即讓
γ^
儘量地大(這與式(7)中選取最小(即確信度最小)的
γ^(i)
來做爲整個訓練集的函數間隔
γ^
並不矛盾,還有點在確立最大下界的意思)。
但是咱們發現,只要成比例地改變
w
與
b
,好比把它們變成
2w
與
2b
,超平面並無發生改變,可是函數間隔
γ^
卻變成了原來的兩倍,這意味着,咱們能夠成比例地增大
w
與
b
,使得函數間隔
γ^
變得無限大。這顯然沒有意義,由於超平面的位置並無發生改變。
這時候就輪到幾何間隔出場了,它是增長了約束的函數間隔,使函數間隔變得惟一,用符號
γ
表示。
直觀上來看幾何間隔是樣本點到超平面的距離。
此時改變幾何間隔就可以移動超平面,同時幾何間隔仍然能反映樣本被正確分類的確信度,因此對幾何間隔的最大化,就是對超平面的最優化。
下面咱們藉助圖三來尋找幾何間隔:
圖三
設點B是向量
x
,點B在超平面上,點A爲樣本點向量
x(i)
。
由於點A與點B在法向量
w
上的距離就是幾何間隔
γ(i)
,因此咱們有:
x(i)−γ(i)w∥w∥=x(8)
由於
γ(i)
只是一個距離常量,因此須要乘上法向量
w
的單位向量
w∥w∥
(
∥w∥
是向量
w
的長度,
∥w∥=w21+w22+w23+⋯+w2n+−−−−−−−−−−−−−−−−−−−−−√
),才能在向量間直接作加減。
由於點B在超平面上,因此咱們有:
wTx+b=wT(x(i)−γ(i)w∥w∥)+b=0(9)
對式(9)進行求解便可獲得幾何間隔的形式化定義:
γ(i)=wTx(i)+b∥w∥=(w∥w∥)Tx(i)+b∥w∥(10)
這是樣本點在正側的情形,若是樣本點在負的一側,那就是:
γ(i)=−((w∥w∥)Tx(i)+b∥w∥)(11)
因此爲使公式通常化,幾何間隔以下表示:
γ(i)=y(i)((w∥w∥)Tx(i)+b∥w∥)(12)
幾何間隔與函數間隔的關係是:
γ(i)=γ^(i)∥w∥(13)
因此說幾何間隔是增長了約束的函數間隔,是對函數間隔的完善,這時若是成比例地改變
w
與
b
,幾何間隔是不會改變的。
相似地,相比只有一個訓練樣本的狀況,若是給定一個訓練集
S=
{
(x(i),y(i);i=1,2,⋯,m)
},那麼整個訓練集合的幾何間隔爲:
γ=mini=1,2,⋯,mγ(i)(14)
1.三、最優間隔分類器(The optimal margin classifier)
有了幾何間隔,咱們就能夠肯定最優超平面的位置,即最優間隔分類器了:
maxγ,w,bγs.t.y(i)((w∥w∥)Tx(i)+b∥w∥)≥γ,i=1,2,⋯,m(15)
把圖一再貼上來一次,而且默認上方的叉叉爲正實例,下方的圈圈爲負實例:
爲何說知足了式(15)的超平面就是最優間隔分類器,即圖中的實線?
首先,在
正確分類的狀況下,咱們要認可
幾何間隔
γ
是正數(若是
γ
是負數,證實分類都不正確,那就沒有討論下去的必要了,更不用提什麼最優),因此若是每一個樣本點都服從了式(15)中
y(i)((w∥w∥)Tx(i)+b∥w∥)≥γ
這個式子,那麼咱們就能夠認爲「全部樣本點的幾何間隔都大於一個正數」,即這些樣本點都被正確分類了。這正是函數間隔的第一個做用。因而在這個前提下,咱們發現超平面只能畫在圖一的兩條虛線即支持向量之間,並且要跟虛線平行。
其次,咱們來考慮最優的問題。雖然說肯定了超平面必定在兩條虛線之間,可是那裏面仍然有無數個超平面,如何肯定最優?
綜合幾何間隔與函數間隔的第二個做用,咱們有這樣的結論:「幾何間隔越大,樣本被正確分類的確信度越大」,當式(15)中
maxγ,w,bγ
這個式子知足的時候,咱們發現超平面正好處於兩條虛線的中線位置,它也是咱們直觀上能想象到的最好的位置了。爲何這麼巧?
直觀上來講,支持向量是最靠近超平面的存在,因此由式(14)能夠知道,支持向量的幾何間隔,就是整個樣本集的幾何間隔,由於其它的點離超平面更遠,不在考慮範圍以內了。
咱們能夠想象一下這條實線(超平面)沿着平行的方向上下移動,舉個極端的例子,超平面移動到支持向量上,與某一條虛線重合了,這時候全部樣本點也是分類正確的,可是此時的幾何間隔
γ=0
,它是不知足「幾何間隔最大」這個要求的,而後咱們慢慢將超平面從虛線向另外一側的虛線移動,每移動一分幾何間隔
γ
就增大一分,直到達到中線的位置,支持向量到超平面的距離相等,
γ
才達到最大,超平面達到最優(若是超平面繼續向另外一側虛線移動,
γ
又會變小)。
解釋了這麼可能是爲了說明,知足了式(15)的參數
w,b
能夠肯定最優超平面,因此它就是咱們的目標函數了。那是否是就能夠開始對式(15)進行求解了,求解獲得了
w,b
,SVM的工做就完成了。
嗯,是的,求解獲得
w,b
,SVM的工做就完成了。可是,工做尚未開始。由於這個樣子的目標函數無法求解,或者直接求解難度太大,由於它不是一個凸函數,無法用常規的梯度降低或者牛頓法求解。目前的我也不知道若是不用講義上給的方法,還有沒有別的方法能夠手動求解。因此,按着給出的方法接着往下走吧。
由函數間隔與幾何間隔的關係
γ(i)=γ^(i)∥w∥
,咱們能夠對 式(15)進行以下的改寫:
maxγ^,w,bγ^∥w∥s.t.y(i)(wTx(i)+b)≥γ^,i=1,2,⋯,m(16)
由於函數間隔的改變不影響超平面的位置,因此爲了進一步化簡目標函數,咱們給函數間隔一個約束
γ^=1
使其變得惟一,此時
γ^∥w∥=1∥w∥
,又由於最大化
1∥w∥
與最小化
12∥w∥2
是同樣的,因此有:
minγ,w,b12∥w∥2subject toy(i)(wTx(i)+b)≥1,i=1,2,⋯,m(17)
這樣,目標函數就變成式(17)的樣子了,接下來就能夠對這個函數進行求解了。
二、SVM的轉換與優化
2.一、SVM轉換——引入拉格朗日對偶與KKT條件
2.1.一、目標函數轉化爲原始問題(Primal problem)
如今,咱們將目標函數式(17)改寫一下 :
令f(w)令g(wi)=12∥w∥2=−y(i)(wTx(i)+b)+1≤0(18)
而後引入
拉格朗日乘子(Lagrange multipliers)
αi≥0(i=1,2,⋯,n)
獲得以下
原始問題:
minw,bmaxα≥0(12∥w∥2−∑i=1mαi[y(i)(wTx(i)+b)−1])=minw,bmaxα≥0(f(w)+∑i=1mαig(wi))=minw,bmaxα≥0L(w,b,α)=minw,bθp(w)(19)
下標
p
被稱爲原始問題,即:
θp(w)=maxα≥0L(w,b,α)=maxα≥0(f(w)+∑i=1mαig(wi))=maxα≥0(12∥w∥2−∑i=1mαi[y(i)(wTx(i)+b)−1])(20)
雖然很突兀,式(19)與式(17)是等價的。這是由於有被稱爲
柵欄(Barrier)的帶有拉格朗日乘子的那個加項
maxα≥0∑mi=1αig(wi)
的存在,它的做用是將不可行域的
w
排除掉,只留下了可行域內的
w
,式(19)與式(17)同樣,都表達了「在
y(i)(wTx(i)+b)≥1(即g(wi)=≤0)
的約束下,對
12∥w∥2(即f(w))求最小值
」的意思。
咱們先來考慮
不可行域的狀況。
不可行域指的是不知足約束
y(i)(wTx(i)+b)≥1
的
w
,此時
y(i)(wTx(i)+b)<1
,即
g(wi)>0
。而後咱們看向
maxα≥0∑mi=1αig(wi)
這個加項,由於
α≥0
且
g(wi)>0
,因此此時求最大值是沒有意義的,它的最大值就是無限大。
再來考慮
可行域的狀況。
可行域就是
y(i)(wTx(i)+b)≥1
這個區域,此時
g(wi)≤0
。一樣地,對
∑mi=1αig(wi)
求最大值,此時的條件是
α≥0
且
g(wi)≤0
,明顯地,最大值爲0。
因此在可行域下有:
θp(w)=maxα≥0(f(w)+∑i=1mαig(wi))=maxα≥0f(w)+maxα≥0∑i=1mαig(wi)=maxα≥0f(w)+0=f(w)(21)
結合起來就是:
θp(w)={f(w)∞w滿足原始約束其他(22)
因此引入了拉格朗日乘子的原始問題式(19)
minw,bθp(w)
與目標函數式(17)是等價的:
minθp(w)=⎧⎩⎨min12∥w∥2無意義滿足y(i)(wTx(i)+b)≥1其他(23)
2.1.二、原始問題與對偶問題(Dual problem)的關係
對於原始問題有:
minw,bθp(w,b)θp(w,b)=minw,bmaxα≥0L(w,b,α)=maxα≥0L(w,b,α)(24)
下標
D
被稱爲對偶問題,在上式中將
minw,b
與
maxα≥0
的順序交換一下就變成了對偶問題:
maxα≥0θD(α)θD(α)=maxα≥0minw,bL(w,b,α)=minw,bL(w,b,α)(25)
弱對偶性(Weak duality)
對於一對原始問題與對偶問題,若是它們都存在最優解,而且分別將其表示爲
p∗=minw,bθp(w,b)
與
d∗=maxα≥0θD(α)
,那麼它們一定有以下關係:
d∗≤p∗(26)
這被稱爲弱對偶性。有以下證實:
θD(α)=minw,bL(w,b,α)≤L(w,b,α)⟹θD(α)≤maxα≥0L(w,b,α)=θp(w,b)≤θp(w,b)(27)
也能夠這麼理解:
maxy∈{0,1}(minx∈{0,1}I{x=y})0≤minx∈{0,1}(maxy∈{0,1}I{x=y})1
由於它們都有最優解,因此有:
d∗=maxα≥0θD(α)⟹d∗≤minw,bθp(w,b)=p∗≤p∗(28)
強對偶性(Strong duality)
對於一對原始問題與對偶問題,
w∗,b∗
是原始問題的解,
α∗
是對偶問題的解,而且它們知足KKT條件,有
d∗=p∗
。這被稱爲強對偶性,此時能夠經過求解對偶問題獲得原始問題的解。
KKT條件以下:
拉格朗日平穩(Stationarity):∇wiL(w∗,b∗,α∗)∇biL(w∗,b∗,α∗)=0,i=1,2,⋯,n=0,i=1,2,⋯,l(29)
互補鬆弛(Complementary slackness):α∗igi(w∗)=0,i=1,2,⋯,k(30)
原始可行性(Primal feasibility):gi(w∗)≤0,i=1,2,⋯,k(31)
對偶可行性(Dual feasibility):α∗≥0,i=1,2,⋯,k(32)
互補鬆弛其實已經包含了原始可行性與對偶可行性。
當
gi(w∗)<0
,只有當
α∗=0
,互補鬆弛才成立;
當
α∗>0
,只有當
gi(w∗)=0
,互補鬆弛才成立。
咱們的求解目標經歷瞭如下轉化:
通過幾何分析(幾何間隔的意義)得到式(15)最初始的目標函數⟹通過幾何間隔與函數間隔的關系與一些約束與手段,從式(15)得到常用的且較正規的目標函數式(17),此時它是一個凸函數⟹引入拉格朗日算子將目標函數式(17)變成式(19)的原始問題⟹每個原始問題都有對應的對偶問題,滿足KKT條件後對偶問題的解與原始問題的解相等,可通過求解對偶問題式(25)來獲得原始問題式(19)的解
通過這一系列轉化,結論就是,求解獲得對偶問題的解以後,就能獲得目標函數的參數
w,b
,得到最後的SVM分類函數。爲何要繞這麼一大圈去求解對偶問題?
一是對偶問題每每比原始問題更容易求解,二是對偶問題有一些優良的結構,能夠在內積中天然而然地引入核函數,進而推廣到非線性分類問題,並且還能夠用軟間隔分類器來解決非線性問題。
2.1.三、對偶問題的初步求解
接下來討論如何求解對偶問題。
回到式(25)的對偶問題:
maxα≥0θD(α)=maxα≥0minw,bL(w,b,α)
要求解獲得最後的參數,對偶問題的求解方法分紅兩步。
第一步,
minw,bL(w,b,α)
。把
α
當成常數,對
w,b
求
L(w,b,α)
的最小值,而後把用
α
表示的
w,b
代回
L(w,b,α)
中,此時的
L(w,b,α)
成爲了參數
α
的函數,其實是
L(α)
,形式上用
W(α)
表示。
第二步,
maxα≥0minw,bL(w,b,α)=maxα≥0W(α)
。對
W(α)
求最大值,此時解出來的
α
是確切的常數,再把這些常數代回第二步中「用
α
表示的
w,b
」中,便可獲得最終的參數
w,b
。
本小節只作第一步的處理,第二步的處理將在第三章「SVM的求解」中介紹。
對
w,b
求
L(w,b,α)
的最小值的方式是,分別對
w,b
求偏導,而後讓它們的結果爲0。
把
L(w,b,α)
的原式(見式(19))稍微展開(
w
被認爲是常數 ,因此
wT=w
):
L(w,b,α)=12∥w∥2−∑i=1mαi[y(i)(wTx(i)+b)−1]=12∥w∥2−∑i=1mαiy(i)wTx(i)+b∑i=1mαiy(i)+∑i=1mαi(33)
對
w
求偏導能夠簡單獲得:
∇wL(w,b,α)=w−∑i=1mαiy(i)x(i)=0⟹w=∑i=1mαiy(i)x(i)(34)
一樣,對
b
求偏導能夠獲得:
∇bL(w,b,α)=∑i=1mαiy(i)=0(35)
這裏,
x(i)
與
y(i)
是樣本點,是已知數,因此咱們就有了「用
α
表示的
w與b
」。接下來咱們把式(34)與式(35)代回到式(33)中,須要注意的地方是
∥w∥2=wTw
,其它的正常展開就行,獲得:
L(w,b,α)=∑i=1mαi−12∑i,j=1my(i)y(j)αiαj(x(i))Tx(j)=W(α)(36)
再把
(x(i))Tx(j)
用
⟨x(i),x(j)⟩
表示,同時把上面與
α
有關的約束條件加上,就到了要求解的對偶問題的第二步:
maxαs.t.W(α)=∑i=1mαi−12∑i,j=1my(i)y(j)αiαj⟨x(i),x(j)⟩αi≥0,i=1,2,⋯,m∑i=1mαiy(i)=0(37)
注意,咱們的目標是求得參數
w,b
,
w
在式(34)中有描述,當咱們把
maxαW(α)
求解出來,獲得
αi
配合上樣本點,便可計算出
w
的實際值,那麼,
b
是如何計算的?
這裏是
b
的計算方法:
b∗=−maxi:y(i)=−1w∗Tx(i)+mini:y(i)=1w∗Tx(i)2(38)
再一次把圖一貼上來:
式(38)中,
−maxi:y(i)=−1w∗Tx(i)
表示,過度類爲-1的支持向量的超平面的截距,對應圖中過圈圈的下面那條虛線的截距;
−mini:y(i)=1w∗Tx(i)
表示,過度類爲1的支持向量的超平面的截距,對應圖中過叉叉的上面那條虛線的截距。
實線即超平面的截距是這兩個截距的和的一半。
到這裏,咱們完成了
minw,bL(w,b,α)
的過程,對偶問題的第一步求解就完成了。要求得截距
b
咱們須要知道
w
,而
w
須要用
α
計算獲得,因此整個SVM分類器的求解只剩下最後一步了。
對偶問題的第二步
maxα≥0W(α)
,求解
α
的介紹將在第三章中進行(第三章中將要求解的是通過優化的
W(α)
,不是如今這個),由於接下來要介紹兩個內容,核函數與軟間隔分類器。
2.二、SVM優化一——引入核函數(Kernel)
2.2.一、核函數的做用
核函數的做用:把原座標系裏線性不可分的數據投影到另外一個空間,儘可能使得數據在新的空間裏線性可分。
爲了有一個直觀感覺能夠看這個視頻:https://www.youtube.com/watch?v=3liCbRZPrZA
低維空間(這裏是二維)裏有紅色與藍色兩種不一樣的分類點,能夠看到在這裏它們線性不可分:
圖四
用核函數把低維空間裏的數據投影到高維空間(這裏是三維)中去:
圖五
在高維空間中作一個超平面將數據分類:
圖六
高維空間中的分類超平面,表如今低維空間中,就是那個發光的圓:
圖七
能夠看到,即便原空間中的數據線性不可分,也能夠得到很好的分類超平面,這就是核函數在SVM中的做用。
2.2.二、核函數自己
將數據映射到高維空間
讓咱們來看式(37)中可使用核函數的地方:
W(α)=∑i=1mαi−12∑i,j=1my(i)y(j)αiαj⟨x(i),x(j)⟩
令
x(i)=x
,
x(j)=z
,咱們能夠將尖括號中的內積
⟨x(i),x(j)⟩
替換成
⟨ϕ(x),ϕ(z)⟩
,
ϕ(x)
表示向量之間的映射,通常是從低維到高維:
W(α)=∑i=1mαi−12∑i,j=1my(i)y(j)αiαj⟨ϕ(x),ϕ(z)⟩(39)
給定了一個特徵映射
ϕ
,咱們將相應的核函數定義爲:
K(x,z)=⟨ϕ(x),ϕ(z)⟩=ϕ(x)Tϕ(z)(40)
這是李航老師《統計學習方法》SVM章節中給出的例子,我來簡述一下:
圖八
x
是原空間的數據,
x=[x(1)x(2)]
;
同時,
z=ϕ(x)=[(x(1))2(x(2))2]
(這裏的
z
指的是
映射後的向量,跟
x(j)=z
的設定——
原空間中的向量——衝突了,可是由於圖上給的是
z
,因此仍是這麼用了,請讀者自行區分一下)。
映射事後,原空間中的點相應地變爲新空間中的點,原空間中的橢圓:
w1(x(1))2+w2(x(2))2+b=0(41)
變成了新空間中的直線:
w1z(1))+w2z(2))+b=0(42)
線性不可分問題通常來講很差求解。因此咱們將數據映射到高維空間,在高維空間裏使用求解線性可分問題的方法,來求解在原空間中線性不可分的問題。
咱們看到雖然樣本點通過了映射,可是參數
w,b
卻沒變,由於式(39)與式(40)中的
w,b
原本就是相同的,只是在不一樣維度中表現出不一樣的樣子而已(在(這裏的)高維空間裏表現爲一條直線,在低維空間裏表現爲一個橢圓)。
這些跟圖四到圖七所表達的意思也是很吻合的。
化解計算量問題
將數據映射到高維空間,在高維空間中去尋找線性超平面的這個方式當然好,可是卻引來了新的問題。
ϕ(x)
是映射後的數據,通常比原數據更高維,而真正使用的時候,仍是在計算它的內積
ϕ(x)Tϕ(z)
,這樣的計算代價過高昂了。
核函數的一個巧妙之處在於,能夠經過計算低維向量內積的平方,獲得高維向量的內積,下面是一個例子。
若是咱們有一個核函數以下,而且
x,z
都是
n
維的:
K(x,z)=(xTz)2(43)
它能夠展開成以下形式:
K(x,z)=(xTz)2=(∑i=1nxizi)⎛⎝∑j=1nxjzj⎞⎠=∑i=1n∑j=1nxixjzizj=∑i,j=1n(xixj)(zizj)=ϕ(x)Tϕ(z)(44)
當
n=3
的時候,有:
x=⎡⎣⎢x1x2x3⎤⎦⎥,ϕ(x)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢x1x1x1x2x1x3x2x1x2x2x2x3x3x1x3x2x3x3⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥(45)
假如式(39)中的映射是式(45)中的
ϕ
,咱們有:
W(α)=∑i=1mαi−12∑i,j=1my(i)y(j)