SVM的推导:为什么SVM最终模型仅和支持向量有关

SVM简而言之就是让两组点距离超平面达到最远。

超平面可以用wTx+b=0w^Tx+b=0wTx+b=0表示。其中w=(w1;w2;w3..wm)w=(w_1;w_2;w_3..w_m)w=(w1;w2;w3..wm)是法向量。点x=(x1,x2..xm)x=(x_1,x_2..x_m)x=(x1,x2..xm)到超平面的距离为∣wTx+b∣∣∣w∣∣\frac{|w^Tx+b|}{||w||}wwTx+b,其中||w||=w12+w22+...+wm2\sqrt{w_1^2+w_2^2+...+w_m^2}w12+w22+...+wm2,那么可以得到以下等式:
(wx+b)∣∣w∣∣>=d,yi=1(wx+b)∣∣w∣∣<=−d,yi=−1\frac{(wx+b)}{||w||}>=d, y_{i}=1 \\ \frac{(wx+b)}{||w||}<=-d, y_{i}=-1w(wx+b)>=d,yi=1w(wx+b)<=d,yi=1
合并一下可以写成
(wx+b)yi∣∣w∣∣d>=1\frac{(wx+b)y_i}{||w||d}>=1wd(wx+b)yi>=1
其中∣∣w∣∣d||w||dwd是正数,放缩一下让它等于1,对推导没有影响,而且∣wT+b∣|w^T+b|wT+b是常数,所以SVM的一般形式就是
min∣∣w∣∣2,s.t,(wx+b)yi>=1(公式1)min{\frac{||w||}{2}}, s.t, (wx+b)y_i>=1 (公式1)min2w,s.t,(wx+b)yi>=1(1)

为了解决这个带约束的最优化问题,上拉格朗日乘数法
得到的对偶问题是(dual problem)是L(w,b,α)=12∣∣w∣∣2+∑i=1mαi(1−yi(wTxi+b))L(w,b,\alpha)=\frac{1}{2}||w||^2+\sum_{i=1}^{m}{\alpha_i(1-y_i(w^Tx_i+b))}L(w,b,α)=21w2+i=1mαi(1yi(wTxi+b))

注意max⁡b,αL\max_{b,\alpha}Lmaxb,αL∣∣w∣∣2,s.t,(wx+b)yi>=1\frac{||w||}{2},s.t, (wx+b)y_i>=12w,s.t,(wx+b)yi>=1是等价的,而min⁡max⁡L\min{\max{L}}minmaxL是和公式1等价的,把带约束的最优化问题转换成对偶问题是拉格朗日乘数法的思想。

对w和b分别求偏导并且置0∂L∂w=w−∑i=1mαiyixi=0∂L∂b=∑i=1mαiyi=0\frac{\partial{L}}{\partial{w}}=w-\sum_{i=1}^{m}\alpha_{i}y_{i}x_i=0 \\ \frac{\partial{L}}{\partial{b}}=\sum_{i=1}^{m}\alpha_{i}y_{i}=0wL=wi=1mαiyixi=0bL=i=1mαiyi=0

把上面的两个表达式带入L,可以得到目标为
max⁡α∑i=1mαi−12∑i=1m∑j=1mαiαjyiyjxiTxjs.t.∑i=1mαiyi=0αi>=0(拉格朗日的要求)\max_\alpha{\sum_{i=1}^m\alpha_{i}-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_jx_i^Tx_j}\\s.t.\sum_{i=1}^{m}\alpha_{i}y_{i}=0\\\alpha_i>=0 (拉格朗日的要求)αmaxi=1mαi21i=1mj=1mαiαjyiyjxiTxjs.t.i=1mαiyi=0αi>=0()
因此,训练完成后,最终apply的模型是
f(x)=wTx+b=∑i=1mαiyixiTx+b同时要求以下几个表达式成立αi>=0(公式2,拉格朗日的要求)yif(xi)−1>=0(公式3,公式1和KKT条件的要求)αi(yif(xi)−1)=0(公式4,KKT条件的要求)f(x)=w^Tx+b=\sum_{i=1}^{m}\alpha_{i}y_{i}x_i^Tx+b\\ 同时要求以下几个表达式成立\\ \alpha_i>=0 (公式2,拉格朗日的要求)\\ y_if(x_i)-1>=0(公式3,公式1和KKT条件的要求)\\ \alpha_i(y_if(x_i)-1)=0 (公式4,KKT条件的要求) \\ f(x)=wTx+b=i=1mαiyixiTx+bαi>=0(2)yif(xi)1>=0(31KKT)αi(yif(xi)1)=0(4KKT)
于是,对于任意训练样本(xi,yi)(x_i,y_i)(xi,yi),比较公式2和公式4,可以知道αi=0\alpha_i=0αi=0或者yif(xi)=1y_if(x_i)=1yif(xi)=1。如果αi=0\alpha_i=0αi=0,那么训练样本(xi,yi)(x_i,y_i)(xi,yi)不会对f(x)有任何影响;如果yif(xi)=1y_if(x_i)=1yif(xi)=1,这个训练样本就在最大间隔的边界上,是支持向量。因此,训练完成以后,最终模型仅仅和支持向量有关

更多推导请参考西瓜书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值