小姚的艰辛求职路---SVM支持向量机(2)

深入理解SVM支持向量机

第二,深入理解SVM

2.1
根据上一篇博客,我们得到了一个目标函数:
在这里插入图片描述
也就等价于求||w||的最小值,也就相当于求1/2 w**2的最小值,也就将问题等价于:
在这里插入图片描述
因为现在的目标函数是二次的,而约束条件是线性的,故该问题是一个凸二次规划问题。这个问题可以使用QP(Quadratic Programming)优化进行求解。一言以蔽之:在一定约束条件下,目标最优,损失最小。

此外,由于这个问题的特殊结构(上课时候老师也是没有说为什么,只是直接告诉我们使用拉格朗日对偶),使用拉格朗日对偶性变换到对偶变量的优化问题,即通过求解与原问题等价的对偶问题,得到原始问题的最优解。该方法的优点为:可以自然的引入核函数,进而推广到非线性分类。

什么事拉格朗日对偶性呢?简单来讲,通过给每一个约束条件加上一个拉格朗日乘子,定义拉格朗日函数(通过拉格朗日函数将约束条件融合到目标函数里去,从而只用一个函数表达式便能清楚的表达出我们的问题):
在这里插入图片描述
然后令:
在这里插入图片描述
则最优值也就是:
进而,目标函数就变成了:
在这里插入图片描述
p表示这个问题的最优值,且和最初的问题是等价的。如果直接求解,那么一上来就要面对w和b两个参数,而ai有事不等式约束,求解过程非难不好做。故将最大最小位置调换,即:
在这里插入图片描述
交换以后的新问题是原始问题的对偶问题d
,这个新问题的最优值用来表示。而且有d≤p,在满足某些条件的情况下,这两者相等,这个时候就可以通过求解对偶问题来间接地求解原始问题。

换言之,之所以从minmax的原始问题转化为maxmin的对偶问题,一是因为d是p的近似解,二是转化为对偶问题后,更容易求解。

2.2
下一步对得到的L进行求解。首先固定a,令L关于w和b最小化。
在这里插入图片描述
将结果代回原式L,可以得到:
在这里插入图片描述
从该式中,我们可以看出,此时的拉格朗日函数只包含了一个变量,就是ai。(求出了ai便能求出w,和b,由此可见,上文第1.2节提出来的核心问题:分类函数f(x)=w.T x+b也就可以轻而易举的求出来了)。

求对a的极大,即是关于对偶问题的最优化问题。经过上面第一个步骤的求w和b,得到的拉格朗日函数式子已经没有了变量w,b,只有。从上面的式子得到:
在这里插入图片描述
这样就求出来了ai,根据:
在这里插入图片描述
可以求得w,然后通过:
在这里插入图片描述
这样就可以求出了b,最终得出分离超平面和分类决策函数。

求得L(w,b,a)关于w和b的最小化,以及对a的极大之后,最后一步就可以利用SMO算法求解对偶问题的拉格朗日乘子a。
在这里插入图片描述
上述式子要解决的是在参数上求最大值W的问题。到目前为止,我们的 SVM 还比较弱,只能处理线性的情况,下面我们将引入核函数,进而推广到非线性分类问题。

2.3
当线性不可分时,首先就是关于我们的 hyper plane ,对于一个数据点进行分类,实际上是通过把数据点代入到f(x)=w.T x + b算出结果根据正负号进行分类,且前文推导已知:
在这里插入图片描述
故分类函数为:
在这里插入图片描述
由以上公式,对于一个新的数据点,我们只需要计算它与训练数据点的内积即可,这一点至关重要,也是之后使用kernel进行非线性推广的重要前提。事实上,所有非支持向量所对应的系数a都是等于0的,因此对于新点的内积计算实际上只要针对少量的支持向量,而不是所有训练数据。

当然,到目前为止,我们的 SVM 还比较弱,只能处理线性的情况,不过,在得到了对偶dual 形式之后,通过 Kernel 推广到非线性的情况就变成了一件非常容易的事情了(相信,你还记得本节开头所说的:“通过求解对偶问题得到最优解,这就是线性可分条件下支持向量机的对偶算法,这样做的优点在于:一者对偶问题往往更容易求解;二者可以自然的引入核函数,进而推广到非线性分类问题”)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值