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

  1. 最终得到的决策超平面为:

  2. 关于支持向量: 通过优化计算可以发现, 最终得到的 是稀疏的, 即只有少数 不为 . 这些 对应的样本点 就是支持向量, 它们是决策超平面的关键点. 事实上, 这些支持向量就是接近决策边界的点, 它们支持着决策边界.