支持向量即用一个超平面去分类,需要样本是线性可分的。求解的超平面应是距离各类样本的距离最大,
超平面的公式:
公式图片截取自西瓜书
任意点到超平面的距离:
对于距离超平面最近的点有:(上式的等号成立)
结合上式获得目标函数:最大化间距和实现分类
为了求解上式,进行化简,使用拉格朗日乘子法得到对偶问题,
偏导代入后得:
上式需满足KKT条件才能满足分类条件(距离大于1)&只取最近的点(对应3式)
对于α的求解使用二次规划算法:
一直化简到二次规划有闭式解。
此处求出α后再代入上式求出W
截距b由支持向量到超平面距离为1的关系式求出。
现实生活中有很多样本集不是线性可分的,但是将样本集升维后就能分开了。
由于映射升维后的求内积的计算困难,于是引入核函数可以在原始空间计算,其结果等于升维后的内积。可以说核函数隐式的定义了一个特征空间。
核函数是对于数据集D,能使核矩阵半正定的对称函数。形如下图:
升维后的特征空间好坏决定了分类效果的好坏,对支持向量机的性能至关重要。因而核函数的选择成为了支持向量机的最大变数。若核函数选择不合适会导致映射的特征空间不合适,分类效果也会不佳。
现实中要实现完全划分开是困难的且有过拟合风险,因而需要给一个“软间隔”允许部分误差出现。
加入正则化系数使求解时样本距离的影响变小。
损失函数的选择:
引入松弛变量后件均大于1变为大于1-ξ,超过一点点的变量也能被成功分类。
结合上式加入拉格朗日算子后得:
上面的第3式表名只选用支持向量用于求解,远处的点不使用。
α<C时μ>0 -->ξ=0 样本恰好在最大间隔边界
若α=C时μ=0 若此时ξ<=1 则样本点落在最大间隔内,若ξ>1则样本被错误分类。
总结支持向量机的一般形式,第一项决定了用来划分的超平面,第二项决定了训练集上的误差。
第一项称为“结构风险”描述模型的性质,第二项为“经验风险”描述模型与训练集的契合度。C用来对二者进行折中。