RECAP:
在hard-SVM里介紹蜡坊,SVM的目標是:
DUAL-SVM的初衷:
這里介紹的是Hard-SVM帚称,hard的意思就是線性可分,linear藻治。但是并不是所有的資料都是線性可分埋涧,因此這里需要進行維度轉換板辽。將X換成,轉換到多維空間去。
一方面棘催,使用SVM劲弦,采取了margin的方法,只有在邊界上的點才是SV Candidate醇坝,才可以Shatter邑跪。這種方法降低了復雜度,dvc=d+1呼猪;而另一方面呀袱,進行多維的裝換,則是增加函數(shù)的復雜度和d的維度郑叠。因此,是否有一種方法明棍,可以讓轉換和復雜度無關乡革!
構造拉格朗日函數(shù)
原有:
轉換1:max->min;轉換2:x->z
轉換為:
引入拉格朗日因子:
把條件加上。
沸版。把條件藏在函數(shù)中嘁傀。固定w,b,那么
是變量视粮。需要找到一個最大的
细办,使得L最小。
如果這些Z的點落在邊界margin之內蕾殴,那么
L則無最大值
只有那些Z的點落在margin上或者margin外的點笑撞,才能使
L存在最大值。最大值就是當?钓觉,
可以發(fā)現(xiàn)條件有已經藏在了公式當中茴肥。
對偶問題
原有問題:
那么當任意一個來講,max
any
選擇一個荡灾,那么不同的樣本集瓤狐,選擇最好的
,也只能使得
批幌,選擇=
這里發(fā)現(xiàn)础锐,Min和max發(fā)生了對調。把min和max發(fā)生對調的行為荧缘,叫做對偶皆警。實踐證明,當滿足一下條件時胜宇,使得耀怜,變成=。強對偶關系桐愉。
這時财破,公式就簡化成為:
對b和w分別求偏導,并帶入原有SVM中从诲,可以發(fā)現(xiàn)左痢,對于b和w都已經消除,因此現(xiàn)在只需要求解
原有max的問題系洛,轉化為min問題:
變化:從dvc=d+1個變量俊性,轉化成為N個變量兼犯,與維度無關赐劣;限制條件,從N變成N+1酗电。幾乎無變化
維度雖然從表面上消失了绽诚,但是卻被藏在典徊。
KKT條件
這里的KKT條件杭煎,就是之前提到過的強對偶關系的條件:
1. 首先保證:yn(1-(wz+b)
2. 引入拉格朗日函數(shù):
3. 對偶的條件,求偏導:
4.?互補松弛性條件(complementary slackness):
由于卒落,那么只能有:
而改上式=0的條件羡铲,就是這些點在margin的邊界上。
變化:之前在hard-SVM的時候儡毕,講落在margin邊界上的點也切,使得,這些點是SV candidates。那么在dual-SVM的時候腰湾,講當
時雷恃,在
的點,落在margin的邊界上檐盟。這些點才是SV.
那么:當求得最佳解時褂萧,
可以得到W:
可以得到b:(由于
),在margin的邊界上找一個點即可算出b
因此對偶問題,只完成了將簡化hard-SVM的第一步葵萎。將b,w的依存消失导犹,只與以及
有關。那么
由于是維度變換后到更高空間維度羡忘,需要將z一步步展開么谎痢?NO。這里用到Kernel卷雕。
Kernel-SVM
在對偶問題中节猿,進步的地方在于,由3個維度的變化,w,b,,從以dvc=d+1以高維度轉換漫雕,變化成為只求一個
滨嘱,并且將維度的問題從明處藏在了
中。
的難度在于高維度轉換+高維度轉換后再做乘積浸间。
簡化
對于2維的Z空間
可以看到太雨,最后也只有d+1的維度,和轉換到高維無關魁蒜。
將Kernel命名:
將一組在margin邊界上的SV點帶入,利用之前偏導的結果:
可以求得b:
至此兜看,如果樣本點在原有維度無法線性可分锥咸,那么可以進行高維轉換。Kernel的結果與高維無關细移,只有dvc=d+1搏予。至此,原有的疑點以及解決:
一方面弧轧,使用SVM缔刹,采取了margin的方法球涛,只有在邊界上的點才是SV Candidate,才可以Shatter校镐。這種方法降低了復雜度,dvc=d+1捺典;而另一方面鸟廓,進行多維的裝換,則是增加函數(shù)的復雜度和d的維度--Kernel只與原有維度的dvc=d+1有關襟己。
普通多項式的2維轉換:
對選擇不同的數(shù)值引谜,就意味著Kernel不一樣。Kernel不一樣擎浴,就意味著w员咽,b不一樣。w贮预,b不一樣贝室,就意味著
不一樣,margin也不一樣仿吞。margin不一樣滑频,就意味著SV也不一樣。
因此不同的kernel=>不同的margin definition
在推廣一下:對常數(shù)項和x進行放縮唤冈,那么
在推廣一下:在Q維進行維度變換峡迷,那么
在1維空間的話,
高斯Kernel
在上面poly-Kernel可以看到你虹,的乘積绘搞,并不用全部展開,并且也不用在Z空間計算dvc傅物。非常簡化夯辖。這時,是否可以想象挟伙,如果Z空間的多項式是無限多的時候楼雹,是否
也可以是一個簡單的X空間dvc呢?
當Z空間是無限多維時尖阔,Kernel仍然是一個多項式贮缅。這就是高斯kernel
高斯Kernel是一個正態(tài)分布函數(shù):?
xn是某一個SV,是高度介却。因此當
越大時谴供,峰值越高。容易出現(xiàn)overfitting齿坷。因此在高斯kernel中對
也要謹慎選擇
小結:
二項式-Kernel:
優(yōu)點:可以進行高維轉換桂肌,進而高階線性可分数焊。高階也只和X維度有關。
缺點:當時崎场,K趨近無窮大
當時佩耳,K趨近于0
有3個參數(shù)可以調整
因此,當進行選擇時谭跨,盡量選擇比較小的Q
高斯Kernel
優(yōu)點:可以進行無限多維的轉換干厚,比較power。只有一個參數(shù)可以調整
缺點:不太好解釋螃宙,沒有W蛮瞄。容易overfitting