SVM支持向量机
支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类(binary classification)的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)
数学模型
m
i
n
(
w
,
b
)
{
1
2
w
T
w
}
min(w,b) \{\frac{1}{2}w^Tw\}
min(w,b){21wTw}
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
s.t. \space y_i(w^Tx_i+b) \ge1
s.t. yi(wTxi+b)≥1
h
(
x
)
=
s
i
g
n
(
w
T
+
b
)
h(x) = sign(w^T+b)
h(x)=sign(wT+b)
带松弛变量的SVM数学模型:
m
i
n
(
w
,
b
)
{
1
2
w
T
w
+
C
∑
i
ξ
i
}
min(w,b) \{\frac{1}{2}w^Tw+C\sum_i\xi_i\}
min(w,b){21wTw+Ci∑ξi}
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
−
ξ
i
,
ξ
i
>
0
s.t. \space y_i(w^Tx_i+b) \ge1-\xi_i, \xi_i>0
s.t. yi(wTxi+b)≥1−ξi,ξi>0
h
(
x
)
=
s
i
g
n
(
w
T
+
b
)
h(x) = sign(w^T+b)
h(x)=sign(wT+b)
$C控制的是松弛度,越小越松弛
合页损失函数
上述条件变形:
ξ
i
≥
1
−
y
i
(
w
T
x
i
+
b
)
\xi_i\ge1-y_i(w^Tx_i+b)
ξi≥1−yi(wTxi+b)
相当于:
ξ
i
=
m
a
x
(
0
,
1
−
y
i
(
w
T
x
i
+
b
)
)
\xi_i=max(0,1-y_i(w^Tx_i+b))
ξi=max(0,1−yi(wTxi+b))
凸函数,容易优化:对于错误分类惩罚较小;支持向量个数远少于数据集,空间占比小
分段求导
求解方法
- 二次规划
- 转换为对偶问题
扩展到多分类
核函数
优缺点
- 对异常值(outlier)不敏感 处理方法:1. 放松限制条件s.t. 2. 处理线性不可分的情形(case在margin以内)必须放松限制