目录
一、理论
svm的目的是找到一个最优的划分超平面或者决策边界,从而实现对数据的有效分割或者拟合。
超平面:
在二维情况下,上图的线就是超平面,而若特征有3维,则超平面就是一个平面,而高维情况很多,就统一叫作超平面。
所以当有了一个数据集后,主要的问题就是如何找出这个最优的超平面。
概念:
线性可分:
现在先假设一个数据集是线性可分的。
因为超平面都可以用一个线性方程表示,其中:w是超平面的法向量。x是数据点的特征向量。b是偏置。
有了这个概念,线性可分就可以定义为:
当标签为正类(y=1)时,,
当标签为负类(y=-1)时,。
将这两个式子合起来,简写为:,使得式子统一。
支持向量:
由数学知识得到,假设一个平面为Ax+By+Cz+D=0, 那么将这个平面乘以一个数后,平面还是同一个平面,所以可以通过控制乘的这个数,使得,化简一下变为:
。
通过这样的缩放变换,当一个样本点使得,这个样本点就是距离这个超平面最近的点,我们把这些点称作支持向量。
虚线上的点就是支持向量
间隔:
在样本空间中,任意点到超平面的距离为:
例如在三位空间中,点到平面距离公式为:
在支持向量中,这项是为1的,所以两个虚线之间的距离为:
,这一项被称之为间隔
目标:
有了以上概念,我们的目标是:
希望最大化间隔,并且超平面满足约束条件
而最大化间隔,可以等价为最小化