一、SVM 的核心目标:找 “最好” 的超平面。

1.1 什么是 “超平面”?

超平面是一个几何概念,简单来说:

在 2 维空间(平面)中,超平面是一条直线(1 维);

在 3 维空间中,超平面是一个平面(2 维);

推广到 n 维空间,超平面就是n-1 维的子空间

它可以用一个简洁的方程表示:\(w^T x + b = 0\) 其中:

w 是超平面的法向量(决定超平面的方向,比如直线的斜率);

x 是样本的特征向量(比如 2 维数据的\((x_1, x_2)\));

b 是截距(决定超平面的位置,比如直线与 y 轴的交点)。

1.2 为什么不随便找一条线?要 “最大化间隔”!

如果只是想分开两类数据,可能有无数条直线符合要求。但 SVM 的追求是:找对局部扰动容忍性最好的直线 —— 换句话说,这条直线离两类数据的 “最近点” 尽可能远。

这个 “最远的距离”,就是 SVM 中的核心概念 ——间隔(Margin)

具体来说:

间隔(Margin)= 2×d,其中 d 是 “支持向量到超平面的距离”;

支持向量:就是离超平面最近的那些样本点(图中虚线穿过的点),它们是决定间隔大小的 “关键少数”;

SVM 的优化目标:最大化间隔,因为间隔越大,数据微小扰动时(比如新样本略有偏差),分类错误的概率就越低,模型泛化能力越强。

1.3 如何计算 “点到超平面的距离”?

要最大化间隔,首先得知道 “支持向量到超平面的距离” 怎么算。我们可以从 2 维场景推广到 n 维:2 维中,点\((x_0,y_0)\)到直线\(Ax+By+C=0\)的距离是:\(\frac{|Ax_0+By_0+C|}{\sqrt{A^2+B^2}}\);n 维中,样本\(x_i\)到超平面\(w^T x + b = 0\)的距离是:\(\frac{|w^T x_i + b|}{\|w\|}\)(\(\|w\|\)是w的 L2 范数,即\(\sqrt{w_1^2 + w_2^2 + ... + w_n^2}\))。

二、SVM 的优化之路:从 “硬间隔” 到 “软间隔”

知道了目标是 “最大化间隔”,接下来就要解决 “如何求这个超平面” 的问题。这部分会涉及一些优化思路,但我们尽量避开复杂的数学推导,聚焦核心逻辑。

2.1 硬间隔优化:理想中的 “完美分类”

在理想情况下(数据完全线性可分,没有噪音),SVM 会要求所有样本都满足:\(y_i(w^T x_i + b) \geq 1\) 其中\(y_i\)是样本标签(正例为 + 1,负例为 - 1),这个约束的含义是:所有样本都在超平面的 “安全区域” 外(支持向量刚好满足等号\(y_i(w^T x_i + b) = 1\))。

此时,“最大化间隔” 可以转化为一个数学问题: 目标函数:\(\min \frac{1}{2}\|w\|^2\)(因为间隔与\(\|w\|\)成反比,最小化\(\|w\|\)等价于最大化间隔) 约束条件:\(y_i(w^T x_i + b) \geq 1\)(所有样本都被正确分类,且在安全区域内)

这个带约束的优化问题,可以通过拉格朗日乘子法求解。最终得到的结论很关键:

超平面的法向量w,是支持向量的线性组合(非支持向量的系数为 0,即不影响超平面);

截距b,可以通过任意一个支持向量代入\(y_i(w^T x_i + b) = 1\)计算得到。

这也解释了为什么 SVM 效率高:训练完成后,只需要保存支持向量,不需要存储所有样本。

2.2 软间隔:应对噪音的 “容错机制”

现实中的数据往往不完美 —— 比如存在噪音点(本属于 A 类,却跑到了 B 类区域)。如果还用硬间隔,强行要求 “所有样本都正确分类”,会导致超平面 “拐来拐去”,过拟合噪音点,泛化能力骤降。

为了解决这个问题,SVM 引入了松弛因子(\(\xi_i \geq 0\)),把约束条件放宽为:\(y_i(w^T x_i + b) \geq 1 - \xi_i\) 其中\(\xi_i\)表示 “第 i 个样本允许的偏离程度”:

\(\xi_i = 0\):样本完全符合硬间隔约束;

\(\xi_i > 0\):样本偏离了安全区域,甚至被错误分类(\(\xi_i > 1\)时)。

同时,目标函数也需要调整 —— 既要最大化间隔,又要惩罚偏离过大的样本: \(\min \frac{1}{2}\|w\|^2 + C \sum_{i=1}^n \xi_i\)

这里的C是一个超参数,它决定了 SVM 的 “容错率”:

C越大:惩罚越重,容错率越低(不允许太多样本偏离,适合噪音少的数据);

C越小:惩罚越轻,容错率越高(允许更多样本偏离,适合噪音多的数据)。

这就是 SVM 应对现实数据的核心思路:不追求 “绝对完美”,而是在 “间隔大小” 和 “分类错误” 之间找平衡。

三、突破维度限制:核函数的 “魔法”

如果数据本身是非线性可分的(比如环形分布的 make_circles 数据),即使有软间隔,线性超平面也无法分开两类数据。这时候,SVM 的 “杀手锏”——核函数(Kernel Function) 就该登场了。

3.1 低维不可分的困境

举个例子:3 维空间中,两类数据呈 “嵌套球形” 分布,无法用一个平面分开。这时候,我们可以把数据映射到更高维的空间—— 比如把 3 维数据映射到 9 维,在 9 维空间中,原本嵌套的球形可能变成 “可被平面分开的形状”。但问题来了:直接映射到高维空间,计算量会爆炸(比如 100 维数据映射到 10000 维,内积计算量是原来的 100 倍)。

3.2 核函数:“不用高维,也能分”

核函数的核心思想是:不用直接计算高维空间的内积,而是通过低维空间的函数,间接得到高维内积的结果。用公式表示就是:\(K(x_i, x_j) = \Phi(x_i) \cdot \Phi(x_j)\) 其中\(\Phi(x)\)是 “低维到高维的映射函数”,\(K(x_i, x_j)\)就是核函数,它避免了直接处理高维数据。

3.3 核函数的 “魔力”:以 make_circles 为例

用 make_circles 生成的环形数据(2 维非线性),用线性核无法分开,但用高斯核后:

高斯核会将 2 维数据间接映射到高维,原本的环形在高维空间中变成 “线性可分”;

我们不需要关心高维空间的具体形态,只需要通过高斯核计算低维样本的 “相似度”,就能得到超平面。最终在 2 维空间中,SVM 的分类边界会呈现出 “环形”,完美分开内外环数据 —— 这就是核函数的魅力。

四、SVM 的实际应用与学习建议

4.1 SVM 适合什么场景?

小样本数据:SVM 的泛化能力在样本量较少时优势明显(比神经网络更稳定);

高维数据:比如文本分类(TF-IDF 特征维度常达上万)、基因数据(特征数远大于样本数);

非线性场景:结合高斯核,可处理图像识别、故障诊断等复杂问题。

4.2 初学者如何上手 SVM?

  1. 先理解核心概念:不用死磕拉格朗日对偶的数学推导,先搞懂 “超平面、间隔、支持向量、核函数” 的几何意义;
  2. 调参重点关注 2 个参数
    • C:控制容错率(噪音多→小 C,噪音少→大 C);
    • \(\gamma\)(高斯核):控制样本影响范围(数据密集→大\(\gamma\),数据稀疏→小\(\gamma\));
  3. 实战验证:用 sklearn 的 SVC 类,结合 make_circles、鸢尾花等数据集,对比不同核函数和参数的效果,直观感受 SVM 的表现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/96905.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/96905.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/96905.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 办公自动化实战:Excel 批量处理 + 自动发邮件

Python 办公自动化实战:Excel 批量处理 自动发邮件关键词: Python办公自动化 • Pandas • OpenPyXL • Email • 定时任务 摘要: 每月底还在手动处理几十份Excel报表并邮件发送?快来学习如何用Python全自动完成!本文…

高教杯数学建模2021-C 生产企业原材料的订购与运输

某建筑和装饰板材的生产企业所用原材料主要是木质纤维和其他植物素纤维材料, 总体可分为 A,B,C 三种类型。该企业每年按 48 周安排生产,需要提前制定 24 周的原 材料订购和转运计划,即根据产能要求确定需要订购的原材料供应商&…

【Python系列】Flask 和 FastAPI对比

博客目录1. 类型和设计目标2. 性能3. 异步支持4. 数据验证和文档5. 学习曲线和生态6. 使用场景示例对比Flask(同步)FastAPI(异步)总结Flask 和 FastAPI 都是 Python 中流行的 Web 框架,但它们的设计目标、特性和适用场…

把 AI 塞进「空调遥控器」——基于 MEMS 温湿阵列的 1 分钟极速房间热场扫描

标签:MEMS 阵列、热场扫描、极速空调、TinyML、RISC-V、零样本、离线推理、节能 ---- 背景:为什么空调遥控器要「画图」? 传统空调只有一个温湿度探头,经常“东边冷、西边热”。 • 大客厅 30 ㎡,温差 5 ℃&#xff1…

【机器学习】8 Logistic regression

本章目录 8 Logistic regression 245 8.1 Introduction 245 8.2 Model specification 245 8.3 Model fitting 245 8.3.1 MLE 246 8.3.2 Steepest descent 247 8.3.3 Newton’s method 249 8.3.4 Iteratively reweighted least squares (IRLS) 250 8.3.5 Quasi-Newton (variabl…

C++中如何使用互斥(1)------std::lock_guard

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 算法描述 std::lock_guard 是 C11 引入的一个 RAII(Resource Acquisition Is Initialization)风格的锁管理类,用于自动管理互斥锁(mutex&#x…

AI算力提升7.5倍!英伟达发布新一代机器人超级计算机Jetson Thor,驱动物理AI革命

今天,NVIDIA 宣布其专为物理 AI 和机器人打造的新一代机器人计算机 Jetson Thor 正式发售。其中,Jetson AGX Thor 开发者套件售价为 3499 美元(约合人民币 2.5 万元)。NVIDIA 创始人兼首席执行官黄仁勋表示:“Jetson T…

【数学建模】如何总结数学建模中的层次分析法最好

模型简介模型名称:层次分析法核心问题类型:评价类核心思想和适用场景 核心思想:将大决策问题拆解成小比较问题,通过数学计算综合最终结论:本质是人的主观判断转换为客观数据的工具[[适用场景]] 个人决策企业 / 项目决策…

`mmap` 系统调用详解

mmap 是 Unix/Linux 系统中一个强大且多用途的系统调用,用于将文件或设备映射到进程的地址空间,实现内存映射I/O。 1. 函数的概念与用途 mmap(内存映射)函数允许程序将文件或其他对象直接映射到其地址空间,这样文件内容…

深度剖析Spring AI源码(二):Model抽象层 - “驯服”天下AI的“紧箍咒”

深度剖析Spring AI源码(二):Model抽象层 - “驯服”天下AI的“紧箍咒”上一章我们鸟瞰了Spring AI的宏伟蓝图,今天,我们要深入这座大厦的基石——Model抽象层。如果说Spring AI是连接Java与AI世界的桥梁,那…

永磁同步电机无速度算法--高频脉振正弦波注入到两相静止坐标系

一、原理介绍采用一种改进的永磁同步电机低速无位置传感器控制策略。与传统的旋转高频信号注入法和脉振高频信号注入法不同,该策略选择向静止坐标轴系注入高频脉振信号,转子位置估计信息可以通过载波电流响应提取。并使用一种类似于简化型扩展卡尔曼滤波…

嵌入式学习日志————ADC模数转换器之实验

1.配置ADC的步骤①开启RCC时钟,包括ADC和GPIO的时钟②配置GPIO,把相应端口配置成模拟输入模式③配置多路开关,把左边的通道接入右边的规则组列表里④配置ADC转换器⑤调用ADC_Cmd函数,开启ADC2.库函数配置ADCCLK分频器void RCC_ADC…

Java设计模式之《状态模式》

目录 1、状态模式 1.1、介绍 1.2、设计背景 1.3、适用场景 2、实现 2.1、if-else实现 2.2、状态模式实现 2.3、最终版 1、关于if-else的优化 2、状态模式下的优化 3、ArrayList 配置“状态流” 3、总结 前言 关于Java的设计模式分类如下: 对于状态模式…

three.js+WebGL踩坑经验合集(9.2):polygonOffsetFactor工作原理大揭秘

本篇延续上篇内容: three.jsWebGL踩坑经验合集(9.1):polygonOffsetUnits工作原理大揭秘-CSDN博客 跟polygonOffsetUnits相比,polygonOffsetFactor的系数m要复杂得多,因为它跟平面的视角相关,而不像r那样,在一个固定的…

C++高级特性与设计模式答案

目录 C++高级特性与设计模式:从资源管理到架构设计 一、C++高级特性:超越基础语法的利器 1. 什么是RAII(资源获取即初始化)?它有什么作用? 实现原理 核心作用 2. 什么是Pimpl惯用法?它有什么优势? 实现方式 核心优势 3. 什么是CRTP(奇异递归模板模式)?它的应用场景是…

论文阅读:arxiv 2025 Can You Trick the Grader? Adversarial Persuasion of LLM Judges

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 Can You Trick the Grader? Adversarial Persuasion of LLM Judges https://arxiv.org/pdf/2508.07805 https://www.doubao.com/chat/17534937260220418 文章目录论文翻译…

6pen Art

本文转载自:6pen Art - Hello123工具导航 ** 一、🎨 6pen 是什么? 6pen 是一款由国内团队开发的 AI 绘画工具,让你只需用文字描述想法,就能瞬间生成惊艳的视觉画作。不管是写实风景还是抽象概念,它都能理…

Let‘s Encrypt证书在 Android5.x 的设备上报错

报错信息: com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.at com.android.volley.toolbox.NetworkUtility.shouldRetryException(N…

C语言数组名与sizeof的深层关联

要理解 “数组名本质代表整个数组的类型和内存块” 与 “sizeof(arr) 输出总字节数” 的关联,核心是抓住 sizeof 运算符的设计逻辑 和 数组类型的本质属性—— 这两者是直接挂钩的,我们一步步拆解:第一步:先明确 sizeof 的核心作用…

最近对javashop做了压力测试:百万级并发下完全不是问题

最近对 javashop 做了压力测试:百万级并发下完全不是问题 在电商行业竞争白热化的今天,系统性能直接决定了用户体验和企业商业成功。本文基于《Javashop 压测报告》,从技术架构、核心指标、业务价值三大维度深度解析其性能优势,并…