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

相关推荐
uhakadotcom1 小时前
Apache Airflow入门指南:数据管道的强大工具
算法·面试·github
跳跳糖炒酸奶1 小时前
第四章、Isaacsim在GUI中构建机器人(2):组装一个简单的机器人
人工智能·python·算法·ubuntu·机器人
绵绵细雨中的乡音2 小时前
动态规划-第六篇
算法·动态规划
程序员黄同学2 小时前
动态规划,如何应用动态规划解决实际问题?
算法·动态规划
march_birds2 小时前
FreeRTOS 与 RT-Thread 事件组对比分析
c语言·单片机·算法·系统架构
斯汤雷3 小时前
Matlab绘图案例,设置图片大小,坐标轴比例为黄金比
数据库·人工智能·算法·matlab·信息可视化
云 无 心 以 出 岫3 小时前
贪心算法QwQ
数据结构·c++·算法·贪心算法
俏布斯3 小时前
算法日常记录
java·算法·leetcode
独好紫罗兰3 小时前
洛谷题单3-P5719 【深基4.例3】分类平均-python-流程图重构
开发语言·python·算法
SheepMeMe4 小时前
蓝桥杯2024省赛PythonB组——日期问题
python·算法·蓝桥杯