形象图解

上图引用自这篇博客
1.图中的那条实线就是分类线,在如果数据是高维的,那通过直线来分类是不行的,应该是用一个面(曲面,平面)来分,那这个面被成为是超平面
2.这条线的方程为:w⋅x+b=0,与它平行的两条虚线就是最大间隔分界线
3.定义所有数据为:D={(x1,y1),(x2,y2),...,(xN,yN)}(注意一下x是向量
哦),一共有N个数据点,其中,xi∈Rn,yi∈{+1,−1},i=1,2,...N,对于二分类问题,SVM所要定义的类别标签是1
(正例)和-1
(反例)
4.我们假设数据D是线性可分的,然后定义线性分类线为w⋅x+b=0,那么每个样本点(xi,yi)到分类线的距离为:
γi=yi(∥w∥w⋅xi+∥w∥b)
为什么是这个公式呢?看看初中知识吧:

那为什么会在前面乘上一个yi呢?看看上面的d是绝对值的,也就是说γi是利用了分类标签为+1
和-1
,去掉了绝对值号
5.然后,计算一下所有样本点到分类线的距离最小值:
γ=i=1,2...,Nminγi
这个距离γ就是支持向量
到分类线的距离
6.到这里,我们可以把SVM看成是求解带有约束项的优化问题:
w,bmax γ
s.t. yi(∥w∥w⋅xi+∥w∥b)≥γ ,i=1,2,...,N
化简一下上面的约束条件为:
yi(∥w∥γw⋅xi+∥w∥γb)≥1
其中,∥w∥,γ均为标量,所以可以令:
w=∥w∥γw
b=∥w∥γb
因此上述约束可以化简为:
yi(w⋅xi+b)≥1, i=1,2,...,N
又因为最优问题为最大化
γ,所以等价于最大化∥w∥1,也就等价于最小化 21∥w∥2
7.那么优化目标又可以简化为:
w,bmin 21∥w∥2
s.t. yi(w⋅xi+b)≥1, i=1,2,...,N
这是一个含有不等式约束
的凸二次规划问题,可以对其使用拉格朗日乘子法得到其对偶问题(这个高数学过),由于约束条件有N个,所以下面要减掉N个不等式条件
L(w,b,α)=21∥w∥2−∑i=1Nαi(yi(w⋅xi+b)−1)
其中, αi≥0为拉格朗日乘子,然后令θ(w)=αi≥0max L(w,b,α)
具体可以展开成:
θ(w)={21∥w∥2 ,x∈可行区域+∞ ,x∈不可行区域
8.因此优化问题转换为:
w,bmin θ(w)=w,bminαi≥0max L(w,b,α)=p∗
利用对偶特性,转换为
αi≥0maxw,bmin L(w,b,α)=d∗
如果要让p∗=d∗,需要满足一下条件:
① 优化问题是凸优化问题
(满足,因为21∥w∥2)
② 满足KKT
(Karush-Kuhn-Tucker)条件,需要满足一下三个条件:
αi≥0yi(wi⋅xi+b)−1≥0αi(yi(wi⋅xi+b)−1)=0
8.为了得到求解对偶问题的具体形式,令 对和 的偏导为0,这样就可以去求解最优的w了,可得:
w=∑i=1Nαiyixi
∑i=1Nαiyi=0
可以明显看出
,只要求出了最优的αi就可以找到最优的w了
代入到拉格朗日等式L(w,b,α)=21∥w∥2−∑i=1Nαi(yi(w⋅xi+b)−1)中,消去w和b,得到:
L(w,b,α)=21∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαiyi((∑j=1Nαjyjxj)⋅xi+b)+∑i=1Nαi
=−21∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi
也就是:
w,bmin L(w,b,α)=−21∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi
因此,优化问题变为:
αmax −21∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi
s.t. ∑i=1Nαiyi=0
αi≥0, i=1,2,...,N
等效为:
αmin 21∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi
9.在 α∗中,至少存在一个 αj∗>0(反证法可以证明,若全为0,则w=0,矛盾,因为无法构造出分类线了),对此j有:
yj(w∗⋅xj+b∗)−1=0
于是可以得到:
w∗=∑i=1Nαi∗yixi
b∗=yj−∑i=1Nαi∗yi(xi⋅xj)
10.到此,SVM的数学推导就完成了,总结一下,对于任意(xi,yi) ,总有αi=0或者yj(w⋅xj+b)=1。若αi=0,则该样本不会在最后求解模型参数的式子中出现。若 αi>0,则必有yj(w⋅xj+b)=1 ,所对应的样本点位于最大间隔边界上,是一个支持向量。这显示出支持向量机的一个重要性质:训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关