第七章 支持向量机
支持向量机(support vector machines,SVM)是一种二分类模型
三要素
模型
定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。
策略
间隔最大化。可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。
算法
求解凸二次规划的最优化算法
为什么叫支持向量机
7.1 线性可分支持向量机与硬间隔最大化
7.1.1 线性可分向量机
线性可分指的是可以完全分开,即超平面 ω ⋅ x + b = 0 \omega·x+b=0 ω⋅x+b=0上没有样本点。
我们要使得最小几何间隔最大化
7.1.2函数间隔与几何间隔
定义
7.1.3 间隔最大化
- 凸优化问题指的是约束最优化问题
- 最大间隔分离超平面的存在与唯一性
**存在性:**由于训练数据中既有正类点又有负类点,所以(w,b)=(0,b)不是最优化的可行解,因此最优解必定满足w不等于0,由此可知分离超平面的存在性。
理解: y ( ω ⋅ x + b ) > 0 为 正 确 分 类 , ω = 0 时 , y ( ω ⋅ x + b ) − − > y b y(\omega·x+b)>0为正确分类,\omega=0时,y(\omega·x+b)-->yb y(ω⋅x+b)>0为正确分类,ω=0时,y(ω⋅x+b)−−>yb
若 b > 0 , 负 类 无 法 正 确 分 类 , 反 之 正 类 无 法 正 确 分 类 若b>0,负类无法正确分类,反之正类无法正确分类 若b>0,负类无法正确分类,反之正类无法正确分类
算法 7.1 最大间隔算法
7.1.4 学习的对偶问题
算法7.2 线性可分支持向量机学习算法
7.2 线性支持向量机与软间隔最大化
7.2.1 线性支持向量机
训练集: 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 i ∈ X = R n , y i ∈ Y = { + 1 , − 1 } x_i\in\mathcal{X}=R^n,y_i\in\mathcal{Y}=\{+1,-1\} xi∈X=Rn,yi∈Y={+1,−1}
线性可分: y i ( ω ⋅ x i + b ) ≥ 1 y_i(\omega·x_i+b)\geq1 yi(ω⋅xi+b)≥1
位于间隔区域内的点: y i ( ω ⋅ x i + b ) + ξ i ≥ 1 此 时 ξ i ∈ ( 0 , 1 ) y_i(\omega·x_i+b)+\xi_i\geq1此时\xi_i\in(0,1) yi(ω⋅xi+b)+ξi≥1此时ξi∈(0,1)
位于间隔边界外(相反方向): y i ( ω ⋅ x i + b ) + ξ i ≥ 1 此 时 ξ i > 1 , ξ i 为 松 弛 变 量 y_i(\omega·x_i+b)+\xi_i\geq1此时\xi_i>1,\xi_i为松弛变量 yi(ω⋅xi+b)+ξi≥1此时ξi>1,ξi为松弛变量
此时约束条件:
KaTeX parse error: Can't use function '$' in math mode at position 2: $̲y_i(\omega·x_i+…
此时目标函数为:
1
2
∣
∣
ω
∣
∣
+
C
∑
i
=
1
N
ξ
i
\frac{1}{2}||\omega||+C\sum_{i=1}^{N}\xi_i
21∣∣ω∣∣+Ci=1∑Nξi
C>0时称为惩罚参数,C值越大,对误分类惩罚越大,反之越小
此时优化问题:(凸二次规划问题)
7.2.2 原始问题与对偶问题
7.2.3 合页损失函数
7.3 非线性支持向量机与核函数
7.3.1 核技巧
非线性可分问题
不同于线性可分问题,存在一个超平面可使其分离,这里存在的是一个超曲面,称为非线性可分,同样的存在非线性不可分
核函数
映射 ϕ ( x ) \phi(x) ϕ(x)不唯一且维度也不唯一,但是他们对应的核函数相同
7.3.2 正定核
空间
正定核的充要条件
K ( x , z ) 是 正 定 核 ⇔ K 是 半 正 定 矩 阵 K(x,z)是正定核\Leftrightarrow K是半正定矩阵 K(x,z)是正定核⇔K是半正定矩阵
7.3.3 常用核函数
3.定义在离散集合
[
ϕ
n
(
s
)
]
u
=
Σ
i
:
s
(
i
)
=
u
λ
l
(
i
)
[\phi_n(s)]_u=\Sigma_{i:s(i)=u} \lambda^{l(i)}
[ϕn(s)]u=Σi:s(i)=uλl(i)
7.3.4 非线性支持向量机
7.4 优化算法
7.4.1 序列最优化算法
初始可行解为
α
1
o
,
α
2
o
,
最
优
解
为
α
1
n
,
α
2
n
\alpha_1^o,\alpha_2^o,最优解为\alpha_1^n,\alpha_2^n
α1o,α2o,最优解为α1n,α2n取值范围需要满足
L
≤
α
2
n
≤
H
L\leq\alpha_2^n\leq H
L≤α2n≤H
7.4.2 变量选择方法
1.第一个变量的选择
选择违反KKT条件最严重的样本点
2.第二个变量的选择
选择使 ∣ E 1 − E 2 ∣ |E_1-E_2| ∣E1−E2∣最大的 α 2 \alpha_2 α2
3.b与 E i \ E_i Ei计算
当
0
<
α
1
n
<
C
0<\alpha_1^n<C
0<α1n<C时
当 0 < α 2 n < C 0<\alpha_2^n<C 0<α2n<C