ML--支持向量机

ML——支持向量机

       支持向量机(SVM)是一种二类分类模型,其基本模型是定义在特征空间上的间隔最大的线性分类器,利用间隔最大化的学习策略,SVM可形式化为一个求解凸二次规划的问题。SVM学习方法包含由简至繁的模型:

ML--支持向量机_第1张图片

间隔与支持向量

分类学习最基本的思想就是基于训练集D在样本空间中找到一个划分超平面,即,其中w为法向量,决定了超平面的方向,b为位移项,决定了超平面与原点之间的距离。样本空间中任意点到超平面的距离为:

                                            

能将训练样本划分开的超平面可能有多个,选择位于两类训练样本正中间的划分超平面,因为这个超平面的分类结果最鲁棒,对未见示例的泛化能力最强。

若超平面能将训练样本分类正确,即对于,有硬间隔

                                   

如下图所示,距离超平面最近的这几个训练点使上式等号成立,它们被称为“支持向量”,两个异类支持向量到超平面的距离之和,即间隔为:

                                                

ML--支持向量机_第2张图片

欲找到具有“最大间隔”的划分超平面,就是要在w和b的约束下使最大,而最大化,等价于最小化,于是得到了SVM的基本型

对偶问题

SVM基本型是一个凸二次规划问题,可使用拉格朗日乘子法求解其对偶优化问题,Lagrange函数为:

令Lagrange函数对w和b的偏导分别为0,再考虑约束得到SVM基本型的对偶问题为:

ML--支持向量机_第3张图片

解,求出w、b,得到模型:

                         

上述过程应满足KKT条件,即

训练完后,大部分的训练样本无需保留,最终模型仅与支持向量有关。二次规划算法求解对偶问题的规模正比于训练样本数,实际任务中会增大开销,因此提出SMO算法

SMO算法

步骤:1)选取一对需要更新的变量αi和αj;2)固定αi和αj以外的参数,求解对偶问题获得更新后的αi和αj。不断执行1)和2)直至收敛。

只要选取的αi和αj有一个不满足KKT条件,目标函数就会在迭代后减小。KKT条件违背程度越大,变量更新后可能导致的目标函数值减幅越大。且考虑到模型复杂度,SMO采用启发式:使选取两变量对应样本之间的间隔最大,因为变量差别越大,对其进行更新会带给目标函数值更大的变化。

核函数

当原始数据线性不可分时,SVM会选择一个核函数,将训练数据映射到高维空间,使样本在这个特征空间线性可分。若原始空间是有限维时,一定有一个高维特征空间使样本线性可分。

ML--支持向量机_第4张图片

令为将x映射后的特征向量,此时超平面为,对偶问题为:

ML--支持向量机_第5张图片

由于所处特征空间维数很高,直接计算内积非常困难,引入核函数,即xi与xj在特征空间内积等于其在原始空间通过计算的结果。此时问题变为:

ML--支持向量机_第6张图片

是核函数当且仅当对任意数据,“核矩阵(对称阵)”K总是半正定的。

常用核函数:

ML--支持向量机_第7张图片

核函数的选择

ML--支持向量机_第8张图片

软间隔与正则化

现实任务很难让训练数据完全线性可分,即便找见合适的核函数满足线性可分,也很难断定是不是过拟合造成的。因此,引入软间隔,允许SVM在一些样本上出错。

ML--支持向量机_第9张图片

相较于所有样本都要划分正确的硬间隔,软间隔允许某些样本不满足约束。

在最大化间隔函数同时不满足约束条件的样本应尽可能少,优化目标为:

其中C为常数,为0/1损失函数,,但其非凸、非连续、数学性质不太好,常用一些函数将其替代称为“替代损失”,如下图:

ML--支持向量机_第10张图片

采用hinge损失并引入松弛变量,可得到“软间隔SVM”:

ML--支持向量机_第11张图片

类似于硬间隔SVM,也可以用Lagrange乘子法对软间隔SVM求解。

支持向量回归(SVR)

传统回归模型基于模型输出和真实输出间的差别计算损失,当二者完全相同时损失为0。而SVR假设能容忍这二者之间最多有的偏差。

ML--支持向量机_第12张图片

于是SVR问题可形式化为:

                    

其中C为正则化参数,为-不敏感损失函数:

                   

引入松弛变量和,目标函数为:

ML--支持向量机_第13张图片

Lagrange乘子法得到SVR的解为:对于b,实践中通常选取多个(或所有)满足条件的样本求解b后取平均值。考虑特征映射,带入SVR得:

周志华《机器学习》

李航《统计学习方法》

https://blog.csdn.net/c406495762/article/details/78072313

https://blog.csdn.net/v_july_v/article/details/7624837

https://blog.csdn.net/Julialove102123/article/details/79822991

你可能感兴趣的:(ML--支持向量机)