一.概述
原理:支持向量机(Support Vector Machine, SVM)的基本模型是在特征空间上找到最佳的分离超平面使得训练集上正负样本间隔最大。 SVM是用来解决二分类问题的有监督学习算法,在引入了核方法之后SVM也可以用来解决非线性问题。支持向量机是一种监督式学习的方法,可广泛地应用于统计分类以及回归分析。它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。这族分类器的特点是他们能够同时最小化经验误差与最大化几何边缘区,因此支持向量机也被称为最大边缘区分类器。
注意:
SVM并不是不适合大规模数据,而应该说,SVM在小样本训练集上能够得到比其它算法好很多的结果。支持向量机之所以成为目前最常用,效果最好的分类器之一,在于其优秀的泛化能力,这是是因为其本身的优化目标是结构化风险最小,而不是经验风险最小,因此,通过margin的概念,得到对数据分布的结构化描述,因此减低了对数据规模和数据分布的要求。支持向量:是指那些在间隔区边缘的训练样本点;ɑ=0,则点为非边界点,反之则为边界点,即真正发挥作用的数据点,ɑ值不为0的点
二.决策方程
决策边界:越胖越好
决策方程:
========
三.目标
优化的目标:找到一个条线(w和b),使得离该线最近的点(雷区)能够最远
点到直线距离化简:
(由于
所以将绝对值展开原始依旧成立)
放缩变换:
优化目标:
(由于
,只需要考虑
)
四.目标函数求解
目标:
约束条件
常规套路:将求解极大值问题转换成极小值问题
求解:应用拉格朗日乘子法求解
五.拉格朗日乘子法(求极值)
带约束的优化问题:
原始转换:
式子:
(约束条件
)
求导:分别对w和b求偏导,分别得到两个条件(由于对偶性质)
->
对w和b求偏导:
带入原始:
其中
继续对ɑ求极大值:
(条件
)
极大值转换成求极小值:
(条件
)
六.SVM求解实例
3个点,其中正例X1(3,3) ,X2(4,3) ,负例X3(1,1),求解最佳超平面,即支持向量机的方程。
求解:
约束条件:
计算过程中条件:分别对ɑ1和ɑ2求偏导,偏导等于0;或令ɑ1和ɑ2为0
平面方程:
0.5x1+0.5x2-2=0
七.软间隔(soft-margin)
有时候数据中有一些噪音点,之前的方法要求要把两类点完全分得开,这个要求有点过于严格了,我们来放松一点!为了解决该问题,引入松弛因子
松弛因子:
新目标函数:
(当C趋近于很大时:意味着分类严格不能有错误;当C趋近于很小时:意味着可以有更大的错误容忍。C是我们需要指定的一个参数)
拉格朗日乘子法:

八.低维不可分问题
核变换:既然低维的时候不可分,那就给它映射到高维
目标:找到一种变换的方法,也就是
高斯核函数:
线性核函数:
高斯核函数: