目标:SVM模型是为求得使几何间隔最大的超平面:y=w⋅x+b y = w · x + b
yi(wxi+b)||w||=γi y i ( w x i + b ) | | w | | = γ i
其中
γ
γ
是几何间隔,ww 是超平面法向量,
b
b
是超平面截距,yiyi 是样本
i
i
考虑到几何问题与函数问题的关系:
Maxw,bS.t. γ=γ^||w|| yi(wxi+b)||w||⩾γ i=1,2,3...N(1)(2)(1)Maxw,b γ=γ^||w||(2)S.t. yi(wxi+b)||w||⩾γ i=1,2,3...N
因为:γ^
γ
^
的取值不会影响上述不等式的成立,所以不妨取其为1。
注意到,Max:1||w||⇔Min:12||w||2(对w,b参数)
M
a
x
:
1
|
|
w
|
|
⇔
M
i
n
:
1
2
|
|
w
|
|
2
(
对
w
,
b
参
数
)
等价,于是:
问题变为:
Minw,bS.t. 12||w||2 yi(wxi+b)−1⩾0 i=1,2,3….,N(3)(4) (3) M i n w , b 1 2 | | w | | 2 (4) S . t . y i ( w x i + b ) − 1 ⩾ 0 i = 1 , 2 , 3 … . , N
构建拉格朗日函数其中,α=(α1,α2,α3,....αi,)T i=1,2,3...N α = ( α 1 , α 2 , α 3 , . . . . α i , ) T i = 1 , 2 , 3... N :
L(w,b,α)==12||w||2−∑i=1Nα(yi(w⋅xi+b)−1)12||w||2−∑i=1Nαyi(w⋅xi+b)+∑i=1Nα(5)(6) (5) L ( w , b , α ) = 1 2 | | w | | 2 − ∑ i = 1 N α ( y i ( w · x i + b ) − 1 ) (6) = 1 2 | | w | | 2 − ∑ i = 1 N α y i ( w · x i + b ) + ∑ i = 1 N α
根据拉格朗日对偶性,原始问题的对偶问题是 极大 极少问题:
maxαminw,bL(w,b,α) max α min w , b L ( w , b , α )
可以分两步进行,先求L 对 w,b 的最小值,再求L对 α α :
(1)求 minw,bL(w,b,α)minw,bL(w,b,α):对 w,b 求偏导,令其等于0:
▽wL(w,b,α)=▽bL(w,b,α)=w−∑iNα yixi=0∑iNα yi=0(7)(8) (7) ▽ w L ( w , b , α ) = w − ∑ i N α y i x i = 0 (8) ▽ b L ( w , b , α ) = ∑ i N α y i = 0
得到:
w=∑i=1Nα yixi∑i=1Nα yi=0(A)(B)
(A)
w
=
∑
i
=
1
N
α
y
i
x
i
(B)
∑
i
=
1
N
α
y
i
=
0
将(A)式代入拉格朗日函数,并使用(B)式,可以得到:minw,bL(w,b,α)
min
w
,
b
L
(
w
,
b
,
α
)
L(w,b,α)==12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαiyi((∑i=1Nαjxjyj)⋅xi+b)+∑i=1Nαi−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi(509)(510)
(509)
L
(
w
,
b
,
α
)
=
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
·
x
j
)
−
∑
i
=
1
N
α
i
y
i
(
(
∑
i
=
1
N
α
j
x
j
y
j
)
⋅
x
i
+
b
)
+
∑
i
=
1
N
α
i
(510)
=
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
·
x
j
)
+
∑
i
=
1
N
α
i
(2)求 minw,bL(w,b,α)对α
min
w
,
b
L
(
w
,
b
,
α
)
对
α
的极大值,即对偶问题::
maxα S.t. −12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi∑i=1Nα yi=0(9)(10)
(9)
max
α
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
·
x
j
)
+
∑
i
=
1
N
α
i
(10)
S
.
t
.
∑
i
=
1
N
α
y
i
=
0
由对偶问题转化为:
minα S.t. 12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi∑i=1Nα yi=0(11)(12)
(11)
min
α
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
·
x
j
)
−
∑
i
=
1
N
α
i
(12)
S
.
t
.
∑
i
=
1
N
α
y
i
=
0
对(11)式关于αi
α
i
的偏导并令其为 0,结合约束条件可以解得 α∗
α
∗
,
由于原始问题与对偶问题满足共解条件,所以可以使用α*代入式(A)和式(B)
求得(C)
w∗=∑i=1Nα∗iyixi
w
∗
=
∑
i
=
1
N
α
i
∗
y
i
x
i
由KKT互补条件知:
α∗i(yi(w∗xi+b∗)−1)=0 i=1,2,3,……..N
α
i
∗
(
y
i
(
w
∗
x
i
+
b
∗
)
−
1
)
=
0
i
=
1
,
2
,
3
,
…
…
.
.
N
因为 w∗
w
∗
不为0,显然有α∗j>0
α
j
∗
>
0
存在,对于这样的α∗j
α
j
∗
,j
j
可以使下式成立
由:⇒⇒ yj(w∗⋅xj+b∗)−1=0 yj(w∗⋅xj+b∗)−y2j=0 w∗xj+b∗−yj=0(15)(16)(17)(15)由: yj(w∗·xj+b∗)−1=0(16)⇒ yj(w∗·xj+b∗)−yj2=0(17)⇒ w∗xj+b∗−yj=0
将(C)式代入上式,可以得到:
∑i=1Nα∗iyixixj+b∗−yj=0
∑
i
=
1
N
α
i
∗
y
i
x
i
x
j
+
b
∗
−
y
j
=
0
b∗=yj−∑i=1Nα∗iyixixj
b
∗
=
y
j
−
∑
i
=
1
N
α
i
∗
y
i
x
i
x
j
至此,超平面求出,即:
∑i=1Nα∗i⋅yi(x⋅xi)+b∗=0
∑
i
=
1
N
α
i
∗
·
y
i
(
x
·
x
i
)
+
b
∗
=
0
分类决策函数可以写成
f(x)=sign(∑i=1Nα∗i⋅yi(x⋅xi)+b∗)
f
(
x
)
=
s
i
g
n
(
∑
i
=
1
N
α
i
∗
·
y
i
(
x
·
x
i
)
+
b
∗
)