支持向量机——SVM
优缺点:
(1)非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射; (2)对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心; (3)支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量; (4)SVM 是一种有坚实理论基础的新颖的小样本学习方法。 它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。 从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的“转导推理”, 大大简化了通常的分类和回归等问题; (5)SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目, 而不是样本空间的维数,这在某种意义上避免了“维数灾难”。 (6)少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本, 而且注定了该方法不但算法简单,而且具有较好的“鲁棒”性。 这种“鲁棒”性主要体现在: ①增、删非支持向量样本对模型没有影响; ②支持向量样本集具有一定的鲁棒性; ③有些成功的应用中,SVM 方法对核的选取不敏感 两个不足: (1) SVM算法对大规模训练样本难以实施,由于SVM是借助二次规划来求解支持向量,而求解二次规划将涉及m阶矩阵的计算(m为样本的个数),当m数目很大时该矩阵的存储和计算,将耗费大量的机器内存和运算时间。
支持向量机分类:
(1)线性可分支持向量机。当训练集线性可分的时候,通过硬间隔最大化,学习一个线性的分类器,即线性可分支持向量机。又称为硬间隔支持向量机。
(2)线性近似可分支持向量机。当训练集近似线性可分的时候,通过软间隔最大化,也学习一个线性的分类器,即线性支持向量机。又称为软间隔支持向量机。
(3)非线性支持向量机。当训练集线性不可分的时候,通过核技巧以及软间隔最大化,学习非线性支持向量机。
(1)线性可分支持向量机
给定线性可分训练集,通过硬间隔最大化或者等价的求相应的凸二次规划问题学习得到的分离超平面。
分离超平面为: w.x+b=0.
推导过程:
(转载于支持向量机)一般来说,一个样本点距离分离超平面的远近可以表示分类预测的准确程度。如果分类正确,那么yi(w.xi+b)>0。所以可以用yi(w.xi+b)表示分类的正确性与确信度。这就是函数间隔的概念。
函数间隔:
样本点的函数间隔: Di= yi(w.xi+b)
训练集的函数间隔:定义为最小的函数间隔。
D= min Di= min yi(w.xi+b)
可以用函数间隔表示分类的正确性与确信度,但是选择分离超平面时,只有函数间隔是不够的。比如成比例的改变w和b,超平面没有变,但是函数间隔却变成了原来的2倍。于是引入了几何间隔。
样本点的几何间隔为 Mi= yi(w.xi+b)/||W||.即对W做了一个限制。
训练数据集的几何间隔:定义为最小的几何间隔。
M= min Mi = min yi(w.xi+b)/||W||
支持向量机学习的基本想法是求解能够正确划分训练数据集并且集合间隔最大的分离超平面。对线性可分的训练集而言,线性可分的分离超平面有无数多条,但是几何间隔最大的分离超平面是唯一的。
间隔最大化的直观解释就是:对训练数据集找到集合间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实例点(离超平面最近的的点)也有足够大的确信度将其分开。
即离超平面最近的点是最难分的点,反映了整个分类学习器的性能。
最大间隔分离超平面:
Max M
St:yi(w.xi+b)/||W||>=M i=1,2,….N
即我们希望最大化几何间隔M,约束条件表示每个样本点的集合间隔都至少是M。
考虑到几何间隔和函数间隔的关系,这个问题可以改写成:
Max D/||W||
St yi(w.xi+b)>=D i=1,2,….N
函数间隔D的取值并不会影响最优化问题的解,事实上,将w和b等比例的改变,对目标函数的优化没有任何影响。这样可以去D=1,那么目标函数变成了1/||W||。同时 1/||W||与1/2||W||^2是等价的。
即此时目标函数变成(后面涉及公式,都是在word中弄好了,截图上来):
这是一个凸二次规划问题。
线性可分训练数据集的最大间隔分离超平面是存在且唯一的。
上述原始问题是标准的QP问题,除了QP现成的解法之外,还可以应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解。引入对偶问题的好处:
(1) 对偶问题往往更容易求解
(2) 自然引入核函数,进而推广到非线性分类问题。
首先