据说在dl之前是SVM撑起了ml的半片天,学习后发现SVM是由纯粹的数学推导、转化、求解、优化“堆砌”而来,不如说是数学撑起了ml,ml是数学的学科。以下根据老师ppt上讲解的思路讲讲个人对SVM基本形式推导的理解。
margin(间隔)的定义:
超平面的法线(normal)为
ω
\omega
ω,margin为点
x
(
i
)
x^{(i)}
x(i)到超平面
ω
T
+
b
=
0
\omega^T+b=0
ωT+b=0的距离,因此点
x
(
i
)
−
γ
(
i
)
×
ω
∣
∣
ω
∣
∣
x^{(i)}-\gamma^{(i)}\times\frac{\omega}{||\omega||}
x(i)−γ(i)×∣∣ω∣∣ω(红色圈)在超平面上。
ω
T
(
x
(
i
)
−
γ
(
i
)
×
ω
∣
∣
ω
∣
∣
)
+
b
=
0
\omega^T(x^{(i)}-\gamma^{(i)}\times\frac{\omega}{||\omega||})+b=0
ωT(x(i)−γ(i)×∣∣ω∣∣ω)+b=0
⟹
ω
T
x
(
i
)
−
γ
(
i
)
×
ω
T
ω
∣
∣
ω
∣
∣
+
b
=
0
\Longrightarrow \omega^Tx^{(i)}-\gamma^{(i)}\times\frac{\omega^T\omega}{||\omega||}+b=0
⟹ωTx(i)−γ(i)×∣∣ω∣∣ωTω+b=0
⟹
ω
T
x
(
i
)
∣
∣
ω
∣
∣
−
γ
(
i
)
×
ω
T
ω
∣
∣
ω
∣
∣
2
+
b
∣
∣
ω
∣
∣
=
0
\Longrightarrow \frac{\omega^Tx^{(i)}}{||\omega||}-\gamma^{(i)}\times\frac{\omega^T\omega}{||\omega||^2}+\frac{b}{||\omega||}=0
⟹∣∣ω∣∣ωTx(i)−γ(i)×∣∣ω∣∣2ωTω+∣∣ω∣∣b=0
而
ω
T
ω
=
∣
∣
ω
∣
∣
2
\omega^T\omega=||\omega||^2
ωTω=∣∣ω∣∣2,因此
⟹
ω
T
x
(
i
)
∣
∣
ω
∣
∣
+
b
∣
∣
ω
∣
∣
=
γ
(
i
)
\Longrightarrow \frac{\omega^Tx^{(i)}}{||\omega||}+\frac{b}{||\omega||}=\gamma^{(i)}
⟹∣∣ω∣∣ωTx(i)+∣∣ω∣∣b=γ(i)
乘上
y
(
i
)
∈
{
−
1
,
1
}
y^{(i)}\in\{-1,1\}
y(i)∈{−1,1}得到Geometric margin(几何间隔):
容易发现
c
(
ω
T
x
+
b
)
=
0
c(\omega^Tx+b)=0
c(ωTx+b)=0 同样可以描述该超平面,这并不改变
γ
\gamma
γ的值,或者说存在多组满足
ω
T
x
+
b
=
0
\omega^Tx+b=0
ωTx+b=0 的
(
ω
,
b
)
(\omega,b)
(ω,b),我们只需要用其中一个作描述,因此后面约定
m
i
n
i
y
(
i
)
(
ω
T
x
(
i
)
+
b
)
=
1
min_i\ {y^{(i)}}(\omega^Tx^{(i)}+b)=1
mini y(i)(ωTx(i)+b)=1.
定义整个training set的间隔:
优化目标:最大化间隔
变换将
γ
\gamma
γ视为参数,增加约束
γ
(
i
)
≥
γ
\gamma^{(i)}\geq\gamma
γ(i)≥γ.
对于SVM来说去掉一些不在
ω
T
x
(
i
)
+
b
=
±
γ
∣
∣
ω
∣
∣
\omega^Tx^{(i)}+b=\pm\gamma||\omega||
ωTx(i)+b=±γ∣∣ω∣∣平面上的数据点并不影响模型,该平面称为支持平面,平面上的数据点称为支持向量(support vector).更准确地说,sv确定了支持平面,sv的margin
γ
(
i
)
\gamma^{(i)}
γ(i)是约束
s
.
t
.
γ
(
i
)
≥
γ
s.t.\ \gamma^{(i)}\geq \gamma
s.t. γ(i)≥γ取等时的
γ
(
i
)
\gamma^{(i)}
γ(i),SVM(support vector machine)因此得名。为了简化表达,约定一组
(
ω
T
,
b
)
(\omega^T,b)
(ωT,b),使得支持平面变为
ω
T
x
(
i
)
+
b
=
±
1
\omega^Tx^{(i)}+b=\pm1
ωTx(i)+b=±1.
因此SVM问题表述为
进一步地,我们得到SVM的基本形式(Primal Form):