机器学习算法之支持向量机(SVM)

SVM恐怕大家即使不熟悉,也听说过这个大名吧,这一节我们就介绍这相爱相杀一段内容。

前言: 在介绍一个新内容之SVM前,我们不觉映入眼帘的问题是为什么要引入SVM?吃的香,睡的着的情况下,肯定不会是没事干吧~首先,SVM是一个二分类模型【图1】,实质是定义在特征空间的判别模型,其实我们大家应该比较熟悉感知机算法了(我们前面有讲过),也就是找一个超平面来划分特征空间,可是满足该条件的超平面有无穷无尽呀!我们需要的模型肯定是鲁棒性要超级棒的才好!而SVM恰恰是为了完成这种使命而向阳而生的产物;它的核心点便是寻找在特征空间中间隔最大的超平面。童鞋们一定在想间隔是啥?最大又意味着什么?接下来,我们娓娓道来。


线性可分支持向量机:

我们先来介绍比较低阶的线性可分支持向量机,顾名思义:给定的训练样本,我们可以恰好的找一个超平面直接将数据分为正负两类,形成了井水不犯河水的趋势。前面说了,对于线性可分的情况下,这种超平面有许多,因此我们选择那个间隔最大的超平面【唯一的】。超平面长什么样呢

在二维空间下,我们就把它理解为一条直线就好;不失一般性:该超平面定义为:

图1

其中是一个多维向量,和输入同维度;那好了,现在有决策超平面了,你说的间隔最大的间隔是什么?我们先看一下图一,A,B,C三个样本都被分到了正类一侧,但是A距离超平面较远,C距离最近,那么我们想想,是不是A被分别正类的置信度比其它两个样本都要高,因为,A被分为正类的感觉很严格呀,至于C,是不是因为噪声或者什么因素,它也很可能是属于负类的;即使它被分为了正类。因此,我们把样本到超平面的距离远近可以表示为分类预测的置信程度。那样本到平面的距离公式是啥,这个我们应该最清楚的,小学内容还是可以手拿把掐滴【公式1】。忽略分母常数项不看,我们可以把相对的表示为点到超平面的远近,而与类标签的符号是否一致就能够表示分类是否正确。因此我们用就可以表示为分类的正确性和置信度,我们就把这个量称作函数间隔


公式1:其中A,B,C,是平面的法向量系数

还没完,这个是我们给出了单个样本到超平面的函数间隔表示。而我们在SVM中所说的函数间隔表示为, 在所有样本的函数间隔中,函数间隔最小的那个值是整个训练集的函数间隔。有点拗口对不对,我们给出公式化的表达:

根据我们对超平面的认识,算了,咱就说平面吧,挂个超字总显的高大上;描述一个平面其实就是确定w和b,不过平面是很大的一个物体呀,经过同比例的扩大或缩小w,b;其实表示的是一个平面。如果这样的话,函数间隔就是一个变量了;这对后续的处理很不友好。况且前面我们说了,严格的点到平面的距离公式,分母是有一个规范化的值的;现在我们再把它完整的描绘出来就会得到公式2:而它的专业描述称作**几何间隔;**而我们后面要间隔最大化,其实就是指最大化几何间隔。

公式2

SVM核心的概念我们大致介绍了一下,剩下的就是用带约束的不等式求解参数,拉格朗日乘子顶上等等,这个我们后面再聊聊,对了今年2023年的最后一天了,就让SVM向量机划分时空区域,对2023说拜拜~

相关推荐
鹿角片ljp11 分钟前
LeetCode 300. 最长递增子序列|从 DP O (n²) 到贪心 + 二分 O (n log n)
算法·动态规划
叠层归一研究院13 分钟前
缝合维度:时空3+1结构的拓扑起源
人工智能·算法·机器学习·agi
YXXY31323 分钟前
FloodFill算法
算法
OPEN-F32 分钟前
C++入门教程:数组、字符串与指针入门
数据结构·c++·算法
故七月43 分钟前
生成式引擎优化(GEO)的底层逻辑与产业实践
大数据·人工智能·机器学习
林森lsjs44 分钟前
零基础吃透二叉树:定义、遍历与高频算法 —数据结构柒
java·开发语言·数据结构·算法·二叉树
船厂电气自动化ai大模型1 小时前
AI大模型与数学·第56课 快速傅里叶变换FFT:DFT高效优化算法,图像、音频、扩散模型工程加速核心工具
数据结构·人工智能·深度学习·算法·机器学习
203号居民1 小时前
【无标题】LeetCode hot 100 —54. 螺旋矩阵
算法
ai产品老杨1 小时前
越界检测算法接入 AI 视频分析平台的流程与误报优化指南
人工智能·算法·音视频
bluesky9612221 小时前
malloc 和 realloc C/C++
c语言·c++·算法