支持向量机(1)
支持向量机实质上是一种在训练样本的特征空间当中寻找一个超平面,使得正负两类距离超平面的距离为最大,也就是间隔最大化,这里所说的距离使得所有样本点距离超平面的距离当中最小的那个。我们知道感知机是SVM的一个基础,但是在感知机当中,并没有要求间隔最大化,而只是找到一个能够将线性可分的数据分开的超平面。另外由于在SVM中可以使用kernel trick,因此SVM在本质也是一种非线性分类器。从简单到复杂,SVM可以分为三种。
1、线性可分SVM,也称硬间隔SVM
2、线性SVM,也称软间隔SVM
3、非线性SVM
这三种模型一个比一个更加具有普适性,前一种是后一种的特殊情况
一、线性可分SVM线性可分SVM是针对线性可分的数据集而设计的一种支持向量机。所谓线性可分是指,存在一个超平面可以将训练样本完全分开。这里需要定义两种距离函数距离和几何距离。
1、函数距离的定义如下,对于任意样本点$(x_{i},y_{i}),i=1,2,3,...,N$
$\hat{\gamma}_{i}=y_{i}*(w*x_{i}+b)$
显然如果该样本点是负类那么y=-1,$wx+b$也应该是小于零的;如果是正类,上面都是大于零的,从而对于函数距离的定义都是正数。
但是函数距离的一个问题是,大小并不是固定的,假设我们队w和b进行等比例的变化,则函数距离$\hat{\gamma}$也会等比例的变化,但是实质上前后w,b表示的是同一个超平面。如何克服这个问题,于是几何距离应运而生。
2、几何距离
$\gamma_{i} = y_{i}*(\frac{w}{|w|}*x_{i}+\frac{b}{|w|})$
这样的话x的系数就不会有伸缩的可能性,应为它的长度被先定为了1.
3、线性可分SVM的形式化定义——原始形式
按照上面的描述,我们要找一个最小的几何距离,这个几何距离是所有样本点距离当中最小的那个,我们定义为
$\gamma$
相应的函数距离定义为
$\hat{\gamma}$
那么线性可分SVM可以形式化为
$argmax (\gamma)$
$s.t. y_{i}*(\frac{w}{|w|}*x_{i}+\frac{b}{|w|}) \ge \gamma,i=1,2,3,...,N$
我们可能会发现约束条件太复杂了,因为每一个约束都有一个对w的范数,将其简化为如下
$argmax \frac{\hat{\gamma}}{|w|}$
$s.t. y_{i}*(w*x_{i}+b) \ge \hat{\gamma},i=1,2,3,...,N$
在目标函数当中我们发现了函数距离出现了,但是我们知道函数距离具有大小不确定性,我们可以将其定义为1,实际上然后函数距离都可以通过乘以一定的比例系数转化到这个距离来。
又由于$argmax(\frac{1}{|w|})$是和$argmin(\frac{1}{2}|w|^{2})$的平方是等价的,所以上面的模型定义转化为
$argmin \frac{1}{2}|w|^{2}$
$s.t. y_{i}*(w*x_{i}+b) \ge 1,i=1,2,3,...,N$
实际上我们得到了线性可分SVM的原始表示形式
4、线性可分SVM的对偶表示形式
根据拉格朗日对偶性,我们可以构建原始问题的对偶问题,首先构造拉格朗日函数
$L(w,b,\alpha)=\frac{1}{2}|w|^{2}-\sum_{i=1}^{N}\alpha_{i}*(y_{i}*(w*x_{i}+b)-1)$——(1)
根据对偶性,原问题的最小化问题,实际上对应了这里的针对拉格朗日函数的最大最小问题,即
$argmax_{\alpha}argmin_{w,b}L(w,b,\alpha)$
所以对偶问题为
$argmax_{\alpha}argmin_{w,b}L(w,b,\alpha)$
$s.t. \alpha_{i} \ge 0,i=1,2,3,...,N$
(1)首先是极小问题
我们对上面公式(1)进行求偏导,可以得到
$\nabla_{w}=w-\sum_{i=1}^{N}(\alpha_{i}*y_{i}*x_{i})$————(2)
$\nabla_{b}=-\sum_{i=1}^{N}(\alpha_{i}*y_{i})$————(3)
令上面的(1)(2)式为零,我们可以得到
$w=\sum_{i=1}^{N}(\alpha_{i}*y_{i}*x_{i})$————(4)
$\sum_{i=1}^{N}(\alpha_{i}*y_{i})=0$————(5)
我们将(4)(5)两式带入(1)当中,可以得到
$argmin_{w,b}=-\frac{1}{2}|w|^{2}+\sum_{i=1}^{N}\alpha_{i}$
(2)极大问题
由于上面的极小问题已经解决了,所以问题取决于极大问题的解决
$argmax_{\alpha}(-\frac{1}{2}|w|^{2}+\sum_{i=1}^{N}\alpha_{i})$
$s.t. \alpha_{i} \ge 0,i=1,2,3,...,N$
同样转换一下
$argmax_{\alpha}(\frac{1}{2}|w|^{2}-\sum_{i=1}^{N}\alpha_{i})$
$s.t. \alpha_{i} \ge 0,i=1,2,3,...,N$
$\sum_{i=1}^{N}(\alpha_{i}*y_{i})=0$
这就是对偶问题的定义。
对于原始问题要得到超平面的定义,非常简单,但是这里如何定义,因为这里的优化参数是$\alpha$
这里需要使用KKT条件,w上面有定义,对于b需要找一个$\alpha_{i}$不是0的样本点得到
参考
[1] “统计学习方法”,李航
posted on 2020-03-29 17:59 lightblueme 阅读(142) 评论(0) 编辑 收藏 举报