赞
踩
给定训练样本集
直观上,应该找位于训练样本“正中间”的一条,如上图粗线所示,因为该划分超平面对训练样本局部扰动的“容忍”性最好,即划分超平面所产生的分类结果是最鲁棒的,对未见示例的泛化能力最强。
在样本空间中,划分超平面可通过的线性方程:
假设超平面
这里将样本与划分线之间的最小间隔定为1。
这里为什么将间距定为1呢?因为便于计算,原始间隔为未知数
距离超平面最近的这几个训练样本点使得上式成立,它们被称为“支持向量”。两个异类支持向量到超平面的距离之和为:
想找到具有“最大间隔”(maximum margin)的划分超平面,也就是要找到能满足上式中约束的参数
那么我们知道支持向量机的基本型之后,该如何求解得到最优的
令
求解出
从对偶的问题可以解出
对任意训练样本
这展现了支持向量机一个重要的性质:大部分训练样本在训练完成后不需要保留,最终模型仅仅与支持向量有关。
基本思想:固定
注意到只需选取的
SMO算法之所以高效,恰恰由于在固定其他参数后,仅优化两个参数的过程能做到非常高效,具体来说,仅考虑
注意到对于任意支持向量
前面所描述的都是基于在平面上训练样本是线性可分的,那么如果训练数据在该平面上不可分怎么办?
可以将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分,如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分。
令
其对偶问题:
求解上式需要计算
即
原式可写为:
求解后得到:
常用核函数
我们一直假定训练样本在样本空间或特征空间中是线性可分的,即存在一个超平面能将不同类的样本完全划分开,在现实任务中往往很难确定合适的核函数使得训练样本在特征空间中线性可分,即便恰好找到了某个核函数使训练集在特征空间中线性可分,也很难断定这个貌似线性可分的结果不是由于过拟合造成的。
缓解支持向量机过拟合问题的一个办法是:允许支持向量机在一些样本上出错。引入软间隔:
前面所述的,即所有样本都必须划分正确,称为“硬间隔”。软间隔允许某些样本不满足约束:
在最大化间隔的同时,不满足约束的样本应尽可能的少,于是,优化目标可以写为:
当
在最小化上式优化目标时,
但是
若采用hinge损失,则变成:
引入松弛变量
每个样本对应一个松弛变量,用以表征该样本不满足约束的程度,通过拉格朗日乘子法:
令
类似,对软间隔支持向量机,KKT要求:
对于任意样本
软间隔支持向量机的最终模型仅与支持向量有关,即通过hinge损失函数仍保持稀疏性。
优点:
缺点:
在回归问题中,最常用的误差函数为最小平方和误差函数,那么带有正则化的最小平方和误差函数的形式如下:
我们将二次误差函数替换成
最小化正则化误差函数:
引入松弛变量,注意,在回归问题中,每个数据点
对于
重新更新SVR的误差函数:
为了最小化误差函数,引入拉格朗日乘子法,对式子进行有约束的优化:
通过对拉格朗日函数关于
代入原式中,可以得到新的式子:
这里引入了核函数,
我们可以得到相应的KKT条件:
从KKT条件可以看出来,系数
注意到上面关于
公式(1)中的b的值很好求,因为在KKT条件中,
另一种用于回归的SVM方法,不固定不敏感区域
可以证明至多有
参考书籍:
《机器学习》—周志华
《Pattern Recognition And Machine Learning》——Christopher M. Bishop
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。