机器学习算法之支持向量机(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说拜拜~

相关推荐
王老师青少年编程3 小时前
gesp(C++五级)(14)洛谷:B4071:[GESP202412 五级] 武器强化
开发语言·c++·算法·gesp·csp·信奥赛
DogDaoDao3 小时前
leetcode 面试经典 150 题:有效的括号
c++·算法·leetcode·面试··stack·有效的括号
Coovally AI模型快速验证4 小时前
MMYOLO:打破单一模式限制,多模态目标检测的革命性突破!
人工智能·算法·yolo·目标检测·机器学习·计算机视觉·目标跟踪
可为测控4 小时前
图像处理基础(4):高斯滤波器详解
人工智能·算法·计算机视觉
Milk夜雨5 小时前
头歌实训作业 算法设计与分析-贪心算法(第3关:活动安排问题)
算法·贪心算法
BoBoo文睡不醒5 小时前
动态规划(DP)(细致讲解+例题分析)
算法·动态规划
orion-orion5 小时前
贝叶斯机器学习:高斯分布及其共轭先验
机器学习·统计学习
apz_end6 小时前
埃氏算法C++实现: 快速输出质数( 素数 )
开发语言·c++·算法·埃氏算法
仟濹6 小时前
【贪心算法】洛谷P1106 - 删数问题
c语言·c++·算法·贪心算法
CM莫问7 小时前
python实战(十五)——中文手写体数字图像CNN分类
人工智能·python·深度学习·算法·cnn·图像分类·手写体识别