1. Problem Setup
SVM 主要用于处理分类任务.
具体地, 我们有如下训练集 , 希望能够构造一个函数 , such that
进一步, 为了模型的简便性, 我们希望构造的函数是线性的, 或至少是仿射的 (affine):
可以认为上述 构造了一个超平面 (hyperplane). 由解析几何知识可知, 是超平面的法向量, 是超平面的截距.
2. Naive Optimization Objective
首先定义点 到平面的距离 :
Proof of point-to-hyperplane distance
已知 是平面上的法向量, 是平面外的一点, 是 向平面做垂线的垂足, 则有
故
命题由上式最后一个等号变形即证.
再定义点集 到超平面的距离 :
将这个距离称为 margin.
在给出上述定义后, 给出理想超平面的分类准则, 即希望得到的超平面对任意类别的集合的距离最大:
由对称性, 有 , 故上式可化为:
观察上式, 会发现 对于超平面的优化没有影响. 换言之, 我们可以通过坐标变换, 在不改变超平面的法向量 和截距 的情况下, 改变 的值.
因此, 可以不妨令 归一化为 . 此时上式变为:
但是我们还需要在优化问题中指示分类的正误与否. 具体而言, 对于 margin 上的两个点 和 , 希望它们被正确分类:
考虑到 margin 上的点已经是该类别点中的最小值, 则其余点的距离都将大于 . 由此整合, 得到正确分类时的条件:
结合 (3)(4) 两式, 最终得到正式的朴素分类优化目标:
3. Mathematical Derivation
为了方便, 继续对上述优化目标进行变形. 首先该优化目标等价于:
为解决这一优化问题, 引入 Lagrange multiplier, 希望优化目标 Lagrange 函数为:
其中, 记 . 此外, 注意式中 penalty 项中的符号方向.
但是 中的优化函数存在问题:
- 考虑数据集中远离超平面的数据点, 会发现这些点会使得 penalty 项很负, 从而极大地影响优化结果.
- 然而, 事实上超平面的位置并不应该被这些远离 margin 的点影响.
- Ideally, 我们只需要优化函数指示分类是否大于 . 对于大于 的 case, 即不在 margin 上的点, 我们并不关心它们的具体位置.
因此得到修改后的最终 Lagrange 优化函数:
其中引入截断函数:
# Hinge Function Plot
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-2, 2, 100)
y = np.maximum(0, x)
plt.plot(x, y)
plt.xlabel("x")
plt.ylabel("y")
plt.title("Hinge Function")
plt.show()4. Convex Optimization Transformations
4.1 Squeezing / Relaxing
继续整理上述优化内容, 得到:
Intuition (Squeezing).
- 上述优化内容中, 表示需要优化的 margin, 后面 是 penalty.
- 由于 的加入, 优化中希望这一项尽可能小, 但至少要大于等于 .
- 可以近似将 看作是 的 inf.
- 因此在不断缩小 的同时, 就在不断缩小 , 也就是在不断增大 margin.
Intuition (Relaxing).
首先有下列事实:
这一事实可以理解为:
- 可以放宽原先的 约束, 允许一些误分类的点存在; 即将原约束放宽为 , 其中 .
- 接着希望误分类的情况尽可能少出现, 即最小化 .
Note: Squeezing and relaxing
Squeezing 和 relaxing 都是在优化中常见的处理非线性等复杂情况的手段.
4.2 Lagrange Duality
一般地, 有下列约束问题:
得到对应的 Lagrange 函数:
为了解决上述优化问题, 可以将 Lagrange 函数处理成 inner 和 outer 两个优化问题.
Inner Optimization Problem.
Outer Optimization Problem.
代入上面已经得到的最优化 , 进行优化有:
这是一个 minimax 的策略.
Explanation of the minimax strategy
首先当 即处于可行域中时, 一定恒有
而 RHS 就是 Lagrange Function, 即 , 由此得到了 的一个 sup.
由此推出, 定有:
进一步, 亦有:
当控制住 的取值时, 再改变 将不会再改变 (3) 中的符号方向, 故有
上式中对 取 的原因是, 是我们的优化目标, 在满足约束条件的前提下, 希望最终优化的结果可以尽可能接近 .
说明:
- 在满足一定条件下, (4) 中的不等号将严格取等, 即对于 Lagrange Function 的 minimax 策略最终完全逼近其 sup.
- 我们称该条件为 Slater’s Condition.
- 对于能够严格取等的情况, 称为 strong duality; 反之则为 weak duality.
进一步处理, 首先恒有如下不等式:
代入到上述 (3)(4) 中, 就可以将约束优化转化为无约束优化:
可以证明, 对于满足 Slater’s Condition 的情况, 等号依然可以严格取到.
4.3 Example of Lagrange Duality
Example (Minimum distance hyperplane). 考虑如下优化问题: 寻找一个经过 的平面使得到原点的距离最小, 即
Solution
构造 Lagrange Function:
再构造对偶问题.
Inner optimization:
Outer optimization:
上例很好地体现了 Lagrange dual problem 的优势: 其有效地将原问题转化为 inner 和 outer 两个相对更好解决的问题:
- Inner problem 由前面的证明已知, 是一个无约束问题.
- Outer problem 在代入 inner problem 之后得到一个更为简单的优化问题.
4.4 Lagrange Duality for SVM
回忆原 SVM 优化问题为:
写作 Lagrange multiplier form:
进行 Lagrange duality.
Inner Problem.
Outer Problem.
Bring the inner problem into the outer problem:
subject to
故得到最终的对偶优化问题:
这一对偶问题是一个非常典型的二次规划问题 (Quadratic Programming Problem), 具有成熟算法可以解决. 因此可以认为已经得到了最优解 , 进而得到最优的 和 .
Definition (Support Vector Machine). 上述约束优化问题称为支持向量机.
5. Notes on SVM
-
最终得到的决策超平面为:
-
关于支持向量: 通过优化计算可以发现, 最终得到的 是稀疏的, 即只有少数 不为 . 这些 对应的样本点 就是支持向量, 它们是决策超平面的关键点. 事实上, 这些支持向量就是接近决策边界的点, 它们支持着决策边界.