6.1 间隔与支持向量
对于线性可分数据集,支持向量机就是找距离正负样本都最远的超平面,相比于感知机,其解是唯一的,且不偏不倚,泛化性能更好。
6.1.1 超平面
对 n n n 维空间的超平面 ( w T x + b = 0 \left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b=0\right. (wTx+b=0, 其中 w , x ∈ R n ) \left.\boldsymbol{w}, \boldsymbol{x} \in \mathbb{R}^{n}\right) w,x∈Rn) :
任意点
x
x
x 到超平面的距离公式为
r
=
∣
w
T
x
+
b
∣
∥
w
∥
r=\frac{\left|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right|}{\|\boldsymbol{w}\|}
r=∥w∥∣∣wTx+b∣∣
【证明】:对于任意一点
x
0
=
(
x
1
0
,
x
2
0
,
…
,
x
n
0
)
T
\boldsymbol{x}_{0}=\left(x_{1}^{0}, x_{2}^{0}, \ldots, x_{n}^{0}\right)^{\mathrm{T}}
x0=(x10,x20,…,xn0)T ,设其在超平面
w
T
x
+
b
=
0
\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b=0
wTx+b=0 上的投影点为
x
1
=
(
x
1
1
,
x
2
1
,
…
,
x
n
1
)
T
\boldsymbol{x}_{1}=\left(x_{1}^{1}, x_{2}^{1}, \ldots, x_{n}^{1}\right)^{\mathrm{T}}
x1=(x11,x21,…,xn1)T ,则
w
T
x
+
b
=
0
\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b=0
wTx+b=0 ,且向量
x
1
x
0
→
\overrightarrow{\boldsymbol{x}_{1} \boldsymbol{x}_{0}}
x1x0 与法向量
w
\boldsymbol{w}
w 平行,
r
r
r 是任意一点到法平面的距离
将法向量与任意一点到超平面的向量相乘
第一种表达:
∣
w
⋅
x
1
x
0
→
∣
=
∣
∥
w
∥
⋅
cos
π
⋅
∥
x
1
x
0
→
∥
∣
=
∥
w
∥
⋅
∥
x
1
x
0
→
∥
=
∥
w
∥
⋅
r
\left|\boldsymbol{w} \cdot \overrightarrow{\boldsymbol{x}_{1} \boldsymbol{x}_{0}}\right|=\left|\|\boldsymbol{w}\| \cdot \cos \pi \cdot\left\|\overrightarrow{\boldsymbol{x}_{1} \boldsymbol{x}_{0}}\right\|\right|=\|\boldsymbol{w}\| \cdot\left\|\overrightarrow{\boldsymbol{x}_{1} \boldsymbol{x}_{0}}\right\|=\|\boldsymbol{w}\| \cdot r
∣∣∣w⋅x1x0∣∣∣=∣∣∣∥w∥⋅cosπ⋅∥∥∥x1x0∥∥∥∣∣∣=∥w∥⋅∥∥∥x1x0∥∥∥=∥w∥⋅r
第二种表达:
w
⋅
x
1
x
0
→
=
w
1
(
x
1
0
−
x
1
1
)
+
w
2
(
x
2
0
−
x
2
1
)
+
…
+
w
n
(
x
n
0
−
x
n
1
)
=
w
1
x
1
0
+
w
2
x
2
0
+
…
+
w
n
x
n
0
−
(
w
1
x
1
1
+
w
2
x
2
1
+
…
+
w
n
x
n
1
)
=
w
T
x
0
−
w
T
x
1
=
w
T
x
0
+
b
\begin{aligned} \boldsymbol{w} \cdot \overrightarrow{\boldsymbol{x}_{1} \boldsymbol{x}_{0}} &=w_{1}\left(x_{1}^{0}-x_{1}^{1}\right)+w_{2}\left(x_{2}^{0}-x_{2}^{1}\right)+\ldots+w_{n}\left(x_{n}^{0}-x_{n}^{1}\right) \\ &=w_{1} x_{1}^{0}+w_{2} x_{2}^{0}+\ldots+w_{n} x_{n}^{0}-\left(w_{1} x_{1}^{1}+w_{2} x_{2}^{1}+\ldots+w_{n} x_{n}^{1}\right) \\ &=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{0}-\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{1} \\ &=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{0}+b \end{aligned}
w⋅x1x0=w1(x10−x11)+w2(x20−x21)+…+wn(xn0−xn1)=w1x10+w2x20+…+wnxn0−(w1x11+w2x21+…+wnxn1)=wTx0−wTx1=wTx0+b
可以得到距离表达式
∣
w
T
x
0
+
b
∣
=
∥
w
∥
⋅
r
⇒
r
=
∣
w
T
x
+
b
∣
∥
w
∥
\left|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{0}+b\right|=\|\boldsymbol{w}\| \cdot r \Rightarrow r=\frac{\left|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right|}{\|\boldsymbol{w}\|}
∣∣wTx0+b∣∣=∥w∥⋅r⇒r=∥w∥∣∣wTx+b∣∣
6.1.2 几何间隔
对于给定的数据集
X
X
X 和超平面
w
T
x
+
b
=
0
\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b=0
wTx+b=0 ,定义数据集中的任意一个样本点
(
x
i
,
y
i
)
\left(\boldsymbol{x}_{i}, y_{i}\right)
(xi,yi) ,
y
i
∈
{
−
1
,
1
}
,
i
=
1
,
2
,
…
y_{i} \in\{-1,1\}, i=1,2, \ldots
yi∈{−1,1},i=1,2,… ,
m
m
m 关于超平面的几何间隔为
γ
i
=
y
i
(
w
T
x
i
+
b
)
∥
w
∥
\gamma_{i}=\frac{y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right)}{\|\boldsymbol{w}\|}
γi=∥w∥yi(wTxi+b)
-
正确分类时(几何间隔此时也等价于点到超平面的距离), γ i > 0 \gamma_{i}>0 γi>0:
- 正样本在正空间: y i = 1 > 0 y_{i}= 1 >0 yi=1>0 , w T x + b > 0 \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b>0 wTx+b>0
- 负样本在负空间: y i = − 1 < 0 y_{i}=-1<0 yi=−1<0 , w T x + b < 0 \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b<0 wTx+b<0
-
没有正确分类时, γ i < 0 \gamma_{i}<0 γi<0:
- 正样本在负空间: y i = 1 > 0 y_{i}=1>0 yi=1>0 , w T x + b < 0 \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b<0 wTx+b<0
- 负样本在正空间: y i = − 1 < 0 y_{i}=-1<0 yi=−1<0 , w T x + b > 0 \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b>0 wTx+b>0
对于给定的数据集
X
X
X 和超平面
w
T
x
+
b
=
0
\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b=0
wTx+b=0 ,定义数据集
X
X
X 关于超平面的几何间隔
为:数据集
X
X
X 中所有样本点的几何间隔最小值
γ
=
min
i
=
1
,
2
,
…
,
m
γ
i
\gamma=\min _{i=1,2, \ldots, m} \gamma_{i}
γ=i=1,2,…,mminγi
6.1.3 支持向量机
模型:给定线性可分数据集 X X X,支持向量机模型希望求得数据集关 X X X 于超平面的几何间隔 γ \gamma γ 达到最大的那个超平面,然后套上一个 sign \operatorname{sign} sign 函数实现分类功能
y
=
sign
(
w
T
x
+
b
)
=
{
1
,
w
T
x
+
b
>
0
−
1
,
w
T
x
+
b
<
0
y=\operatorname{sign}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right)=\left\{\begin{array}{rr} 1, & \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b>0 \\ -1, & \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b<0 \end{array}\right.
y=sign(wTx+b)={1,−1,wTx+b>0wTx+b<0
所以其本质和感知机一样,仍然是在求一个超平面。
问:几何间隔最大的超平面就一定是我们前面所说的那个“距离正负样本都最远的超平面”吗?
答:是的,原因有以下两点:
-
当超平面没有正确划分正负样本时:几何间隔最小的为误分类点,此时所有的误分类点的几何间隔都小于0,即 γ i < 0 \gamma_{i}<0 γi<0 ,所以 γ < 0 \gamma<0 γ<0。不考虑这种情况。
-
当超平面正确划分超平面时:几何间隔就是点到超平面的距离, γ ⩾ 0 \gamma \geqslant 0 γ⩾0,超平面越靠近中心,离超平面最近的点的直线距离越远,即 γ \gamma γ 越大。
策略:给定线性可分数据集
X
X
X ,设
X
X
X 中几何间隔最小的样本为
(
x
min
,
y
min
)
\left(\boldsymbol{x}_{\min }, y_{\min }\right)
(xmin,ymin),那么支持向量机找超平面的过程可以转化为以下带约束条件的优化问题
max
γ
s.t.
γ
i
⩾
γ
,
i
=
1
,
2
,
…
,
m
max
w
,
b
y
min
(
w
T
x
min
+
b
)
∥
w
∥
s.t.
y
i
(
w
T
x
i
+
b
)
∥
w
∥
⩾
y
min
(
w
T
x
min
+
b
)
∥
w
∥
,
i
=
1
,
2
,
…
,
m
max
w
,
b
y
min
(
w
T
x
min
+
b
)
∥
w
∥
s.t.
y
i
(
w
T
x
i
+
b
)
⩾
y
min
(
w
T
x
min
+
b
)
,
i
=
1
,
2
,
…
,
m
\begin{aligned} &\begin{array}{cl} \max & \gamma \\ \text { s.t. } & \gamma_{i} \geqslant \gamma, \quad i=1,2, \ldots, m \end{array}\\ &\max _{\boldsymbol{w}, b} \frac{y_{\min }\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{\min }+b\right)}{\|\boldsymbol{w}\|}\\ &\text { s.t. } \frac{y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right)}{\|\boldsymbol{w}\|} \geqslant \frac{y_{\min }\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{\min }+b\right)}{\|\boldsymbol{w}\|}, \quad i=1,2, \ldots, m\\ &\max _{\boldsymbol{w}, b} \frac{y_{\min }\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{\min }+b\right)}{\|\boldsymbol{w}\|}\\ &\text { s.t. } \quad y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right) \geqslant y_{\min }\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{\min }+b\right), \quad i=1,2, \ldots, m \end{aligned}
max s.t. γγi⩾γ,i=1,2,…,mw,bmax∥w∥ymin(wTxmin+b) s.t. ∥w∥yi(wTxi+b)⩾∥w∥ymin(wTxmin+b),i=1,2,…,mw,bmax∥w∥ymin(wTxmin+b) s.t. yi(wTxi+b)⩾ymin(wTxmin+b),i=1,2,…,m
假设该问题的最优解为
(
x
∗
,
y
∗
)
\left(\boldsymbol{x}^{*}, y^{*}\right)
(x∗,y∗),那么
(
α
x
∗
,
α
y
∗
)
\left(\alpha\boldsymbol{x}^{*}, \alpha y^{*}\right)
(αx∗,αy∗),
α
∈
R
+
\alpha \in \mathbb{R}^{+}
α∈R+(若为负则会反向),且超平面也不变(上下约掉)。因此还需要对
w
,
b
\boldsymbol{w},b
w,b 做一定限制才能使得上述优化问题有可解的唯一解。
在支持向量机里,固定分子,令
y
min
(
w
T
x
min
+
b
)
=
1
y_{\min }\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{\min }+b\right)=1
ymin(wTxmin+b)=1 ,因为给定数据集的情况下,
(
x
min
,
y
min
)
\left(\boldsymbol{x}_{\min }, y_{\min }\right)
(xmin,ymin) 也固定,未知的只有
w
T
,
b
\boldsymbol{w}^\mathrm{T},b
wT,b ,当1也固定的时候,能使得
y
min
(
w
T
x
min
+
b
)
=
1
y_{\min }\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{\min }+b\right)=1
ymin(wTxmin+b)=1 的
α
\alpha
α 有且仅有一个。因此上述优化问题进一步转化为
max
w
,
b
1
∥
w
∥
s.t.
y
i
(
w
T
x
i
+
b
)
⩾
1
,
i
=
1
,
2
,
…
,
m
\begin{array}{ll} \max _{\boldsymbol{w}, b} & \frac{1}{\|\boldsymbol{w}\|} \\ \text { s.t. } & y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right) \geqslant 1, \quad i=1,2, \ldots, m \end{array}
maxw,b s.t. ∥w∥1yi(wTxi+b)⩾1,i=1,2,…,m
为了方便后续计算,再进一步进行恒等变换
min
w
,
b
1
2
∥
w
∥
2
s.t.
1
−
y
i
(
w
T
x
i
+
b
)
⩽
0
,
i
=
1
,
2
,
…
,
m
\begin{array}{ll} \min _{\boldsymbol{w}, b} & \frac{1}{2}\|\boldsymbol{w}\|^{2} \\ \text { s.t. } & 1-y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right) \leqslant 0, \quad i=1,2, \ldots, m \end{array}
minw,b s.t. 21∥w∥21−yi(wTxi+b)⩽0,i=1,2,…,m
支持向量机通常采用拉格朗日对偶来求解含不等式约束的优化问题。