SVM入门
SVM是支持向量机,那么
什么是支持向量?
样本中距离超平面最近的一些点,这些点叫做支持向量。
支持向量机的推导
SVM 想要的就是找到各类样本点到超平面的距离最远,也就是找到最大间隔超平面。任意超平面可以用下面这个线性方程来描述:
二维空间点 (x,y) 到直线 的距离公式是:
扩展到 n 维空间后,点 到直线 的距离为:
其中
。如图所示,根据支持向量的定义我们知道,支持向量到超平面的距离为 d,其他点到超平面的距离大于 d。
于是我们有这样的一个公式:
稍作转化可以得到:
||w||d 是正数,我们暂且令它为 1(之所以令它等于 1,是为了方便推导和优化,且这样做对目标函数的优化没有影响),故:
将两个方程合并,我们可以简写为:
至此我们就可以得到最大间隔超平面的上下两个超平面:
每个支持向量到超平面的距离可以写为:
由上述y(w 可以得到 ,所以我们得到:
最大化这个距离:
这里乘上 2 倍也是为了后面推导,对目标函数没有影响。刚刚我们得到支持向量 ,所以我们得到:
再做一个转换:
为了方便计算(去除||w|| 的根号),我们有:
所以得到的最优化问题是: