3. 支持向量机
3.1 本质
基本模型是定义在特征空间上的间隔最大的线性分类器。核技巧使之成为实质上的非线性分类器。
学习策略是间隔最大化,可形式化为求解凸二次优化问题。等价于正则化的合页损失函数的最小化问题。
学习算法是求解凸二次规划的最优化算法。
理解支持向量机可以从简至繁推进:线性可分支持向量机(硬间隔SVM),线性支持向量机(软间隔SVM),非线性支持向量机(软间隔最大化+核技巧)。
3.2 训练数据集
假设给定训练数据集:
T
=
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
T={(x_1,y_1), (x_2, y_2), ..., (x_N, y_N)}
T=(x1,y1),(x2,y2),...,(xN,yN)
其中
x
∈
R
n
x \in R^n
x∈Rn,
y
∈
{
+
1
,
−
1
}
y\in\{+1, -1\}
y∈{+1,−1},+1表示为正例,-1表示负例。
学习的目标在于在特征空间中寻找一个分离超平面 w ⋅ x + b = 0 w \cdot x + b = 0 w⋅x+b=0,将正例和负例正确分开。感知机利用误分类最小的策略。SVM利用间隔最大化的策略。
3.3 线性可分SVM
假设训练数据集线性可分,则存在无穷个分离超平面可将两类数据正确分开。若分类超平面为:
w
⋅
x
+
b
=
0
w \cdot x + b = 0
w⋅x+b=0
相应的分类决策函数为:
f
(
x
)
=
s
i
g
n
(
w
⋅
x
+
b
)
f(x)=sign(w \cdot x + b)
f(x)=sign(w⋅x+b)
这种判别为模型为线性可分SVM。
线性可分SVM的学习策略(寻找超平面的策略)为间隔最大化。
那么,何为间隔呢?
对于一个分离超平面
w
⋅
x
+
b
=
0
w \cdot x +b = 0
w⋅x+b=0,样本点
x
i
x_i
xi距离超平面的几何距离为:
γ
i
=
∣
w
⋅
x
+
b
∣
∣
∣
w
∣
∣
\gamma_i = \frac{|w \cdot x+b|}{||w||}
γi=∣∣w∣∣∣w⋅x+b∣。一般来说,点
x
i
x_i
xi距离超平面的远近可以表示分类预测的确信度。距离超平面较远的点,其分类预测结果更可信。
w
⋅
x
i
+
b
w \cdot x_i + b
w⋅xi+b的符号与类标记
y
i
y_i
yi是否一致表示分类的正确性。
间隔就是分类正确性和确信度的一种表达,可分为函数间隔和几何间隔。 ∣ w ⋅ x i + b ∣ |w \cdot x_i + b| ∣w⋅xi+b∣可以相对地表示点 x i x_i xi距离超平面的远近, y i ( w ⋅ x i + b ) y_i(w \cdot x_i +b) yi(w⋅xi+b)为函数间隔。 y i ( w ⋅ x i + b ) ∣ ∣ w ∣ ∣ \frac{y_i(w \cdot x_i + b)}{||w||} ∣∣w∣∣yi(w⋅xi+b)为几何间隔。
3.3.1 求解分割超平面的问题建模:间隔最大化
SVM学习的基本想法是求解能够正确划分训练数据集且几何间隔最大的分离超平面。
m
a
x
w
b
γ
max_{wb} \gamma
maxwbγ
s
.
t
.
y
i
(
w
⋅
x
i
+
b
)
∣
∣
w
∣
∣
>
γ
s.t. \frac{y_i(w \cdot x_i + b)}{||w||}>\gamma
s.t.∣∣w∣∣yi(w⋅xi+b)>γ
可以转化为:
m
i
n
w
b
1
2
∣
∣
w
∣
∣
2
min_{wb} \frac{1}{2}||w||^2
minwb21∣∣w∣∣2
s
.
t
.
y
i
(
w
⋅
x
i
+
b
)
)
>
=
1
s.t. y_i(w \cdot x_i + b)) >= 1
s.t.yi(w⋅xi+b))>=1
3.3.2 支持向量和间隔边界
在线性可分的情况下,训练数据集距离分离超平面最近的样本点成为支持向量(SV)。支持向量是使上面约束式等号成立的点,即:
y
i
(
w
⋅
x
i
+
b
)
−
1
=
0
y_i(w \cdot x_i + b) - 1 = 0
yi(w⋅xi+b)−1=0
对
y
i
=
+
1
y_i=+1
yi=+1的正例点,支持向量在超平面
H
1
:
w
⋅
x
+
b
=
1
H_1:w \cdot x + b =1
H1:w⋅x+b=1上。
对
y
i
=
−
1
y_i=-1
yi=−1的负例点,支持向量在超平面
H
2
:
w
⋅
x
+
b
=
−
1
H_2:w \cdot x + b =-1
H2:w⋅x+b=−1上。
H
1
和
H
2
H_1和H_2
H1和H2为间隔边界,之间的距离为间隔。
注: 决定分离超平面时,只有支持向量起作用。其他点的移动甚至去除都不会影响求解。