支持向量机(SVM)

前提知识:拉格朗日乘子法和KKT条件-CSDN博客

概述

支持向量机(Support Vector Machine:SVM) 的目的是用训练数据集的间隔最大化找到一个最优分离超平面。

这里面有两个概念间隔最大化和最优分离超平面。

最优分离超平面

  • 在一维的平面中,我们使用点来进行分隔
  • 在二维的平面中,用线
  • 在三维的平面中,用面
  • 在更高的维度中,我们称之为超平面

在众多分离超平面中选择一个最好的超平面,称之为最优分离超平面。

选择原理:

  • 正确的对训练数据进行分类
  • 对未知数据也能很好的分类

详细解释:

最优分离超平面其实是和两侧样本点有关,而且只和这些点有关。观察如下图:

其中当间隔达到最大,两侧样本点的距离相等的超平面为最优分离超平面。对应上图,Margin对应的就是最优分离超平面的间隔,此时的间隔达到最大。

间隔最大化

如果我们能够确定两个平行超平面,那么两个超平面之间的最大距离就是最大化间隔,即Margin。

计算

如何计算两个超平面之间的距离,也就是如何计算最大化间隔。

怎么确定两个超平面?

我们知道一条直线的数学方程是:y-ax+b=0,而超平面会被定义成类似的形式:

推广到n维空间,则超平面方程中的w、x分别为:

如何确保两超平面之间没有数据点?我们的目的是通过两个平行超平面对数据进行分类,那我们可以这样定义两个超平面。

对于每一个向量xi:满足:

将两个不等式合并成一个不等式的形式,将不等式两边同时乘以 yi,-1类的超平面yi=-1,要改变不等式符号,合并后得:

如何确定间隔?

平面的垂直距离就是我们要的间隔。

结果:

其中||w||表示w的二范数,求所有元素的平方和,然后在开方。比如,二维平面为

可以发现,w 的模越小,间隔m 越大。

求间隔最大化------最优化问题

因此,SVM最小化以下目标函数:

其中,C是决定两类之间的裕度内训练数据点数量的常数,即训练误差,ξ是防止过拟合的松弛变量。

上面的最优超平面问题是一个凸优化问题,可以转换成了拉格朗日的对偶问题(如下图所示),判断是否满足KKT条件,然后求解w和b了(可以参考拉格朗日乘子法和KKT条件-CSDN博客)。

αi为拉格朗日乘子,函数K(x, xi) = φ(x),Tφ(x)是核函数。

补充:

硬间隔线性SVM

可以通过分类将样本点完全分类准确,不存在分类错误的情况,这种叫硬间隔,这类模型叫做硬间隔线性SVM。

软间隔线性SVM

可以通过分类将样本点不完全分类准确,存在少部分分类错误的情况,这叫软间隔,这类模型叫做软间隔线性SVM。

样本点本身不可分

将样本从原始空间映射到一个更高纬的空间中,使得样本在新的空间中线性可分,即:核函数。

参考:学习SVM,这篇文章就够了!(附详细代码) | 机器之心 (jiqizhixin.com)【机器学习基础】一文详尽之支持向量机(SVM)算法!-腾讯云开发者社区-腾讯云 (tencent.com)学习SVM,这篇文章就够了!(附详细代码) | 机器之心 (jiqizhixin.com)

相关推荐
思绪无限5 小时前
YOLOv5至YOLOv12升级:木材表面缺陷检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·深度学习·目标检测·计算机视觉·木材表面缺陷检测
kishu_iOS&AI5 小时前
深度学习 —— 损失函数
人工智能·pytorch·python·深度学习·线性回归
好运的阿财5 小时前
OpenClaw工具拆解之canvas+message
人工智能·python·ai编程·openclaw·openclaw工具
TechubNews5 小时前
新火集团首席经济学家付鹏演讲——2026 年是 Crypto 加入到 FICC 资产配置框架元年
大数据·人工智能
知识浅谈5 小时前
DeepSeek V4 和 GPT-5.5 在同一天发布了??我也很懵,但对比完我悟了
算法
蒸汽求职5 小时前
跨越 CRUD 内卷:半导体产业链与算力基建下的软件工程新生态
人工智能·科技·面试·职场和发展·软件工程·制造
DeepModel5 小时前
通俗易懂讲透 Q-Learning:从零学会强化学习核心算法
人工智能·学习·算法·机器学习
田梓燊5 小时前
力扣:19.删除链表的倒数第 N 个结点
算法·leetcode·链表
聊点儿技术5 小时前
LLM数据采集如何突破AI反爬?——用IP数据接口实现进阶
人工智能·数据分析·产品运营·ip·电商·ip地址查询·ip数据接口
小兵张健5 小时前
一场大概率没拿到 offer 的面试,让我更坚定去做喜欢的事
人工智能·面试·程序员