相关概念
函数间隔
γ ^ = y i ( w x i + b ) \hat\gamma = y_i(wx_i+b) γ^=yi(wxi+b)
在分类超平面0 w x + b = 0 wx+b=0 wx+b=0确定的情况下, w x + b wx+b wx+b与 y i y_i yi的符号情况可以衡量分类的正确性,而 ∣ w x + b ∣ |wx+b| ∣wx+b∣可以衡量点到超平面的距离,因此 γ ^ \hat\gamma γ^可以衡量分类的正确性和确信度。
几何间隔
γ = γ ^ ∣ ∣ w ∣ ∣ = y i ( w ∣ ∣ w ∣ ∣ x i + 1 ∣ ∣ w ∣ ∣ b ) \gamma=\frac{\hat\gamma}{||w||}=y_i(\frac{w}{||w||}x_i+\frac{1}{||w||}b) γ=∣∣w∣∣γ^=yi(∣∣w∣∣wxi+∣∣w∣∣1b)
同比例的放大w和b,并不会改变超平面,但是会改变函数间隔,因此导致几何间隔
点到超平面距离
初中几何学过,点
(
x
,
y
)
(x,y)
(x,y)到直线
A
x
+
B
y
+
C
=
0
Ax+By+C=0
Ax+By+C=0的距离为:
∣
A
x
+
B
y
+
C
∣
A
2
+
B
2
\frac{|Ax+By+C|}{\sqrt{A^2+B^2}}
A2+B2∣Ax+By+C∣
推广之可得点到超平面的距离:
∣
w
x
+
b
∣
∣
∣
w
∣
∣
\frac{|wx+b|}{||w||}
∣∣w∣∣∣wx+b∣
支持向量机
问题导出
求解过程
拉格朗日函数:
对偶问题:
即:
若对偶问题有解 α ∗ = ( α 1 ∗ , α 2 ∗ , … , α N ∗ ) \alpha^*=(\alpha^*_1, \alpha^*_2, \dots, \alpha^*_N) α∗=(α1∗,α2∗,…,αN∗),则存在 α j ∗ > 0 \alpha^*_j>0 αj∗>0,使得原问题的解为:
则SVM的决策函数可以写成:
f
(
x
)
=
s
i
g
n
(
∑
i
=
1
N
α
i
∗
y
i
(
x
i
x
)
+
b
∗
)
f(x)=sign(\sum_{i=1}^{N}\alpha^*_iy_i(x_ix)+b^*)
f(x)=sign(i=1∑Nαi∗yi(xix)+b∗)
软间隔
对线性不可分的数据,可以引入软间隔,SVM原始问题变为:
此时,解
w
∗
w^*
w∗唯一,但
b
b
b的解不唯一,而是存在与一个区间中。
对偶问题:
若对偶问题有解 α ∗ = ( α 1 ∗ , α 2 ∗ , … , α N ∗ ) \alpha^*=(\alpha^*_1, \alpha^*_2, \dots, \alpha^*_N) α∗=(α1∗,α2∗,…,αN∗),若存在一个分量 0 < α j ∗ < C 0<\alpha^*_j<C 0<αj∗<C,那么原问题有解:
SMO算法
基本思想
若所有变量的解都满足KKT条件,那么问题的解就得到了,因为KKT条件是最优化问题的充要条件;否则,选择两个变量,固定其他变量,构建针对两个变量的二次规划问题,这个问题的解会使得目标函数值变得更小,因此更接近原最优化问题的解。而两变量的二次规划问题可以通过解析方法求解,因此可以大大提高速度。
选择的两个变量一个是违反KKT条件最严重的那个,另一个由约束条件自动确定。整个SMO算法包括两部分:求解两变量二次规划问题的解析方法和选择变量的启发式方法。
两变量二次规划问题
选定 α 1 , α 2 \alpha_1, \alpha_2 α1,α2,固定其他变量,最优化问题变为:
其中
K
i
j
=
K
(
x
i
,
x
j
)
K_{ij}=K(x_i, x_j)
Kij=K(xi,xj)。约束条件使得问题的解在平行于对角线的一条线段上。
那么其实可以看做单变量的最优化问题。