原理

上面这幅图,存在两类线性可分的数据,在两个数据集之间存在无数个可进行分割的超平面,而SVM的目的是找到几何间隔最大的超平面,且这个超平面是唯一存在的。如上图的超平面WTX + b = 0,就是上图数据集的几何间隔最大超平面。
推导过程
假设给定一个特征空间上的训练数据集T = {(x1,y1),(x2,y2),…(xn,yn)}。
其中xi∈Rn,yi∈{-1,+1}。
设超平面为ωTx + b = 0 ,则yi = ω×xi+ b
yi={+1−1yi>0yi<0
所有样本点到超平面的距离叫做几何间隔γi,令最小的γi = γ。
γi = ∣∣ω∣∣∣ω×xi+b∣ = ∣∣ω∣∣yi(ω×xi+b)
γ = mini=1,2...n{γi} = minxi ∣∣ω∣∣yi(ω×xi+b)
所以可得:
γi = ∣∣ω∣∣yi(w×xi+b) ≥ γ ⇒ ∣∣ω∣∣γyi(w×xi+b) ≥ 1
令ω = ∣∣ω∣∣γω,可得
yi(ω×xi+b ) ≥ 1
根据以上定义可得最初的约束条件:
原始约束={maxω,bγyi(ω×xi+b)≥1
又因为最大化γ,相当于要最大化∣∣ω∣∣1,即最小化21||ω||2。此时约束条件进行下面的改变:
不等式约束={minω,b21∣∣ω∣∣2yi(ω×xi+b)≥1(1)
根据式子(1),通过拉格朗日乘子法可得:
L(w,b,α) = 21||ω||2 - ∑i=0nαi( yi (ω×xi + b ) -1 )
因为要满足KKT条件,所以yi (ω×xi + b ) -1 ≥ 0、αi( yi (ω×xi + b ) -1 ) = 0、其中αi为拉格朗日乘子,且αi ≥ 0.
所以约束条件变为:
对偶问题=⎩⎪⎪⎪⎨⎪⎪⎪⎧minω,bmaxαL(w,b,α)=21∣∣ω∣∣2−∑i=0nαi(yi(ω×xi+b)−1)αi≥0.yi(ω×xi+b)≥0αi(yi(ω×xi+b)−1)=0(2)
因为满足KKT条件的凸二次规划问题,所以满足强对偶关系,即
ω,bminαmaxL(ω,b,α)=αmaxω,bminL(ω,b,α)(3)
下面对L的ω求偏导:
∂ω∂L=ω−i=0∑nαiyixi=0(4)
下面再对L的b求偏导:
∂b∂L=−(i=0∑nαiyi)=0(5)
将公式(4)(5)带入 minω,b L(ω,b,α)可得:
minω,b L(ω,b,α) = 21 ∑i=0n ∑j=0n αiαj yi yj xiTxj + ∑i=0n αi - ∑i=0n ∑j=0n αiαj yi yj xiTxj = -21 ∑i=0n ∑j=0n αiαj yi yj xiTxj + ∑i=0n αi
即:
minω,bL(ω,b,α)=−21i=0∑nj=0∑nαiαjyiyjxiTxj+i=0∑nαi(6)
由式(6)可知:
maxα minω,bL(ω,b,α) = maxα (-21 ∑i=0n ∑j=0n αiαj yi yj xiTxj + ∑i=0n αi )
通过添加负号,可将maxα转为minα,即:
minα P(α) = 21 ∑i=0n ∑j=0n αiαj yi yj xiTxj - ∑i=0n αi
然后通过序列最小优化(SMO)算法可求出使得P最小的α,记为α*。(这里先省略推导过程,以后再写)
由式(4)可得最优解
ω∗=i=0∑nαi∗yixi(7)
∃(xk,yk) ,使得 1 - yk(ωTxk + b) = 0,
则
b∗=yk−ω∗Txk=yk−i=0∑nαi∗yixiTxk(8)
所以,最后的超平面是ω*T x + b* = 0