支持向量机(SVM)


“SVM”有三宝:间隔、对偶、核技巧
其中:核技巧并不是和SVM有绑定关系,它是一种针对非线性映射的解决思路,经常用于SVM的分析过程中。

SVM的分类:
①hard-margin
②soft-margin
③kernel margin


(一)硬间隔的模型定义

1.SVM的几何直观印象

支持向量机 实现果实品质分类_支持向量机 实现果实品质分类


判别模型:

支持向量机 实现果实品质分类_支持向量机_02

在上图中,我们能够找到的最为理想的一条分隔线就是红线,因为它到两边的样本点有最大的间隔。而灰线对应的两条线段虽然也可以正确地对数据点进行分类,但是分类的鲁棒性太差。【只要有一点数据的偏斜,就会造成分类的错误】

2.模型的雏形和限制条件的完善

支持向量机 实现果实品质分类_支持向量机_03

3.margin的定义

根据理解,我们需要找到的是一条线性分界线,而这条分界线可以正确地将两类不同的数据点划分到分界线的两个部分。所谓margin,边界,我们定义成所有数据点到该线性边界距离的最小值。

支持向量机 实现果实品质分类_矩阵_04

又因为我们常常习惯解决最小化问题,且向量的模长表示并不直观,最后整个问题的模型会变化成为以下形式,成为一个二次凸优化问题。

支持向量机 实现果实品质分类_机器学习_05

支持向量机 实现果实品质分类_矩阵_06


(二)硬间隔的模型求解

这一小部分是要利用拉格朗日乘子,引出对偶条件,求出模型的闭式解。
这里简单谈一下这一系列动作的必要性。
上一小节中得到的模型表达,已经是一个带有限制条件的二次凸优化问题了,但是当模型中含有非线性映射等情况时,模型就会变得十分复杂。所以有必要,从其他思路出发对模型进行求解。

0.(补充)拉格朗日乘子法和KKT条件

1)等式约束条件下的拉格朗日乘子模型

min f(x) s.t. g(x)=0 其中x是一个向量,接下来的图解,均以x是一个二维向量为例进行讲解

支持向量机 实现果实品质分类_算法_07


如上图所示,为了便于观察、理解和分析,将三维图像转化成二维投影图来观察,其中一个凸优化的问题函数f(x)即转化成为了二维平面中的等高线图,等高线圆越小,对照左图来看,函数值就越低,同一个等高线上的函数值是相等的。


因为最小化问题是建立在满足约束g(x)=0的条件下的,所以在二维平面中找到最优点,也应该是在蓝线上去寻找。根据等高线的分布,可知,只有和蓝线相切的那个点所对应的函数数值是最小的。


而两条曲线的切点,其梯度方向是共线的,根据这一条件,可以得到两个函数f(x)和g(x)的偏导的关系式。


支持向量机 实现果实品质分类_支持向量机 实现果实品质分类_08

2)不等式约束条件下的拉格朗日乘子(KKT条件)
min f(x) s.t. g(x)≤0 其中x是一个向量,接下来的图解,均以x是一个二维向量为例进行讲解

p.s.大概条件是不等式约束的时候,取值的条件和情况会根据函数之间的相对位置发生偏移

情况一:在这种情况下,取到的极值点和g(x)=0的情况并无二义

支持向量机 实现果实品质分类_矩阵_09


情况二:这种情况下,约束条件实际上对f(x)的最优点求解没有限制,该优化问题本质上就是直接求出f(x)的最优解。


支持向量机 实现果实品质分类_支持向量机_10


支持向量机 实现果实品质分类_机器学习_11

1.利用拉格朗日乘子转化成无约束的优化问题

1)模型转换——得到无约束的拉格朗日乘子模型

支持向量机 实现果实品质分类_支持向量机 实现果实品质分类_12

2)从逻辑上探讨该无约束的优化模型和原问题是等价的

支持向量机 实现果实品质分类_机器学习_13

2.利用对偶关系将优化关系式进行转换

1)对偶关系

注:这一块的内容在视频中并不是重点,顺着互联网找了很久,发现要系统地了解这一块内容,需要补充最优化理论相关知识,在这一篇博文中,不会详细地介绍对偶的理论知识。
下面这篇博文对于弱对偶和强对偶的条件和理解分析得很清楚,有兴趣的可以去看一看。

支持向量机:Duality

弱对偶:min max xxx ≥ max min xxx

  • 理解:鸡头和凤尾的比喻(大佬的这个比喻真的绝了,这辈子都忘不掉这个弱对偶的不等关系了),就算是鸡头依然是鸡,即使是凤尾那也还是个凤,凤总是要强于鸡的。

2)模型的对偶转换以及最优值推导

支持向量机 实现果实品质分类_机器学习_14


支持向量机 实现果实品质分类_算法_15


支持向量机 实现果实品质分类_支持向量机_16


(三)软间隔SVM的模型定义

背景:从硬间隔SVM向软间隔SVM进行过渡,其实是非常自然的。因为在对硬间隔SVM进行建模的时候,条件是十分理想的,那就是数据是完全线性可分的。

但其实在实际问题中,要么数据不是完全理想可分的,或者虽然数据是可分的,但是数据中是存在噪声点的。

思想:允许在分类中出现一点错误。

1.软间隔SVM的建模过程

(1)在优化模型中加入损失函数量,并择优选择合适的损失函数

支持向量机 实现果实品质分类_矩阵_17

(2)最终模型及图示理解

支持向量机 实现果实品质分类_机器学习_18