支持向量机/SVM(Support Vector Machine)
SVM,曾经是最为流行的机器学习算法,可以使用于分类问题、回归问题及异常点检测问题。不仅如此,SVM的算法动机可以通过计算学习理论或者者统计学习理论进行了解,使其有充分的理论保障。
算法释义
对于二分类问题,相似于感知机,SVM 算法要寻觅特征空间中的一个超平面将正反样本分开,但是SVM需要寻觅一个唯一的超平面使得离该平面最近的点的距离最大,也就是说 SVM 的解相当于感知机的解空间中泛化误差最小解。
重要概念
这里首先以硬间隔的二分类 SVM 详情,而后将其推广到软间隔分类、多分类和回归 SVM 。
函数间隔和几何间隔
函数间隔就是特征空间中点到超平面的距离,即:
我们知道对于同一个超平面,可能有不同的表示,因而即便对于同一个超平面,不同的 w 的取值也会造成不同的函数间隔的值,所以我们需要用一个更能反映真是距离的变量,这里我们引入几何间隔的概念:
通过使函数间隔除以 w 向量的二范数,几何间隔只和超平面和特征空间中的点有关,和超平面的表示方式无关。
SVM 基本形式
首先确定假设空间,即线性二元分类器:
使用 marginmin 表示训练样本中离超平面最小的几何间隔,要使最小的几何间隔最大,相当于求下列函数:
因为最小化问题与 ||w|| 的取值无关,可以将上式中的 ||w|| 提出:
内层的最小化问题就变成了最小化函数间隔,这里固定最小化之后的函数间隔为 1,从而原问题变为:
按照通常习惯,把最大化问题改为最小化问题,为了便于求解,把二范数改为向量內积,最终得到 SVM 模型的基本形式,即:
SVM 对偶形式
利使用拉格朗日乘子,把带条件的最优化问题,转变为不带条件的最优化问题,而后根据拉格朗日对偶性,得到极小极大问题的对偶形式,即极大极小问题(要使两个问题的解相等,那么要使解满足 KTT 条件):
对于内层的极小问题,令其对 w 和 b 的导数分别等于零,从而求得内层极小问题的解:
KTT 条件
对于束缚最优化问题,其一般形式是:
加上拉格朗日乘子变成无束缚的最优化问题:
上述极小极大问题的解要和极大极小问题的解一样,需要满足 KTT 条件:
在 SVM 中 KTT 条件即:
SVM 学习算法
(1) 构造求解束缚最优化问题:
(2) 通过 α 的解求出 w, b 的解:
(3) 求得分类决策函数:
核函数
对于线性可分的问题,我们可以直接用原始的 SVM 进行分类,但是很多时候训练集数据是线性不可分的,这个时候我可以考虑用特征转换,把输入特征空间通过映射函数 Φ 映射到另一个特征空间:
然而很多时候寻觅一个合适的映射函数 Φ 是很困难的,而且寻觅到 Φ 之后还需要先做特征转换,再求转换后的特征的内积,那有没有更简单的办法呢?首先定义核函数:
我们能不能在只有核函数 κ 不知道映射函数 Φ 的情况下,求 SVM 呢?注意看我们求解特征转换后的 SVM 的形式:
而且解出来的分类决策函数:
不难发现,上述过程中映射函数 Φ 仿佛消失了,那是不是说明我们只要要定义一个核函数,即可以解 SVM 了呢?其实不然,由于我们还要保证这样的核函数是能够映射的,换句话说,必需要存在某种映射关系使得该核函数存在。而这种保证的充要条件就是核函数必需为正定核,这里就不开展了。
常见的核函数有
(1) 多项式核函数( p 次多项式核):
(2) 高斯核函数:
SVM 推广
软间隔的 SVM
有时候训练集数据近似线性可分但是不是线性可分的,也有的时候由于噪点的存在,使得 SVM 的结果存在过拟合,这个时候即可以用软间隔的 SVM,所谓软间隔,就是在原始 SVM 的假设上稍稍放宽其限制条件,让某些点的函数间隔可以小于1,即在束缚条件上加一个松弛变量:
这里 ξn ≥ 0,而后对于每一个松弛变量,支付一个代价 ξn,故将目标函数变为:
从而,软间隔的 SVM 有如下基本形式:
将其转换为拉格朗日对偶问题,有:
在软间隔 SVM 中 KTT 条件为:
多分类 SVM
One versus the rest (一对剩余)
假如有 K 个类别,那么训练 K 个二分类 SVM 分类器,而后综合这 K 个训练器的预测结果给出预测
One versus one (一对一)
假如有 K 个类别,那么每两个类的样本和到一块训练 1 个二分类 SVM 分类器,一共 K (K – 1) / 2个分类器,而后综合这些训练器的预测结果给出预测
回归 SVM
pass
参考文献
《Pattern Recognition and Machine Learning》,Bishop
上一篇 目录 下一篇
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 支持向量机/SVM(Support Vector Machine)