文章目录

  • 一、支持向量机原理
  • 支持向量机原理的三层理解
  • 二、线性SVM决策过程的可视化
  • 探索建好的模型
  • 推广到非线性情况
  • 总结


一、支持向量机原理

支持向量机(SVM,也称为支持向量网络),是机器学习中获得关注最多的算法没有之一。它源于统计学习理论,是我们除了集成算法之外,接触的第一个强学习器。

skearn 支持向量回归 sklearn 支持向量机_sklearn

支持向量机原理的三层理解

目标是"找出边际最大的决策边界",听起来是一个十分熟悉的表达,这是一个最优化问题,而最优化问题往往和损失函数联系在一起。和逻辑回归中的过程一样,SVM也是通过最小化损失函数来求解一个用于后续模型使用的重要信息:决策边界。

skearn 支持向量回归 sklearn 支持向量机_sklearn_02


skearn 支持向量回归 sklearn 支持向量机_支持向量机_03


skearn 支持向量回归 sklearn 支持向量机_sklearn_04


将函数间隔作为条件附加到我们的函数上,我们就得到了SVM的损失函数最初形态:

skearn 支持向量回归 sklearn 支持向量机_数据_05


拉格朗日乘数形态:

skearn 支持向量回归 sklearn 支持向量机_skearn 支持向量回归_06

最终,我们的目标函数变化为:

skearn 支持向量回归 sklearn 支持向量机_数据_07

二、线性SVM决策过程的可视化

skearn 支持向量回归 sklearn 支持向量机_学习_08


skearn 支持向量回归 sklearn 支持向量机_学习_09


skearn 支持向量回归 sklearn 支持向量机_数据_10

探索建好的模型

skearn 支持向量回归 sklearn 支持向量机_skearn 支持向量回归_11

推广到非线性情况

skearn 支持向量回归 sklearn 支持向量机_skearn 支持向量回归_12

skearn 支持向量回归 sklearn 支持向量机_sklearn_13


skearn 支持向量回归 sklearn 支持向量机_数据_14


此时我们的数据在三维空间中,我们的超平面就是一个二维平面。明显我们可以用一个平面将两类数据隔开,这个平面就是我们的决策边界了。我们刚才做的,计算r,并将r作为数据的第三维度来将数据升维的过程,被称为“核变换”,即是将数据投影到高维空间中,以寻找能够将数据完美分割的超平面,即是说寻找能够让数据线性可分的高维空间。为了详细解释这个过程,我们需要引入SVM中的核心概念:核函数。

总结