在深度学习流行之前, 支持向量机是非常受欢迎的机器学习算法, 几乎所有的分类问题都要用SVM跑一遍.

SVM和前面介绍的感知机有什么区别呢?

  • 感知机利用错误驱动的思想求解超平面, 但是这个解有无穷多.
  • SVM利用最大化间隔求解超平面, 此时只有唯一解.

SVM有三宝: 间隔对偶核技巧

从类别上来看, 分为三类:

  1. 硬间隔: hard-margin SVM
  2. 软间隔: soft-margin SVM
  3. 核方法: kernel SVM

1. Hyperplane

在了解 SVM 的知识前, 我认为我们还是需要先了解一下什么是超平面. 根据定义: 在几何中, 超平面指的是比所处空间少一个维度的子空间.

用人话讲, 超平面就是对某一维度空间 (比如我们生活的三维空间) 而言, 更低一维度的子空间 (比如面前的一个二维平面), 这个超平面将空间分为两部分.

  • 0维的点可以将1维的线分为两部分
  • 1维的线可以将2维的面分为两部分
  • 2维的面可以将3维的体分为两部分

2. Hard-margin SVM

本节先介绍SVM中最简单的模型: 硬间隔SVM. 最初SVM是为了解决二分类问题, 如下图所示, 使用 $w^Tx+b$ 的超平面将两类数据进行分隔.