SVM线性可分情况
1. 线性可分
存在一条直线可以将 O
和 X
分开
存在一个平面可以将 O
和 X
分开
如果一个数据集是线性可分的,那么存在无穷多个超平面将各个类别分开。(有个证明,我不会)
2. 解决线性可分问题
问:哪一条最好?
答:大部分人都会认为是 2 号线比较好。其实是在假设的基础上,就是假设训练样本的位置在特征空间上有测量误差。2 号线更能抵抗训练样本位置的误差。
问:2 号线怎么画?
答:Vapnik 给出了一个基于最优化理论的答案。
假设对于任意一条分开两类的直线,将该直线朝一侧平行移动,直到插入到一个或者多个训练样本为止,同理朝另一侧平行移动。这两条平行线插入的训练样本称为这个数据集的支持向量,两条平行线之间的距离称为间隔,2 号线就是间隔最大的那条线。
SVM 寻找的最优分类直线应该满足:
- 该支线分开了两类
- 该直线最大化间隔(margin)
- 该直线处于间隔的中间,到 所有支持向量距离相等
3. 优化问题
3.1 线性可分数学定义
一个训练样本集 {(xi,yi)},i=1~N\{(x_i, y_i)\},i=1~N{(xi,yi)},i=1~N 线性可分,是指存在 (ω,b)(\omega, b)(ω,b) 使:
①当yi=+1时,ωTxi+b≥0②当yi=−1时,ωTxi+b<0综合①②得:yi[ωTxi+b]≥0(公式1)\begin{aligned}
&① 当 y_i = +1 时, \omega^Tx_i+b \ge 0 \\
&② 当 y_i = -1 时, \omega^Tx_i+b \lt 0 \\
&综合①②得: \\
&y_i[\omega^Tx_i+b]\ge0 (公式1)
\end{aligned}①当yi=+1时,ωTxi+b≥0②当yi=−1时,ωTxi+b<0综合①②得:yi[ωTxi+b]≥0(公式1)
其中,xix_ixi 为向量,yiy_iyi 为标签
3.2 SVM 优化问题
最小化:
12∣∣ω∣∣2\frac{1}{2}||\omega||^221∣∣ω∣∣2
限制条件:
yi[ωTxi+b]≥1(公式2)y_i[\omega^Tx_i+b]\ge1 (公式2)yi[ωTxi+b]≥1(公式2)
问:为什么这样写?
首先说明两个事实
- ωTx+b=0\omega^Tx+b=0ωTx+b=0 和 aωTx+ab=0a\omega^Tx+ab=0aωTx+ab=0 是同一个平面或同一条线,例如a(kx+b)=0a(kx+b)=0a(kx+b)=0 和 kx+b=0kx+b=0kx+b=0 是同一条线,其中 a∈R+a∈R^+a∈R+。
- 点(支持向量) X0X_0X0 到直线或者点到平面距离公式为
d=∣ωTX0+b∣∣∣ω∣∣d = \frac{|\omega^TX_0 + b|}{||\omega||}d=∣∣ω∣∣∣ωTX0+b∣
答:我们可以用 aaa 去缩放 (ω,b)→(aω,ab)(\omega, b) \to (a\omega, ab)(ω,b)→(aω,ab),
最终使在支持向量X0X_0X0上有:∣ωTX0+b∣=1|\omega^TX_0 + b| = 1∣ωTX0+b∣=1,
此时支持向量与平面距离 d=1∣∣ω∣∣d = \frac {1}{||\omega||}d=∣∣ω∣∣1
margin 也就是二倍的 ddd,我们的目的是为了最大化 margin,等价于最小化 ∣∣ω∣∣||\omega||∣∣ω∣∣,为什么写的时候加上了平方还乘一个12\frac{1}{2}21,那是为了方便求导进而方便求解。
问:公式 2 中的大于等于 1 可不可以写成 2 或者其他正数
答:可以,改成其他正数求得的 (ω′,b′)(\omega', b')(ω′,b′) 和为 1 时求得的 (ω,b)(\omega, b)(ω,b) 结果相差的倍数是一个常数 aaa。
SVM 优化问题也是凸优化问题中的二次规划问题,这个在最优化理论中有证明,这里只说结论:
如果:
- 目标函数为二次项
- 限制条件为一次项
那么,求解只有两种情况:
- 无解
- 只有一个极值