向量机SVM原理理解和实战

目录​​​​​​​

概念场景导入

点到超平面的距离公式

最大间隔的优化模型

硬间隔、软间隔和非线性 SVM

用 SVM 如何解决多分类问题

1. 一对多法

2. 一对一法

Hinge损失函数 (Hinge Loss)

SVM主要原理和特点

原理

优点

缺点

支持向量机模型分类

SVM实战如何进行乳腺癌检测

数据集

字段含义

代码实现

参考文章


概念场景导入

支持向量机主要用于分类和回归任务。由于其在各种数据集上表现出的优异性能,迅速成为流行的机器学习工具之一。

桌子上依然放着红色、蓝色两种球,但是它们的摆放不规律,如下图 所示。如何用一根棍子把这两种颜色分开呢

如果在同一个平面上来看,红蓝两种颜色的球是很难分开的。那么 有没有一种方式,可以让它们自然地分开呢?

在这里,二维平面变成了三维空间。原来的曲线变成了一个平面。这个平面,我们就叫做超平 面。

图中的直线 B 更靠近蓝色球,但是在真实环境下,球再多一些的话,蓝色球可能就被 划分到了直线 B 的右侧,被认为是红色球。同样直线 A 更靠近红色球,在真实环境下,如果 红色球再多一些,也可能会被误认为是蓝色球。所以相比于直线 A 和直线 B,直线 C 的划分 更优,因为它的鲁棒性更强。

那怎样才能寻找到直线 C 这个更优的答案呢?这里,我们引入一个 SVM 特有的概念:分类间隔

实际上,我们的分类环境不是在二维平面中的,而是在多维空间中,这样直线 C 就变成了决策面 C。在保证决策面不变,且分类不产生错误的情况下,我们可以移动决策面 C,直到产生两个极限 的位置:如图中的决策面 A 和决策面 B。极限的位置是指,如果越过了这个位置,就会产生 分类错误。这样的话,两个极限位置 A 和 B 之间的分界线 C 就是最优决策面。极限位置到最优决策面 C 之间的距离,就是“分类间隔”,英文叫做 margin。


如果我们转动这个最优决策面,你会发现可能存在多个最优决策面,它们都能把数据集正确分 开,这些最优决策面的分类间隔可能是不同的,而那个拥有“最大间隔”(max margin)的 决策面就是 SVM 要找的最优解。

点到超平面的距离公式

在上面这个例子中,如果我们把红蓝两种颜色的球放到一个三维空间里,你发现决策面就变成 了一个平面。这里我们可以用线性函数来表示,如果在一维空间里就表示一个点,在二维空间 里表示一条直线,在三维空间中代表一个平面,当然空间维数还可以更多,这样我们给这个线 性函数起个名称叫做“超平面”。超平面的数学表达可以写成:

首先,我们定义某类样本集到超平面的距离是这个样本集合内的样本到超平面的最短距离。我 们用 di 代表点 xi 到超平面 wxi+b=0 的欧氏距离。因此我们要求 di 的最小值,用它来代表 这个样本到超平面的最短距离。di 可以用公式计算得出:

这个公式表示点 xi​ 到由 ωx+b=0  定义的超平面的距离 di​,其中 ω 是超平面的法向量,b 是偏置项,分子中的绝对值表示点到超平面的有向距离的绝对值,分母是法向量的范数(也就是长度),用于归一化距离。简而言之,这个公式计算了点到分隔分类的边界的垂直距离。 

最大间隔的优化模型

我们的目标就是找出所有分类间隔中最大的那个值对应的超平面。在数学上,这是一个凸优化 问题(凸优化就是关于求凸集中的凸函数最小化的问题,这里不具体展开)。通过凸优化问题,最后可以求出最优的 w 和 b,也就是我们想要找的最优超平面。中间求解的过程会用到 拉格朗日乘子,和 KKT(Karush-Kuhn-Tucker)条件。数学公式比较多,这里不进行展开。

硬间隔、软间隔和非线性 SVM

假如数据是完全的线性可分的,那么学习到的模型可以称为硬间隔支持向量机。换个说法,硬间隔指的就是完全分类准确,不能存在分类错误的情况软间隔

  • 32
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据与算法架构提升之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值