序
SVM是一种二分类模型,其学习策略为间隔最大化,也等价于“正则化的合页损失函数”最小化。
SVM可分为以下三种类型:
• 线性可分支持向量机:硬间隔
• 线性支持向量机:软间隔
• 非线性支持向量机:核函数
本文将对以上三种类型的SVM做详细解释与推导,还将介绍一种快速学习算法:序列最小最优化算法(SMO)。
线性可分支持向量机
这是SVM最基本形式,其要求所提供的所有样本,必然线性可分。
假设分类决策函数为
f
(
x
)
=
s
i
g
n
(
w
∗
⋅
x
+
b
∗
)
f(x)=sign(w^*\cdot x+b^*)
f(x)=sign(w∗⋅x+b∗),其中
s
i
g
n
(
)
sign()
sign()为符号函数。
几个基本定义
间隔最大化
且可以证明,此最优间隔一定存在且唯一,且最优解必然满足
w
∗
≠
0
w^*\ne 0
w∗=0,因为如果这样,则依赖条件就变成
y
i
⋅
b
≥
1
y_i \cdot b \ge 1
yi⋅b≥1,而
y
i
y_i
yi可正可负,因此不满足条件。而
w
⋅
x
+
b
=
1
和
w
⋅
x
+
b
=
−
1
w\cdot x + b = 1 和 w\cdot x + b = -1
w⋅x+b=1和w⋅x+b=−1被称为间隔平面,落在它们上的点被称为支持向量。
拉格朗日函数及其对偶问题即KKT条件
推导线性可分支持向量机
线性支持向量机
非线性支持向量机与核函数
多项式核函数
高斯核函数->径向基函数RBF
序列最小优化算法SMO
SMO(Sequential Minimal Optimization)序列最小最优化算法,是一种启发式算法,用于高效求解SVM的参数——拉格朗日乘子
α
i
\alpha_i
αi。
SMO要解决的如下凸二次规划的对偶问题:
m
i
n
α
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
K
(
x
i
,
x
j
)
−
∑
i
=
1
N
α
i
s
.
t
.
∑
i
=
1
N
α
i
y
i
=
0
0
≤
α
i
≤
C
,
i
=
1
,
2
,
.
.
.
,
N
\mathop{min}_\alpha \frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i\alpha_jy_iy_jK(x_i,x_j)-\sum_{i=1}^{N}\alpha_i\\ s.t. \sum_{i=1}^{N}\alpha_iy_i=0\\ 0\le\alpha_i\le C,i=1,2,...,N
minα21∑i=1N∑j=1NαiαjyiyjK(xi,xj)−∑i=1Nαis.t.∑i=1Nαiyi=00≤αi≤C,i=1,2,...,N