支持向量机目的: 寻找一个超平面将样本分为两类,并且使得二者之间的间隔最大。
该超平面的系数使用
ω
\omega
ω表示。
假设满足超平面满足的关系式为:
ω
T
ϕ
(
x
)
+
b
=
0
\omega^T\phi(x) + b = 0
ωTϕ(x)+b=0,其中
ϕ
\phi
ϕ为空间转换函数,能将线性不可分空间的样本转换为线性可分空间样本。由此,SVM算法可使用于线性可分空间和非线性可分空间。
支持向量机适用于分类,也适用于回归,当用于回归时称为SVR.
线性可分空间分析
令
y
=
ω
T
x
+
b
y=\omega^Tx+b
y=ωTx+b,考虑二分类,基于SVM的二分类可以理解为计算平面
y
=
ω
T
x
+
b
=
0
y=\omega^Tx+b = 0
y=ωTx+b=0 ,当
{
y
(
x
i
)
<
0
⟺
y
i
为
负
例
y
(
x
i
)
>
0
⟺
y
i
为
正
例
\{^{y(x_i) > 0 \iff y_i 为正例}_{y(x_i) < 0 \iff y_i为负例}
{y(xi)<0⟺yi为负例y(xi)>0⟺yi为正例
假设正例:
y
i
>
0
y_i > 0
yi>0, 负例:
y
i
<
0
y_i < 0
yi<0,则有
y
i
y
(
x
i
)
>
0
y_iy(x_i) > 0
yiy(xi)>0。
简单计算:不妨考虑
y
=
±
1
y=\pm1
y=±1为两类的标签,即
{
y
(
x
i
)
<
0
⟺
y
i
=
−
1
y
(
x
i
)
>
0
⟺
y
i
=
1
\{^{y(x_i) > 0 \iff y_i = 1}_{y(x_i) < 0 \iff y_i=-1}
{y(xi)<0⟺yi=−1y(xi)>0⟺yi=1
如上图,由于可分离,我们可以直接考虑
{
y
(
x
i
)
≤
−
1
,
y
i
=
−
1
y
(
x
i
)
≥
1
,
y
i
=
1
⟺
y
i
y
(
x
i
)
≥
1
\{^{y(x_i) \geq 1 ,\ y_i =1}_{y(x_i) \leq -1 ,\ y_i = -1} \iff y_iy(x_i) \geq1
{y(xi)≤−1, yi=−1y(xi)≥1, yi=1⟺yiy(xi)≥1
在该假设下,svm的原理就是求
ω
\omega
ω和
b
b
b使得
ω
T
x
+
b
=
1
\omega^Tx+b=1
ωTx+b=1和
ω
T
x
+
b
=
−
1
\omega^Tx+b=-1
ωTx+b=−1两直线间的距离最大。
模型部分
- 数学语言描述
svm基本型:
{ s . t : y i ( ω T x i + b ) ≥ 1 f o r i = 1 , . . . , n max 1 ∣ ∣ ω ∣ ∣ \{^{\max\cfrac{1}{||\omega||} }_{s.t: \ y_{i}(\omega^Tx_i+b) \geq 1 \ for \ i = 1,...,n} {s.t: yi(ωTxi+b)≥1 for i=1,...,nmax∣∣ω∣∣1
svm基本型在运筹学中属于二次规划问题,而且是凸二次规划问题。
说明:原本完整的公式是 arg max ω , b { 1 ∥ w ∥ m i n [ y i ( ω T x i + b ) ] } \argmax\limits_{\omega,b}\{ \cfrac{1}{\|w\|}min[y_i(\omega^Tx_i+b)]\} ω,bargmax{∥w∥1min[yi(ωTxi+b)]},在给定约束条件的情况下,该函数就简化为svm基本型。
2.函数间隔
在超平面
ω
T
x
+
b
=
0
\omega^Tx+b=0
ωTx+b=0确定的情况下,
∣
ω
T
x
+
b
∣
|\omega^Tx+b|
∣ωTx+b∣表示点到超平面的距离,若
y
=
±
1
y=\pm1
y=±1代表样本的正负例,则函数间隔定义为:
γ
i
=
y
i
(
ω
T
x
i
+
b
)
\gamma_i = y_i(\omega^Tx_i+b)
γi=yi(ωTxi+b)
显然,
γ
\gamma
γ值越大,说明点距离平面越远,分类的可靠程度更高,而整个数据集的函数间隔为
γ
=
min
γ
i
i
=
1
,
.
.
.
,
n
\gamma = \min \gamma_i \ i=1,...,n
γ=minγi i=1,...,n
对超平面
ω
T
x
+
b
=
0
\omega^Tx+b=0
ωTx+b=0而言,当
ω
\omega
ω和
b
b
b同时扩大和缩小n倍时,代表的是同一个平面,但此时的函数间隔却跟在变化了,所以单纯的函数间隔没办法直接确定
ω
\omega
ω和
b
b
b,由此,需加入约束条件使得函数间隔固定,这就是几何间隔引入的原因。
3.几何间隔
定义:
γ
=
ω
T
x
+
b
∣
∣
ω
∣
∣
\gamma = \cfrac{\omega^Tx+b}{||\omega||}
γ=∣∣ω∣∣ωTx+b
为保证几何间隔的正性,对其进行如下的改进:
γ
=
y
(
ω
T
x
+
b
)
∣
∣
ω
∣
∣
\gamma = \cfrac{y(\omega^Tx+b)}{||\omega||}
γ=∣∣ω∣∣y(ωTx+b)
这种情况下,就将函数间隔与几何间隔合并到一个函数中考虑了。由此,得到了svm基本型的公式。
对于svm中最值的分子设置为1,主要是由于超平面
ω
T
x
+
b
=
0
\omega^Tx+b=0
ωTx+b=0中的
ω
\omega
ω和b在同倍缩放的情况下并不影响超平面的位置,所以我们总能通过对
ω
\omega
ω和b的调节使得分子为1。
求解过程
svm分类
⟺
\iff
⟺
{
s
.
t
:
y
i
(
ω
T
x
i
+
b
)
≥
1
f
o
r
i
=
1
,
.
.
.
,
n
max
1
∣
∣
ω
∣
∣
\{^{\max\cfrac{1}{||\omega||} }_{s.t: \ y_{i}(\omega^Tx_i+b) \geq 1 \ for \ i = 1,...,n}
{s.t: yi(ωTxi+b)≥1 for i=1,...,nmax∣∣ω∣∣1
将上述约束问题转换为二次凸约束条件:
m
i
n
1
2
∣
∣
ω
∣
∣
2
,
s
.
t
:
y
i
(
ω
T
x
i
+
b
)
≥
1
f
o
r
i
=
1
,
.
.
.
,
n
min\cfrac{1}{2}||\omega||^2 ,\ s.t: \ y_{i}(\omega^Tx_i+b) \geq 1 \ for \ i = 1,...,n
min21∣∣ω∣∣2, s.t: yi(ωTxi+b)≥1 for i=1,...,n
引入拉格朗日优化法和KKT条件:
L
(
ω
,
b
,
α
)
=
1
2
∣
∣
ω
∣
∣
2
−
∑
k
=
0
n
α
i
[
y
i
(
ω
T
x
i
+
b
)
−
1
]
L(\omega, b, \alpha) = \cfrac{1}{2}||\omega||^2 - \displaystyle\sum_{k=0}^n \alpha_i[y_i(\omega^Tx_i+b) -1]
L(ω,b,α)=21∣∣ω∣∣2−k=0∑nαi[yi(ωTxi+b)−1]
由上,求解出 ω \omega ω和b即可,但在具体的求解过程中需将问题转换为对偶问题进行求解,及非线性分类时的求解思路,下次再继续!