基础部分
基本思想:与感知机类似,同样是找超平面分隔两个类别,但支持向量机找的是最大边缘超平面。
在支持向量机构造的线性模型中,一个要满足的最基础的条件是:
w
T
x
i
+
b
≥
+
1
,
y
i
=
+
1
w
T
x
i
+
b
≤
−
1
,
y
i
=
−
1
w^Tx_i + b \geq +1, y_i = + 1\\ w^Tx_i + b \leq -1, y_i = -1
wTxi+b≥+1,yi=+1wTxi+b≤−1,yi=−1
合并后有:
y
i
(
w
T
x
i
+
b
)
≥
1
y_i(w^Tx_i + b) \geq 1
yi(wTxi+b)≥1
这个不等式的含义是,所有样本点都要满足位于边缘超平面以外。
点到超平面的距离 r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r = \frac {|w^Tx + b|}{||w||} r=∣∣w∣∣∣wTx+b∣,对于支持向量,其满足 y i ( w T x i + b ) = 1 y_i(w^Tx_i + b) = 1 yi(wTxi+b)=1,即 ∣ w T x i + b ∣ = 1 |w^Tx_i + b| = 1 ∣wTxi+b∣=1,而边缘超平面的距离取决于这些支持向量,故有边界距离 γ = 2 ∣ ∣ w ∣ ∣ \gamma = \frac {2}{||w||} γ=∣∣w∣∣2。
引入拉格朗日乘子
由于是最大边缘超平面,所以经过一定转化后有如下优化问题:
a
r
g
m
i
n
w
,
b
1
2
∣
∣
w
∣
∣
2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
.
.
.
,
n
.
\underset{w, b}{argmin} \frac {1}{2}||w||^2\\ s.t. \quad y_i(w^Tx_i + b) \geq 1, i = 1, 2, ..., n.
w,bargmin21∣∣w∣∣2s.t.yi(wTxi+b)≥1,i=1,2,...,n.
不等式约束优化问题,利用
K
K
T
KKT
KKT 条件,引入拉格朗日乘子
α
i
≥
0
\alpha_i \geq 0
αi≥0 得到拉格朗日函数:
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
−
∑
i
=
1
n
α
i
(
y
i
(
w
T
x
i
+
b
)
−
1
)
L(w, b, \alpha) = \frac {1}{2}||w||^2 - \sum_{i = 1}^{n}\alpha_i(y_i(w^Tx_i + b) - 1)
L(w,b,α)=21∣∣w∣∣2−i=1∑nαi(yi(wTxi+b)−1)
需满足
K
K
T
KKT
KKT 条件:
α
i
≥
0
;
y
i
f
(
x
i
)
−
1
≥
0
;
α
i
(
y
i
f
(
x
i
)
−
1
)
=
0.
\begin{aligned} &\alpha_i \geq 0;\\ &y_if(x_i) - 1 \geq 0;\\ &\alpha_i(y_if(x_i) - 1) = 0. \end{aligned}
αi≥0;yif(xi)−1≥0;αi(yif(xi)−1)=0.
令
L
(
w
,
b
,
α
)
L(w, b, \alpha)
L(w,b,α) 对
w
w
w 和
b
b
b 的偏导为零可得:
w
=
∑
i
=
1
n
α
i
y
i
x
i
,
∑
i
=
1
n
α
i
y
i
=
0
w = \sum_{i = 1}^{n}\alpha_iy_ix_i, \sum_{i = 1}^{n}\alpha_iy_i = 0
w=i=1∑nαiyixi,i=1∑nαiyi=0
将原问题转化成其对偶问题
将上式带回到拉格朗日函数中,可消去
w
w
w 和
b
b
b 并得到对偶优化问题:
m
a
x
L
(
α
)
=
∑
i
=
1
n
α
i
−
1
2
∑
i
=
1
n
∑
j
=
1
n
α
i
α
j
y
i
y
j
x
i
T
x
j
s
.
t
.
∑
i
=
1
n
α
i
y
i
=
0
,
α
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
n
.
max \quad L(\alpha) = \sum_{i = 1}^{n}\alpha_i - \frac{1}{2}\sum_{i = 1}^{n}\sum_{j = 1}^{n}\alpha_i\alpha_jy_iy_jx_i^Tx_j\\ s.t. \quad \sum_{i = 1}^{n}\alpha_iy_i = 0,\\ \alpha_i \geq 0, i = 1, 2, ... , n.
maxL(α)=i=1∑nαi−21i=1∑nj=1∑nαiαjyiyjxiTxjs.t.i=1∑nαiyi=0,αi≥0,i=1,2,...,n.
最小化原优化问题
L
(
w
,
b
,
α
)
L(w, b, \alpha)
L(w,b,α),即等价于最大化对偶问题
L
(
α
)
L(\alpha)
L(α),解出
α
\alpha
α 后即可利用
w
=
∑
i
=
1
n
α
i
y
i
x
i
w = \sum_{i = 1}^n\alpha_iy_ix_i
w=∑i=1nαiyixi 解得
w
w
w;对于所有
α
i
>
0
\alpha_i > 0
αi>0 对应的支持向量
x
i
x_i
xi,由于其满足
y
i
(
w
T
x
i
+
b
)
=
1
y_i(w^Tx_i + b) = 1
yi(wTxi+b)=1,求出
b
b
b 后取均值作为参数
b
b
b 的最终取值。
序列最小化算法(SMO)求解上述对偶问题 L ( α ) L(\alpha) L(α)
- 选取一对需更新的变量 α i \alpha_i αi 和 α j \alpha_j αj;
- 固定 α i \alpha_i αi 和 $\alpha_j $ 以外的参数,带入求解对偶优化问题获得更新后的 α i \alpha_i αi 和 α j \alpha_j αj。
由对偶优化问题的约束条件,当 α i \alpha_i αi 和 α j \alpha_j αj 固定时,实际上 α j \alpha_j αj 可以用 α i \alpha_i αi 加一常数来表示,带入 L ( α ) L(\alpha) L(α) 后则是一个只关于变量 α i \alpha_i αi 的二次规划问题,很容易求解。但是要主要满足 α i ≥ 0 , i = 1 , 2 , . . . , n \alpha_i \geq 0, i = 1, 2, ... , n αi≥0,i=1,2,...,n,并且先前 K K T KKT KKT 条件也必须满足。
支持向量回归(SVR)
不会