支持向量机
支持向量机(Support vector machines, SVM)是一种二分类模型。基础模型是定义在特征空间上的最大间隔分类器。支持向量机的目标就是最大化间隔。

线性可分
能做一个超平面分开训练数据
支持向量机的分类
根据训练数据是否线性可分,支持向量机可以分成:
- 训练数据线性可分:线性支持向量机
- 训练数据近似线性可分:软间隔支持向量机
- 训练数据线性不可分:非线性支持向量机(核技巧、软间隔)
线性可分:线性支持向量机的推导
设超平面是Wx+b=0,且到两边的支持向量(离超平面最近的向量)的距离相等。设d为支持向量到超平面的距离,我们的目标是使得d最大化。可以得到优化目标
minw s.t. 12||w||2yi(wxi+b)−1≥0,i=1,2,...,N(112)
现在我们解释下如何得到上面这个优化形式。
我们首先是要把d表示出来。首先我们用点到直线的距离公式表示出d
d=||wxi+b||||w||(113)
因为xi是支持向量,设||wxi+b||=c,c是一个常数,我们缩放w和b,使得
||wxi+b||=1(114)
因此,d=1||w||,所以最大化d等价于最小化||w||2.
- 最大间隔超平面存在且唯一
- 由前述分析可知,若xi是支持向量,则有||wxi+b||=1,即:不等式约束取等号。
-
间隔(magin)是指2||w||,即分类面两边的支持向量到分类面的距离之和。
- 决定超平面的是支持向量,其他实例点不起作用。支持向量的数目一般较少。
求解
minw s.t. 12||w||2yi(wxi+b)−1≥0,i=1,2,...,N(2130)
化为标准形式是:
minw s.t. 12||w||21−yi(wxi+b)≤0,i=1,2,...,N(2131)
此问题是一个凸的二次规划问题,这是因为目标函数是二次的,且不等式约束是仿射函数。
为了求解这个问题,我们首先要把不等式约束去掉,把这个问题转化为一个无约束的优化问题,方法是拉格朗日乘子法:其思想是考虑约束条件,添加约束条件的加权和,定义拉格朗日函数:
L(w,b,α)=12||w||2+∑i=1Nαi(1−yi(wxi+b))αi≥0,i=1,2,...,N(2132)
其中,α=(α1,α2,...,αN)T为拉格朗日乘子向量。
分析上式,因为在标准形式里,不等式约束是小于等于0的,而拉格朗日乘子又是大于等于0的,所以拉格朗日函数总是小于等于原函数。
(1)求拉格朗日对偶函数:
g(α)=minw,b L(w,b,α)(2133)
将拉格朗日函数对w和b分别求偏导数,并令其等于0,得:
∂L∂w∂L∂b=w−∑i=1Nαiyixi=0=∑i=1Nαiyi=0(2134)
代入拉格朗日函数并化简得:
minw,b L(w,b,α)=−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi(2135)
于是得到对偶问题:
maxα s.t. −12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi∑i=1Nαiyi=0αi≥0,i=1,2,...,N(2136)
求得对偶问题的解为:α∗=(α∗1,α∗2,...,α∗N)T
从对偶问题的解到原问题的解
对偶问题
引用
http://blog.csdn.net/qq_32611933/article/details/52261708