[关闭]
@zakexu 2021-01-18T17:04:38.000000Z 字数 2889 阅读 944

SVM模型

机器学习&深度学习


首发时间:2020.7.19
作者:zakexu(个人主页


目录


一、简介

1、支持向量机,因其英文名为Support Vector Machine,故一般简称SVM。通俗来讲,它是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。

二、模型

1、SVM模型可以表示为:


其中:

可以看出,分类的超平面为,而当时,表示正样本;当时,表示负样本。

三、策略

1、SVM模型的策略是使间隔最大,函数间隔可以表示为:

几何间隔可以表示:

2、SVM模型的优化策略可以表示如下:

根据函数间隔与几何间隔之间的关系,上述优化策略可以表示如下:


由于函数间隔的大小随着w与b的同比例变化而变化,可暂定(函数间隔为1的样本点称为支持向量),那么上述可以表示:

:用hinge loss的形式表示就是:


可以有几层的理解:(1)函数间隔越接近1越好,也就是当时,,当时,。(2)当函数间隔大于1时,不影响优化目标,体现了支持向量的定义。(3)在优化loss的同时,加入正则项。

3、SVM的学习策略是具有线性约束的二次型目标函数,属于凸优化问题;为优化该学习策略,可以采用已经比较成熟的相关方法论;不过在实际应用中,为了引入核技巧使SVM扩展到高维非线性空间中,常使用拉格朗日对偶的思想来转换策略。
定义拉格朗日函数如下:

根据KKT条件可得:

由此可得:

代入拉格朗日函数可得:

那么对偶问题就可以表示为:

通过SMO算法可求得,那么即可得到该问题的最优解

4、上述的算法更适合于数据集完全线性可分的情况,但若存在部分不可分的样本点,则可以引入松弛变量:

基于拉格朗日可以得到对偶问题如下:

5、对于非线性数据集,可以在线性支持向量机中引入核技巧,用来解决非线性可分数据的分类问题。

其中的核函数可以定义如下:

常见的核函数有:

(1)高斯核函数:

(2)多项式核函数:

:拉格朗日对偶算法

1、基于拉格朗日对偶性可以将原始问题转化为对偶问题,通过解对偶问题而得到原始问题的解。

2、原始问题一般表示如下:


其中:
(1)函数与函数是多元连续可导函数,函数是仿射函数。
(2)若是二次函数且与是仿射函数,则为凸二次规划问题。

3、定义拉格朗日函数如下:

基于拉格朗日函数,原始问题可以表示为:

对偶问题可以表示为:

原始解跟对偶解的关系如下:

函数与函数为凸函数且函数是仿射函数时,等号成立。

4、拉格朗日函数的KKT条件:

通过KKT条件可以获得之间的转换关系。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注