支持向量机
线性可分
线性可分:假设特征空间为二维,存在一条直线,可以将两类样本分开,则为线性可分;则非线性可分即为不存在一条直线,将两类样本分开。在三维中,直线变为平面。超过四维时,则直线平面化为超平面。
线性可分的严格定义:一个训练样本集 \(\left\{\left(X_{i}, y_{i}\right), \ldots,\left(X_{N}, y_{N}\right)\right\}\) ,在 \(\mathrm{i}=1 \sim \mathrm{N}\) 线性可分,是指存在\(\left(\omega_{1}, \omega_{2}, b\right)\),使得对\(\mathrm{i}=1 \sim \mathrm{N}\),有
最优分类直线
支持向量:两条平行线所插到的样本称为支持向量。
间隔:两条平行线之间的距离称为间隔。
在线性可分的情况下,支持向量机寻找的最优分类直线应该满足:
- 该直线分开了两类;
- 该直线最大化间隔;
- 该直线处于间隔的中间,到所有支持向量的距离相等。
最优分类超平面
SVM的任务就是找到一个超平面,使之能够分开两类样本,同时使得两类样本的支持向量距离超平面最远且相等。超平面方程如下:
在n维空间中,点 \(x=(x_1,x_2,...,x_n)\) 到直线 \(\omega^{T} x+b=0\) 的距离公式为:
假设超平面到支持向量的距离为d,于是有如下公式:
当 \(x\) 为支持向量时取等号,当 \(x\) 为非支持向量时,距离大于d。
将上述公式稍作变化,方程两边同时乘 \(\|\omega\|\) ,令 \(\|\omega\|d\) 为1(方便推导,且对目标函数优化无影响,且其值为常数,等比例变化常数,超平面不发生变化),并将两个方程合并,得到如下公式:
由于前面令 \(\|\omega\|d = 1\) ,则支持向量到超平面的距离为
由此可见,最大化支持向量到超平面的距离,等价于最小化 \({\|\omega\|}\),为方便后续的求导计算,可将优化问题定义为
其中\(\left(X_{i}, y_{i}\right),\mathrm{i}=1 \sim \mathrm{N}\)是已知的,\(\omega\)和b是未知的
由此可见,此类问题为凸优化问题中的二次规划问题。
二次规划问题定义:
- 目标函数是二次项
- 限制条件是一次项
此类凸优化问题,要么无解,要么只有唯一的最小值。(凸优化问题可以当做一个已经解决的问题,可直接用梯度下降求解最小值)