在深度学习流行之前,支持向量机是非常受欢迎的机器学习算法,几乎所有的分类问题都要用 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 是为了解决二分类问题,如下图所示,使用 wTx+b 的超平面将两类数据进行分隔.