1、支持向量机
①线性可分的定义:如果
y
i
=
+
1
y_{i}=+1
yi=+1或
−
1
-1
−1,一个训练样本集
{
(
X
i
,
y
i
)
}
\left \{ (X_{i},y_{i}) \right \}
{(Xi,yi)}线性可分,是指存在
(
ω
,
b
)
(\omega ,b)
(ω,b)使的
y
i
(
ω
T
X
i
+
b
)
>
0
(1)
y_{i}(\omega ^{T}X_{i}+b)> 0\tag{1}
yi(ωTXi+b)>0(1)
②支持向量机寻找的最优分类直线应满足:
①该直线分开了两类;
②该直线最大化间隔(margin);
③该直线处于间隔的中间,到所有支持向量的距离相等。
我们曾经学过,点
(
x
0
,
y
0
)
(x_{0},y_{0})
(x0,y0)到超平面(一条直线)
ω
1
x
+
ω
2
y
0
+
b
=
0
\omega_{1}x+\omega _{2}y_{0}+b=0
ω1x+ω2y0+b=0的距离计算公式为:
d
=
∣
ω
1
x
0
+
ω
2
y
0
+
b
∣
ω
1
2
+
ω
2
2
(2)
d=\frac{|\omega_{1}x_{0}+\omega _{2}y_{0}+b|}{\sqrt{\omega _{1}^{2}+\omega _{2}^{2}} }\tag{2}
d=ω12+ω22∣ω1x0+ω2y0+b∣(2)
那么,
ω
\omega
ω就成为了决定间隔距离的关键因素。
③支持向量机优化目标是需要找到最大化间隔的超平面,即:
最小化(Minimize):
1
2
∣
∣
ω
∣
∣
2
\frac{1}{2}||\omega||^{2}
21∣∣ω∣∣2,即最小化
∣
∣
ω
∣
∣
||\omega||
∣∣ω∣∣
限制条件:
y
i
(
ω
T
X
i
+
b
)
>
1
y_{i}(\omega ^{T}X_{i}+b)> 1
yi(ωTXi+b)>1
其中,
ω
=
[
ω
1
,
ω
2
,
.
.
.
,
ω
m
]
T
\omega =[\omega_{1},\omega_{2},...,\omega_{m}]^{T}
ω=[ω1,ω2,...,ωm]T
以上的优化目标是一种凸优化(Convex Optimization)中的二次规划问题,即:(1)目标函数是二次项;(2)限制条件是一次项。这种凸优化问题,要么无解,要么只有唯一的最小值。
只要一个优化问题是凸的,我们总能找到高效快速的算法去解决它。
如果训练样本集是线性不可分的,那么以上优化问题无解,找不到 ω \omega ω与 b b b。
此时需要适当放松限制条件:对于每一个训练样本及标签
(
x
i
,
y
i
)
(x_{i},y_{i})
(xi,yi),需要设置一个松弛变量
δ
i
\delta_{i}
δi(slack variable),将限制条件公式(1)改写为:
y
i
(
ω
T
X
i
+
b
)
≥
1
−
δ
i
(3)
y_{i}(\omega ^{T}X_{i}+b)\ge 1-\delta_{i}\tag{3}
yi(ωTXi+b)≥1−δi(3)
那么优化目标也要随之发生改变,即:
最小化:
1
2
∣
∣
ω
∣
∣
2
+
C
∑
i
=
1
N
δ
i
\frac{1}{2} ||\omega ||^{2}+C {\textstyle \sum_{i=1}^{N}\delta _{i}}
21∣∣ω∣∣2+C∑i=1Nδi或
1
2
∣
∣
ω
∣
∣
2
+
C
∑
i
=
1
N
δ
i
2
\frac{1}{2} ||\omega ||^{2}+C {\textstyle \sum_{i=1}^{N}\delta _{i}^{2}}
21∣∣ω∣∣2+C∑i=1Nδi2,
限制条件:(1)
δ
i
≥
0
\delta_{i}\ge0
δi≥0
(2)
y
i
[
ω
T
φ
(
x
i
)
+
b
]
≥
1
−
δ
i
y_{i}[\omega^{T}φ(x_{i})+b]\ge1-\delta_{i}
yi[ωTφ(xi)+b]≥1−δi
其中
δ
i
≥
0
\delta_{i}\ge0
δi≥0,
C
C
C是人为设定的比例因子。
这种在算法中需要人事先设定的参数叫做算法的超参数(Hyper Parameter)。
④支持向量机在扩大可选函数范围方面可谓独树一帜,它通过将特征空间由低维映射到高维,再在高维特征空间中用线性超平面对数据进行分类。即将训练样本由低维映射到高维后,能够增大线性可分的概率。
如图所示,有四个点,分别为
X
1
=
[
0
,
0
]
T
∈
C
1
,
X
2
=
[
1
,
1
]
T
∈
C
1
,
X
3
=
[
1
,
0
]
T
∈
C
2
,
X
4
=
[
0
,
1
]
T
∈
C
2
X_{1}=[0,0]^{T}∈C_{1},X_{2}=[1,1]^{T}∈C_{1},X_{3}=[1,0]^{T}∈C_{2},X_{4}=[0,1]^{T}∈C_{2}
X1=[0,0]T∈C1,X2=[1,1]T∈C1,X3=[1,0]T∈C2,X4=[0,1]T∈C2。在图中,四个点处于二维空间中,无法找到一个超平面将两类点分开。此时,我们可以通过构造一个二维到五维的映射
φ
(
x
)
φ(x)
φ(x),将这四个点映射到五维空间中。
φ
(
x
)
=
[
a
2
,
b
2
,
a
,
b
,
a
b
]
T
(4)
φ(x)=[a^{2},b^{2},a,b,ab]^{T}\tag{4}
φ(x)=[a2,b2,a,b,ab]T(4)
通过映射后,得到
φ
(
x
1
)
=
[
0
,
0
,
0
,
0
,
0
]
T
,
φ
(
x
2
)
=
[
1
,
1
,
1
,
1
,
1
,
]
T
,
φ
(
x
3
)
=
[
1
,
0
,
1
,
0
,
0
]
T
,
φ
(
x
4
)
=
[
0
,
1
,
0
,
1
,
0
]
T
。
φ(x_{1})=[0,0,0,0,0]^{T},φ(x_{2})=[1,1,1,1,1,]^{T},φ(x_{3})=[1,0,1,0,0]^{T},φ(x_{4})=[0,1,0,1,0]^{T}。
φ(x1)=[0,0,0,0,0]T,φ(x2)=[1,1,1,1,1,]T,φ(x3)=[1,0,1,0,0]T,φ(x4)=[0,1,0,1,0]T。此时,这四个点就成为了线性可分的。
设
ω
=
[
−
1
,
−
1
,
−
1
,
−
1
,
6
]
T
,
b
=
1
\omega=[-1,-1,-1,-1,6]^{T},b=1
ω=[−1,−1,−1,−1,6]T,b=1,根据(1)式就可以来将四个点进行分类。
⑤如果对任意两个向量 X 1 X_{1} X1与 X 2 X_{2} X2,存在 K ( X 1 , X 2 ) = φ ( X 1 ) T φ ( X 2 ) T K(X_{1},X_{2})=φ(X_{1})^{T}φ(X_{2})^{T} K(X1,X2)=φ(X1)Tφ(X2)T,那么就可以将测试样本进行映射进而完成对类别的预测。其中, K ( X 1 , X 2 ) K(X_{1},X_{2}) K(X1,X2)为核函数(kernel function)。
如存在两个二维向量
X
1
=
[
x
11
,
x
12
]
T
X_{1}=[x_{11},x_{12}]^{T}
X1=[x11,x12]T与
X
2
=
[
x
21
,
x
22
]
T
X_{2}=[x_{21},x_{22}]^{T}
X2=[x21,x22]T,映射
φ
(
x
)
=
[
a
2
,
a
b
,
b
2
]
T
φ(x)=[a^{2},ab,b^{2}]^{T}
φ(x)=[a2,ab,b2]T,那么核函数就可以表示为:
K
(
X
1
,
X
2
)
=
φ
(
X
1
)
T
φ
(
X
2
)
=
[
x
11
2
,
x
11
x
12
,
x
12
2
]
[
x
21
2
,
x
21
x
22
,
x
22
2
]
T
=
x
11
2
x
21
2
+
x
11
x
12
x
21
x
22
+
x
12
2
x
22
2
K(X_{1},X_{2})=φ(X_{1})^{T}φ(X_{2})\\=[x_{11}^{2},x_{11}x_{12},x_{12}^{2}][x_{21}^{2},x_{21}x_{22},x_{22}^{2}]^{T}\\=x_{11}^{2}x_{21}^{2}+x_{11}x_{12}x_{21}x_{22}+x_{12}^{2}x_{22}^{2}
K(X1,X2)=φ(X1)Tφ(X2)=[x112,x11x12,x122][x212,x21x22,x222]T=x112x212+x11x12x21x22+x122x222
同时,核函数
K
(
X
1
,
X
2
)
K(X_{1},X_{2})
K(X1,X2)能够写成
φ
(
X
1
)
T
φ
(
X
2
)
φ(X_{1})^{T}φ(X_{2})
φ(X1)Tφ(X2)的充分必要条件为:
①交换性,可相互交换:
K
(
X
1
,
X
2
)
=
K
(
X
2
,
X
1
)
K(X_{1},X_{2})=K(X_{2},X_{1})
K(X1,X2)=K(X2,X1)
②半正定性:
∀
C
i
(
i
=
1
∼
N
)
∀C_{i}(i=1\sim N)
∀Ci(i=1∼N),有
∑
i
=
1
N
∑
j
=
1
N
C
i
C
j
K
(
X
i
X
j
)
≥
0
\sum_{i=1}^{N}\sum_{j=1}^{N} C_{i}C_{j}K(X_{i}X_{j})\ge0
∑i=1N∑j=1NCiCjK(XiXj)≥0
常见的高斯核函数表达式为:
K
(
X
1
,
X
2
)
=
e
−
∣
∣
X
1
−
X
2
∣
∣
2
2
σ
2
K(X_{1},X_{2})=e^{-\frac{||X_{1}-X_{2}||^{2}}{2\sigma^{2} }}
K(X1,X2)=e−2σ2∣∣X1−X2∣∣2在最后也总结了一些常用的核函数。
⑥为了能够在不知道映射函数 φ ( x ) φ(x) φ(x)但知道 K ( X 1 , X 2 ) K(X_{1},X_{2}) K(X1,X2)时也能够求解优化问题,我们需要引入优化理论。
原问题(Prime Problem)
最小化(Minimize):
f
(
ω
)
f(\omega)
f(ω)
限制条件(Subject to):
g
i
(
ω
)
≤
0
(
i
=
1
∼
K
)
g_{i}(\omega)\le0 (i=1\sim K)
gi(ω)≤0(i=1∼K)
h
i
(
ω
)
=
0
(
i
=
1
∼
m
)
h_{i}(\omega)=0(i=1\sim m)
hi(ω)=0(i=1∼m)
这种定义十分的普适与宽泛,自变量为
ω
\omega
ω。
对偶问题(Dual Problem)
定义:
L
(
ω
,
α
,
β
)
=
f
(
ω
)
+
∑
i
=
1
K
α
i
g
i
(
ω
)
+
∑
i
=
1
K
β
i
h
i
(
ω
)
=
f
(
ω
)
+
α
T
g
(
ω
)
+
β
T
h
(
ω
)
L(\omega,\alpha,\beta)=f(\omega )+\sum_{i=1}^{K} \alpha _{i}g_{i}(\omega )+\sum_{i=1}^{K}\beta _{i}h_{i}(\omega ) \\ =f(\omega )+\alpha ^{T}g(\omega )+\beta^{T}h(\omega )
L(ω,α,β)=f(ω)+i=1∑Kαigi(ω)+i=1∑Kβihi(ω)=f(ω)+αTg(ω)+βTh(ω)
其中,
α
=
[
α
1
,
α
2
,
.
.
.
,
α
K
]
T
\alpha=[\alpha_{1},\alpha_{2},...,\alpha_{K}]^{T}
α=[α1,α2,...,αK]T、
β
=
[
β
1
,
β
2
,
.
.
.
,
β
M
]
T
\beta=[\beta_{1},\beta_{2},...,\beta_{M}]^{T}
β=[β1,β2,...,βM]T、
g
(
ω
)
=
[
g
1
(
ω
)
,
g
2
(
ω
)
,
.
.
.
,
g
k
(
ω
)
]
T
g(\omega)=[g_{1}(\omega),g_{2}(\omega),...,g_{k}(\omega)]^{T}
g(ω)=[g1(ω),g2(ω),...,gk(ω)]T、
h
(
ω
)
=
[
h
1
(
ω
)
,
h
2
(
ω
)
,
.
.
.
,
h
M
(
ω
)
]
T
h(\omega)=[h_{1}(\omega),h_{2}(\omega),...,h_{M}(\omega)]^{T}
h(ω)=[h1(ω),h2(ω),...,hM(ω)]T
对偶问题定义
最大化:
θ
(
α
,
β
)
=
i
n
f
L
(
ω
,
α
,
β
)
\theta(\alpha ,\beta)=inf L(\omega,\alpha,\beta)
θ(α,β)=infL(ω,α,β),所有定义域内的
ω
\omega
ω
限制条件:
α
i
≥
0
,
i
=
1
∼
N
\alpha_{i}\ge0,i=1\sim N
αi≥0,i=1∼N
其中,
i
n
f
inf
inf意思是求最小值。函数
θ
(
α
,
β
)
\theta(\alpha ,\beta)
θ(α,β)是在确定了
α
\alpha
α与
β
\beta
β的值后,遍历所有定义域内的
ω
\omega
ω,来找到函数
L
(
ω
,
α
,
β
)
L(\omega,\alpha,\beta)
L(ω,α,β)的最小值。
综合原问题和对偶问题的定义可以得到:
定理一:如果
ω
∗
\omega^{*}
ω∗是原问题的解,
(
α
∗
,
β
∗
)
(\alpha^{*},\beta^{*})
(α∗,β∗)是对偶问题的解,则有:
f
(
ω
∗
)
≥
θ
(
α
∗
,
β
∗
)
f(\omega^{*})\ge\theta(\alpha^{*},\beta^{*})
f(ω∗)≥θ(α∗,β∗)
证明过程如下:
θ
(
α
∗
,
β
∗
)
=
i
n
f
L
(
ω
,
α
,
β
)
≤
L
(
ω
∗
,
α
∗
,
β
∗
)
=
f
(
ω
∗
)
+
α
∗
T
g
(
ω
)
+
β
∗
T
h
(
ω
)
≤
f
(
ω
∗
)
\theta(\alpha^{*},\beta^{*})=inf L(\omega,\alpha,\beta) \\ \le L(\omega^{*},\alpha^{*},\beta^{*}) \\ =f(\omega ^{*})+\alpha ^{*^{T}}g(\omega )+\beta^{*^{T}}h(\omega ) \\ \le f(\omega^{*})
θ(α∗,β∗)=infL(ω,α,β)≤L(ω∗,α∗,β∗)=f(ω∗)+α∗Tg(ω)+β∗Th(ω)≤f(ω∗)
其中,由于
ω
∗
\omega^{*}
ω∗是原问题的解(详细的看原问题的限制条件那里),因此
g
(
ω
∗
)
≤
0
g(\omega^{*})\le0
g(ω∗)≤0,
h
(
ω
∗
)
=
0
h(\omega^{*})=0
h(ω∗)=0。
对偶差距(Duality Gap)
原问题与对偶问题之间的差值即为对偶差距:
f
(
ω
∗
)
−
θ
(
α
∗
,
β
∗
)
≥
0
f(\omega^{*})-\theta(\alpha^{*},\beta^{*})\ge 0
f(ω∗)−θ(α∗,β∗)≥0
强对偶定理(Strong Duality Theorem)
如果 g ( ω ) = A ω + b g(\omega)=A\omega+b g(ω)=Aω+b, h ( ω ) = C ω + d h(\omega)=C\omega+d h(ω)=Cω+d, f ( ω ) f(\omega) f(ω)为凸函数,则有 f ( ω ∗ ) = θ ( α ∗ , β ∗ ) f(\omega^{*})=\theta(\alpha^{*},\beta^{*}) f(ω∗)=θ(α∗,β∗),则对偶差距为0。
综合以上几个理论,我们最后引入优化理论:
优化理论
定义:
G
=
f
(
ω
∗
)
−
θ
(
α
∗
,
β
∗
)
≥
0
G=f(\omega^{*})-\theta(\alpha^{*},\beta^{*})\ge 0
G=f(ω∗)−θ(α∗,β∗)≥0
G称为原问题与对偶问题的间距(Duality Gap)。对于某些特定的优化问题,可以证明对偶间距
G
=
0
G=0
G=0。
⑦引入优化理论后,我们就可以将支持向量机的原问题(③)转换为对偶问题。很明显,优化目标与原问题是对应的。我们将优化目标中的一些条件进行修改:
首先,将优化目标中的
δ
i
≥
0
\delta_{i}\ge0
δi≥0取相反数转换成
δ
i
≤
0
\delta_{i}\le0
δi≤0,那么优化目标就变成:
最小化:
1
2
∣
∣
ω
∣
∣
2
−
C
∑
i
=
1
N
δ
i
\frac{1}{2} ||\omega ||^{2}-C {\textstyle \sum_{i=1}^{N}\delta _{i}}
21∣∣ω∣∣2−C∑i=1Nδi
限制条件:(1)
δ
i
≤
0
\delta_{i}\le0
δi≤0,
(2)
y
i
[
ω
T
φ
(
x
i
)
+
b
]
≥
1
+
δ
i
y_{i}[\omega^{T}φ(x_{i})+b]\ge1+\delta_{i}
yi[ωTφ(xi)+b]≥1+δi
我们将限制条件(2)也转换为
≤
\le
≤的形式,即:
1
+
δ
i
−
y
i
ω
T
φ
(
x
i
)
−
y
i
b
≤
0
1+\delta_{i}-y_{i}\omega^{T}φ(x_{i})-y_{i}b\le0
1+δi−yiωTφ(xi)−yib≤0。
整体原问题完整表达为:
最小化:
1
2
∣
∣
ω
∣
∣
2
−
C
∑
i
=
1
N
δ
i
\frac{1}{2} ||\omega ||^{2}-C {\textstyle \sum_{i=1}^{N}\delta _{i}}
21∣∣ω∣∣2−C∑i=1Nδi
限制条件:(1)
δ
i
≤
0
\delta_{i}\le0
δi≤0,
(2)
1
+
δ
i
−
y
i
ω
T
φ
(
x
i
)
−
y
i
b
≤
0
1+\delta_{i}-y_{i}\omega^{T}φ(x_{i})-y_{i}b\le0
1+δi−yiωTφ(xi)−yib≤0
到此为止,已经将优化目标通过优化理论转换为原问题了。此时,我们通过继续将原问题转换为对偶问题:
最大化:
θ
(
α
,
β
)
=
i
n
f
[
1
2
∣
∣
ω
∣
∣
2
−
C
∑
i
=
1
N
δ
i
+
∑
i
=
1
N
β
i
δ
i
+
∑
i
=
1
N
α
i
[
1
+
δ
i
−
y
i
ω
T
φ
(
x
i
)
−
y
i
b
]
]
\theta(\alpha ,\beta)=inf [\frac{1}{2} ||\omega ||^{2}-C {\textstyle \sum_{i=1}^{N}\delta _{i}}+\sum_{i=1}^{N}\beta _{i} \delta _{i}+\sum_{i=1}^{N}\alpha _{i}[1+\delta_{i}-y_{i}\omega^{T}φ(x_{i})-y_{i}b] ]
θ(α,β)=inf[21∣∣ω∣∣2−C∑i=1Nδi+∑i=1Nβiδi+∑i=1Nαi[1+δi−yiωTφ(xi)−yib]],所有定义域内的
(
ω
,
δ
i
,
b
)
(\omega,\delta_{i},b)
(ω,δi,b)。
限制条件:(1)
α
i
≥
0
\alpha_{i}\ge0
αi≥0
(2)
β
i
≥
0
\beta_{i}\ge0
βi≥0
其实转换的关键就是找准函数,对着公式套就行了。
⑧我们得到了优化目标的对偶问题,目标转换为了最大化函数
θ
(
α
,
β
)
\theta(\alpha ,\beta)
θ(α,β),找到参数
ω
,
δ
i
,
b
\omega,\delta_{i},b
ω,δi,b。我们可以通过对
θ
(
α
,
β
)
\theta(\alpha ,\beta)
θ(α,β)求导得到极值所在的参数。即:
d
L
d
ω
=
ω
−
∑
i
=
1
N
α
i
y
i
φ
(
x
i
)
=
0
(6)
\frac{dL}{d\omega}=\omega-\sum_{i=1}^{N}\alpha _{i}y_{i} φ(x_{i})=0\tag{6}
dωdL=ω−i=1∑Nαiyiφ(xi)=0(6)
d
L
d
δ
=
−
C
+
∑
i
=
1
N
β
i
+
∑
i
=
1
N
α
i
=
0
(7)
\frac{dL}{d\delta}=-C+\sum_{i=1}^{N}\beta _{i} +\sum_{i=1}^{N}\alpha _{i} =0\tag{7}
dδdL=−C+i=1∑Nβi+i=1∑Nαi=0(7)
d
L
d
b
=
−
∑
i
=
1
N
α
i
y
i
=
0
(8)
\frac{dL}{db}=-\sum_{i=1}^{N}\alpha _{i}y_{i} =0\tag{8}
dbdL=−i=1∑Nαiyi=0(8)
当
ω
\omega
ω、
α
i
\alpha_{i}
αi、
β
i
\beta_{i}
βi都满足以上条件时,就可以满足目标。
将以上三个式子带入
θ
(
α
,
β
)
\theta(\alpha ,\beta)
θ(α,β)中,我们可以得到:
θ
(
α
,
β
)
=
1
2
∣
∣
ω
∣
∣
2
+
∑
i
=
1
N
α
i
−
∑
i
=
1
N
a
i
y
i
ω
T
φ
(
x
i
)
(9)
\theta(\alpha ,\beta)=\frac{1}{2}||\omega||^{2}+\sum_{i=1}^{N}\alpha _{i}-\sum_{i=1}^{N} a_{i}y_{i}\omega^{T}φ(x_{i})\tag{9}
θ(α,β)=21∣∣ω∣∣2+i=1∑Nαi−i=1∑NaiyiωTφ(xi)(9)
其中,我们先计算
1
2
∣
∣
ω
∣
∣
2
\frac{1}{2}||\omega||^{2}
21∣∣ω∣∣2。通过(6)式我们可以计算出:
1
2
∣
∣
ω
∣
∣
2
=
1
2
ω
T
ω
=
1
2
(
∑
i
=
1
N
α
i
y
i
φ
(
x
i
)
)
T
(
∑
i
=
1
N
α
i
y
i
φ
(
x
i
)
)
=
1
2
∑
i
=
1
N
∑
i
=
1
N
α
i
α
j
y
i
y
j
φ
(
x
i
)
T
φ
(
x
j
)
\frac{1}{2}||\omega||^{2}=\frac{1}{2}\omega^{T}\omega\\=\frac{1}{2}(\sum_{i=1}^{N}\alpha_{i}y_{i}φ(x_{i}))^{T}(\sum_{i=1}^{N}\alpha_{i}y_{i}φ(x_{i}))\\ =\frac{1}{2}\sum_{i=1}^{N}\sum_{i=1}^{N}\alpha _{i}\alpha _{j}y_{i}y_{j} φ(x_{i})^{T}φ(x_{j})
21∣∣ω∣∣2=21ωTω=21(i=1∑Nαiyiφ(xi))T(i=1∑Nαiyiφ(xi))=21i=1∑Ni=1∑Nαiαjyiyjφ(xi)Tφ(xj)
我们注意到,该结果末尾的 φ ( x i ) T φ ( x j ) = K ( X 1 , X 2 ) φ(x_{i})^{T}φ(x_{j})=K(X_{1},X_{2}) φ(xi)Tφ(xj)=K(X1,X2),即核函数。通过对偶问题的处理我们将 φ ( x i ) φ(x_{i}) φ(xi)消掉了。
然后,我们同样通过(6)式来计算
∑
i
=
1
N
a
i
y
i
ω
T
φ
(
x
i
)
\sum_{i=1}^{N} a_{i}y_{i}\omega^{T}φ(x_{i})
∑i=1NaiyiωTφ(xi):
∑
i
=
1
N
α
i
y
i
ω
T
φ
(
x
i
)
=
∑
i
=
1
N
α
i
y
i
(
∑
j
=
1
N
α
j
y
j
φ
(
x
j
)
)
T
φ
(
x
i
)
=
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
φ
(
x
j
)
T
φ
(
x
i
)
\sum_{i=1}^{N} \alpha_{i}y_{i}\omega^{T}φ(x_{i})=\sum_{i=1}^{N} \alpha_{i}y_{i}(\sum_{j=1}^{N}\alpha _{j}y_{j} φ(x_{j}))^{T}φ(x_{i})\\=\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j} φ(x_{j})^{T} φ(x_{i})
i=1∑NαiyiωTφ(xi)=i=1∑Nαiyi(j=1∑Nαjyjφ(xj))Tφ(xi)=i=1∑Nj=1∑Nαiαjyiyjφ(xj)Tφ(xi)
我们又发现,结果末尾依然出现了
φ
(
x
i
)
T
φ
(
x
j
)
=
K
(
X
1
,
X
2
)
φ(x_{i})^{T}φ(x_{j})=K(X_{1},X_{2})
φ(xi)Tφ(xj)=K(X1,X2)。最后,(9)式就变成了:
θ
(
α
,
β
)
=
∑
i
=
1
N
α
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
φ
(
x
j
)
T
φ
(
x
i
)
=
∑
i
=
1
N
α
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
K
(
X
i
,
X
j
)
(10)
\theta(\alpha ,\beta)=\sum_{i=1}^{N}\alpha_{i}-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j} φ(x_{j})^{T} φ(x_{i})\\=\sum_{i=1}^{N}\alpha_{i}-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j} K(X_{i},X_{j})\tag{10}
θ(α,β)=i=1∑Nαi−21i=1∑Nj=1∑Nαiαjyiyjφ(xj)Tφ(xi)=i=1∑Nαi−21i=1∑Nj=1∑NαiαjyiyjK(Xi,Xj)(10)
2、训练与测试
①训练流程
输入
[
(
x
i
,
y
i
)
]
i
=
1
∼
N
[(x_{i},y_{i})]_{i=1\sim N}
[(xi,yi)]i=1∼N,解优化问题:
最大化:
θ
(
α
,
β
)
=
∑
i
=
1
N
α
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
φ
(
x
j
)
T
φ
(
x
i
)
=
∑
i
=
1
N
α
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
K
(
X
i
,
X
j
)
\theta(\alpha ,\beta)=\sum_{i=1}^{N}\alpha_{i}-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j} φ(x_{j})^{T} φ(x_{i})\\=\sum_{i=1}^{N}\alpha_{i}-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j} K(X_{i},X_{j})
θ(α,β)=∑i=1Nαi−21∑i=1N∑j=1Nαiαjyiyjφ(xj)Tφ(xi)=∑i=1Nαi−21∑i=1N∑j=1NαiαjyiyjK(Xi,Xj)
限制条件:(1)
0
≤
α
i
≤
C
0\le\alpha_{i}\le C
0≤αi≤C
(2)
∑
i
=
1
N
α
i
y
i
=
0
\sum_{i=1}^{N}\alpha_{i}y_{i}=0
∑i=1Nαiyi=0
计算
b
b
b的值:
b
=
1
−
y
i
∑
j
=
1
N
α
j
y
j
K
(
X
i
,
X
j
)
y
i
b=\frac{1-y_{i}\sum_{j=1}^{N}\alpha_{j}y_{j}K(X_{i},X_{j})}{y_{i}}
b=yi1−yi∑j=1NαjyjK(Xi,Xj)
关于
b
b
b值的计算推导,需要用到KKT条件,这个部分后面再补充。
②测试流程
输入测试样本
X
X
X,若
∑
i
=
1
N
α
i
y
i
K
(
X
i
,
X
j
)
+
b
≥
0
\sum_{i=1}^{N}\alpha_{i}y_{i}K(X_{i},X_{j})+b\ge0
∑i=1NαiyiK(Xi,Xj)+b≥0,则
y
=
+
1
y=+1
y=+1;若
∑
i
=
1
N
α
i
y
i
K
(
X
i
,
X
j
)
+
b
≤
0
\sum_{i=1}^{N}\alpha_{i}y_{i}K(X_{i},X_{j})+b\le0
∑i=1NαiyiK(Xi,Xj)+b≤0,则
y
=
−
1
y=-1
y=−1。
3、常用核函数
Linear(线性内核):
K
(
x
,
y
)
=
x
T
y
K(x,y)=x^{T}y
K(x,y)=xTy
Ploy(多项式核):
K
(
x
,
y
)
=
(
x
T
y
+
1
)
d
K(x,y)=(x^{T}y+1)^{d}
K(x,y)=(xTy+1)d
Rbf(高斯径向基函数核):
K
(
x
,
y
)
=
e
−
∣
∣
x
−
y
∣
∣
2
2
σ
2
K(x,y)=e^{-\frac{||x-y||^{2}}{2\sigma^{2} }}
K(x,y)=e−2σ2∣∣x−y∣∣2
Tanh核:
K
(
x
,
y
)
=
t
a
n
h
(
β
x
T
y
+
b
)
K(x,y)=tanh(\beta x^{T}y+b)
K(x,y)=tanh(βxTy+b)
其中,
t
a
n
h
(
x
)
=
e
x
−
e
−
x
e
x
+
e
−
x
tanh(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}
tanh(x)=ex+e−xex−e−x