SVM(一):线性支持向量机

简介: SVM(一):线性支持向量机

1.1 问题定义


(1) 划分超平面


二维样本空间中,划分平面可以表示为: W1X1 +W2X2 + b = 0

在高维样本空间中,划分超平面定义如下:


image.png


其中,w = (W1, W2. . . , Wd )为法向量,决定了超平面的方向;b 为位移,决定了超平面与原点之间的距离。

设空间中任一点x 在超平面的投影为x ′,则


image.png


2020030822110834.png


2) 点到超平面的距离


样本空间中任意点x到超平面的距离为


b3241ea37c154e51903a36022b1809df.png

其中,image.pngw 的L2范数。

(3)支持向量、间隔


假设超平面能将训练样本正确分类,即对于(x i , y i) ∈ D


image.png

由于w 与 b 可任意缩放,令r = 1


image.png


如下图所示,距离超平面最近的训练样本点是得上式等号成立,称为支持向量(Support vector)。


支持向量到超平面的距离之和为image.png,称为间隔(margin)。

20200308233322874.png


(4)最优超平面


能将两类样本划分的超平面有无数多个,具有最大分类间隔的超平面,称为最优超平面

为找到具有最大间隔的划分超平面,需要



aee5ef45120c4fb59cae5761e66e7c9b.png


1.2 对偶问题

目标函数 image.png是凸函数,同时约束条件不等式是仿射的,是一个凸二次规划(convex quadratic programming)问题,可以用优化计算包求解(适用于维度较低的情况)。另一种更高效的办法是,通过拉格朗日函数(对每条约束添加拉格朗日乘子α i≥0)将的优化目标转化为无约束的优化函数


image.png


其中α = ( α 1 , α 2 , . . . , α m )


由于引入了朗格朗日乘子,优化目标变成:

image.png

该优化函数满足满足KTT条件,即


image.png


对于任意训练样本( x i , y i) ,必有α i = 0 或 y i f ( x i ) = 1 。

若 α i= 0,则该样本不会在求和式中出现,也就不会对f ( x )有任何影响;

α i> 0,则必有y if ( x i ) =  1,该样本点在最大间隔边界上,是一个支持向量。


这显示出支持向量基的一个重要性质:最终模型仅与支持向量有关


因此,根据拉格朗日对偶条件,原问题的对偶问题如下:


image.png

极大极小问题:先求优化函数对于w 和b 极小值,再求拉格朗日乘子α 的极大值


L ( w , b , α ) 关于w 和b 极小值可以通过对w 和b分别求偏导得到:


image.png


将w 的值代入L ( w , b , α )


image.png


原问题最终转换为如下形式的对偶问题:


image.png

此时,优化函数仅有α 做为参数,可采用SMO(Sequential Minimal Optimization)求解。


1.3 问题求解


SMO算法则采用了一种启发式的方法,它每次只优化两个变量,将其他的变量都视为常数,将复杂的优化算法转化为一个简单的两变量优化问题.


由于image.png.假如将α 3 , α 4 , . . . , α m 固定,那么α 1 , α 2 之间的关系也确定了。初始化参数后,SMO不断执行以下两个步骤直至收敛:


选取一对需更新的变量α iα j

固定α iα j以外的参数,求解获得更新后的α iα j


解出最优化对应的α的值α *后,可求出

image.png

对于任意支持向量(X s , y s  ) 都有y s f ( X s  ) = 1,即


image.png

S为所有支持向量的集合,即满足α s> 0 对应的样本( X s , y s ),理论上可任意选取支持向量通过上式,求得b


一般采取一种更为鲁棒的方法,即计算出每个支持向量(X s ,y s ) 对应的b s ∗ 对其求平均值得到


image.png

最终得到分类超平面w T x+b = 0 ,分类决策函数为 f ( x ) = s i g n (  w T x+b )

相关文章
|
26天前
|
机器学习/深度学习 算法
深入理解SVM中的核函数及其应用
深入理解SVM中的核函数及其应用
|
26天前
|
机器学习/深度学习 算法
如何在SVM中应用核函数
如何在SVM中应用核函数
|
26天前
|
机器学习/深度学习 算法
介绍一下SVM中的支持向量机
介绍一下SVM中的支持向量机
31 0
|
6月前
|
机器学习/深度学习 数据采集 算法
SVM算法
【6月更文挑战第15天】
72 6
|
机器学习/深度学习 数据采集 算法
支持向量机SVM:从数学原理到实际应用
支持向量机SVM:从数学原理到实际应用
628 0
|
机器学习/深度学习 算法 Python
2022-11-10-支持向量机SVM
2022-11-10-支持向量机SVM
122 0
|
机器学习/深度学习 资源调度 Serverless
核函数:RBF 是如何让线性 SVM 可以分类非线性数据的?
如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使得样本可分。
258 1
核函数:RBF 是如何让线性 SVM 可以分类非线性数据的?
|
机器学习/深度学习
SVM(三):非线性支持向量机
SVM(三):非线性支持向量机
SVM(三):非线性支持向量机
|
机器学习/深度学习
支持向量机(SVM)公式推导
支持向量机(SVM)公式推导
163 0
|
机器学习/深度学习 算法