以及相应的决策函数:
将不同类别的样本分开,使超平面正样本一侧所有的点满足f(x)=wTx+b≥1, 负样本一侧所有的点满足f(x)=wTx+b≤−1,最终任何一侧的点都满足yi(wTxi+b)≥1。其中,距离超平面最近的点称为支持向量, 超平面是仅由支持向量确定的。
Q1:为什么根据间隔最大原则找划分超平面?
A1:分割线由极少数的几个点(支持向量)决定;
距离分割线越远,则分类的准确性越高;
给模糊的点留下了最大的空间,容错率更高。
2、函数间隔和几何间隔
1)函数间隔
a.定义超平面(w,b)关于样本点(xi,yi)的函数间隔为:
b.定义超平面(w,b)关于训练集的函数间隔为超平面关于训练集中所有样本点的函数间隔的最小值:
2)几何间隔
a.定义超平面(w,b)关于样本点(xi,yi)的几何间隔为:
b. 定义超平面(w,b)关于训练集的几何间隔为超平面关于训练集中所有样本点的几何间隔的最小值:
3)函数间隔和几何间隔的关系
Q2:为什么选择几何间隔而不选择函数间隔作为优化对象?
A2: 若选取函数间隔作为最优化目标,则当超平面固定后,我们可以等比例地缩放w和
3、问题形式化
求一个几何间隔最大的分离超平面可以表示为如下的约束最优化问题:
由于函数间隔γ−的大小并不影响最优化问题的解。所以取γ−=1代入上面的最优化问题得到:
这是一个凸二次优化问题——目标函数是二次的,约束条件是线性的。
4、原始问题和对偶问题
1)原始问题
输入:线性可分训练数据集T={(x1,y1),(x2,y2),⋯,(xN,yN)},其中,xi∈X=Rn,yi∈Y={−1,+1},i=1,2,⋯,N;
输出:最大间隔分离超平面和分类决策函数
a.构造并求解原始问题:
求得最优解w∗,b∗。
b.求得分离超平面:
以及分类决策函数:
2)对偶问题
应用拉格朗日的对偶性,通过求解对偶问题得到原始问题的最优解。
输入:线性可分训练数据集T={(x1,y1),(x2,y2),⋯,(xN,yN)},其中,xi∈X=Rn,yi∈Y={−1,+1},i=1,2,⋯,N;
输出:最大间隔分离超平面和分类决策函数
a.构造并求解对偶问题:
求得对偶问题的最优解α∗=(α1∗,α2∗,⋯,αN∗)T。其中,(xiT⋅xj)表示两个向量的内积。
b.由对偶问题的最优解计算原始问题的最优解:
c.求得分离超平面:
以及分类决策函数:
Q3:如何由原始问题推导成对偶问题?
A3:推导过程如下:
Step1:引入拉格朗日乘子[\alpha ]到目标函数中:
并令:
要想最大化L(w,b,α),yi(wTxi+b)−1的正负很关键,若yi(wTxi+b)−1<0,则令αi=∞时,θ(w)=∞,没有意义。因此每个点都应满足yi(wTxi+b)−1≥0,其中支持向量满足yi(wTxi+b)−1=0,αi>0;非支持向量满足yi(wTxi+b)−1>0,αi=0。也验证了分离超平面仅由支持向量决定的概念。
Step2:当所有点都满足条件时,有:
所以,优化问题变为:
Step3:求最小的最大值问题转换成求最大的最小值问题:
而通常,在满足KKT条件时,有p∗=d∗。这里的问题是满足KKT条件的,因此直接对max(αi≥0)min(w,b)L(w,b,α)求解。
Step4:先固定α,求L(w,b,α)关于(w,b)最小化,即分别令∂L∂w和∂L∂b等于0:
将上式代入L(w,b,α)中得:
于是,优化问题变为:
求出最优解α∗=(α1∗,α2∗,⋯,αN∗)T后,进一步得到:
分离超平面为: ∑i=1Nαi∗yi(xiT⋅xj)+b∗=0
分类决策函数为: f(x)=sign(∑i=1Nαi∗yi(xiT⋅xj)+b∗)
对于新点(xj,yj)的预测,只需要计算它与训练数据点的内积即可。事实上,所有非支持向量所对应的系数αi∗都是等于零的,因此对于新点的内积计算实际上只要针对少量的“支持向量”而不是所有的训练数据。
参考博客:
[支持向量机简介](http://blog.pluskid.org/?p=632)
[介绍支持向量机目标函数的 dual 优化推导,并得出“支持向量”的概念](http://blog.pluskid.org/?p=682)
[Kernel —— 介绍核方法,并由此将支持向量机推广到非线性的情况](http://blog.pluskid.org/?p=685)
[Outliers —— 介绍支持向量机使用松弛变量处理 outliers 方法](http://blog.pluskid.org/?p=692)
[Numerical Optimization —— 简要介绍求解求解 SVM 的数值优化算法](http://blog.pluskid.org/?p=696)