支持向量机(support vector machines, SVM)是一种二分类模型。基本模型是定义在特征空间上的间隔最大的线性分类器;学习策略:间隔最大化;学习算法:求解凸二次规划的最优化算法。

支持向量机分为线性可分支持向量机(linear support vector machine in linearly separable case)、线性支持向量机(linear support vector machine)、非线性支持向量机(non-linear support vector machine)。

支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后 维空间的超平面 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_02,其中 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_03

  • 超平面方程不唯一
  • 法向量 支持向量机模型预测预后 支持向量机数学模型_支持向量机_04 和位移项 支持向量机模型预测预后 支持向量机数学模型_支持向量机_05
  • 法向量 支持向量机模型预测预后 支持向量机数学模型_支持向量机_04 垂直于超平面(缩放 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_07
  • 法向量 支持向量机模型预测预后 支持向量机数学模型_支持向量机_04
  • 任意点 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_09

支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_10

  • 若存在一个划分样本类别的超平面,则存在无数个可划分的超平面。

线性可分支持向量机

如下图所示,分类目标是将两类样本分开。

支持向量机模型预测预后 支持向量机数学模型_数学模型_11


二分类问题中,划分超平面应满足(以下条件可扩充至高维的情形):

  1. 正确划分两类样本
  2. 过「支持向量」且平行于「划分超平面」的两个超平面距离最大(间隔最大
  3. 距所有「支持向量」距离相等

数学模型

根据划分超平面的满足条件,推导支持向量机的数学模型。

定义数据及标签

给定训练数据集 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_12,共有两类标签 支持向量机模型预测预后 支持向量机数学模型_支持向量机_13支持向量机模型预测预后 支持向量机数学模型_缩放_14 为反例,支持向量机模型预测预后 支持向量机数学模型_缩放_15

划分超平面的线性模型

划分超平面线性模型:支持向量机模型预测预后 支持向量机数学模型_缩放_16。其中,支持向量机模型预测预后 支持向量机数学模型_数学模型_17 为法向量,决定超平面的方向;支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_18 为偏移项,决定超平面与原点间的距离。划分超平面可简记为 支持向量机模型预测预后 支持向量机数学模型_数学模型_19

正确线性划分

假设超平面 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_20

从划分超平面来看,对于 支持向量机模型预测预后 支持向量机数学模型_支持向量机_21,若 支持向量机模型预测预后 支持向量机数学模型_支持向量机_22 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_23,则有 支持向量机模型预测预后 支持向量机数学模型_支持向量机_24;若 支持向量机模型预测预后 支持向量机数学模型_缩放_14, 则有 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_26。简写为:
支持向量机模型预测预后 支持向量机数学模型_缩放_27
从穿过「支持向量」且平行于「划分超平面」的两个超平面来看,对于 支持向量机模型预测预后 支持向量机数学模型_支持向量机_21,若 支持向量机模型预测预后 支持向量机数学模型_缩放_15,则有支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_30

支持向量机模型预测预后 支持向量机数学模型_缩放_14,则有 支持向量机模型预测预后 支持向量机数学模型_支持向量机_32。简写为:
支持向量机模型预测预后 支持向量机数学模型_支持向量机_33
确定划分超平面时只有支持向量起作用,其他样本点不起作用。如果移动支持向量将改变所求的解;但移动、去掉其他样本点,解不会改变,因此采用公式 (2) 来表示正确线性划分更好。

间隔最大

两类支持向量所在超平面间的距离支持向量到划分超平面的距离*2两个角度,可得异类支持向量到划分超平面的距离和为:
支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_34
综上,可得支持向量机数学模型:
支持向量机模型预测预后 支持向量机数学模型_缩放_35
目标函数表示:过「支持向量」的平行于「最优划分超平面」的两个超平面距离最大(间隔最大)。

目标函数中乘 支持向量机模型预测预后 支持向量机数学模型_数学模型_36

思考

  • 约束方程为什么乘 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_37
    支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_38 的符号与类别标记 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_37
  • 约束方程右端为什么是1?可以为其他数吗?
    约束方程右端的数可以改成任意的正数。若改为正数 支持向量机模型预测预后 支持向量机数学模型_支持向量机_40 ,意味着所有向量距离最优划分超平面最小距离为 支持向量机模型预测预后 支持向量机数学模型_支持向量机_40,参数 支持向量机模型预测预后 支持向量机数学模型_缩放_42 的值与原来的为 1 时的只差 支持向量机模型预测预后 支持向量机数学模型_支持向量机_40
  • 为什么取 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_37
    两个值表示两类不同样本,和 支持向量机模型预测预后 支持向量机数学模型_缩放_45 式中的 支持向量机模型预测预后 支持向量机数学模型_数学模型_46
  • 为什么设支持向量所在超平面方程为 支持向量机模型预测预后 支持向量机数学模型_缩放_45?可以是 支持向量机模型预测预后 支持向量机数学模型_缩放_48
    原则上说,这两条直线可以是 支持向量机模型预测预后 支持向量机数学模型_支持向量机_49 ,其中,支持向量机模型预测预后 支持向量机数学模型_缩放_50 为任意常数。若对上式两边同时乘以 支持向量机模型预测预后 支持向量机数学模型_支持向量机_51,并令 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_52 ,直线改为: 支持向量机模型预测预后 支持向量机数学模型_支持向量机模型预测预后_53,最优划分超平面依然是 支持向量机模型预测预后 支持向量机数学模型_支持向量机_54

求解

公式 (3) 为凸二次规划(convex quadratic programming)问题,处理用优化计算包求解,还可利用原问题的对偶问题来求解。