当前位置: 首页 > backend >正文

SVM(支持向量机)

SVM(支持向量机)


原理

SVM的核心目标是找到一个最大化分类间隔的超平面,将不同类别的样本分隔开。其原理可分为三部分:

  1. 线性可分情况

    • 通过硬间隔最大化确定超平面,确保所有样本正确分类且间隔最大
    • 间隔定义为超平面到最近样本(支持向量)的距离,优化目标为最小化权重向量的范数,同时满足约束条件。
  2. 近似线性可分(软间隔)

    • 引入松弛变量允许部分样本违反间隔约束,通过调整惩罚参数C平衡分类精度与模型复杂度。
  3. 非线性分类(核技巧)

    • 通过核函数将数据映射到高维空间,使其线性可分。例如,RBF核(径向基函数)通过计算样本间相似性实现非线性分割。

关键概念
  1. 支持向量

    • 定义:距离超平面最近的样本点,决定了超平面的位置和方向。
    • 作用:仅支持向量参与模型计算,赋予SVM稀疏性和高效性。
  2. 对偶问题

    • 原始问题转化为对偶问题,通过拉格朗日乘子法简化求解,避免直接处理高维特征空间的内积计算。
    • 优势:便于引入核技巧,且对偶问题的解直接关联支持向量。
  3. 核函数

    • RBF核(高斯核)K(x,y) = exp(-γ||x-y||²),适合处理复杂非线性问题,参数γ控制样本影响范围。
    • 多项式核K(x,y) = (γx·y + r)^d,通过阶数d控制映射维度,适用于中等复杂度的非线性问题。

损失函数:Hinge Loss

公式:L(y, f(x)) = max(0, 1 - y·f(x))

  • 作用:惩罚误分类和间隔不足的样本,使得模型学习更大的分类间隔。
  • 特性:在正确分类且间隔足够时为0,误分类时线性增长,保证解的稀疏性(仅支持向量贡献损失)。

常见问题解答

Q1: 为什么SVM对缺失数据敏感?

  • 原因:SVM依赖支持向量计算样本间距离或核矩阵,缺失值会破坏特征空间的几何结构,导致距离计算偏差。
  • 影响:若缺失值出现在支持向量中,可能显著改变超平面位置,降低模型鲁棒性。

Q2: SVM如何解决多分类?

  • OvO(One-vs-One):构建k(k-1)/2个二分类器,通过投票决定类别,适合类别数较少的场景。
  • 直接多类SVM:通过结构化SVM或修改优化目标直接处理多分类,但计算复杂度较高。
http://www.xdnf.cn/news/859.html

相关文章:

  • Ray Tracing(光线追踪)与 Ray Casting(光线投射)
  • 【pytorch】torch.nn.Unfold操作
  • PyTorch实现糖尿病预测的CNN模型:从数据加载到模型部署全解析【N折交叉验证、文末免费下载】
  • Android端使用无障碍服务实现远程、自动刷短视频
  • 流量抓取工具(wireshark)
  • 大文件分片上传进阶版(新增md5校验、上传进度展示、并行控制,智能分片、加密上传、断点续传、自动重试),实现四位一体的网络感知型大文件传输系统‌
  • 二叉树操作与遍历实现
  • 详细介绍:MCP(大模型上下文协议)的架构与组件,以及MCP的开发实践
  • VTK官方C++ demo1
  • 论文分享:【2024 CVPR】Vision-and-Language Navigation via Causal Learning
  • Harbor对接非AWS对象存储
  • 零基础学Python——第六章:Python标准库
  • mongodb 存储数据的具体实现方式
  • 计算机视觉中的正则化:从理论到实践的全面解析
  • 缓存设计模式
  • HTTP与HTTPS的区别
  • 固定资产全生命周期管理:采购至报废的高效管理路径
  • CC注入Tomcat Upgrade/Executor/WebSocket内存马
  • 【网络安全】CI/CD 流水线漏洞
  • Python 金融量化分析
  • 【ESP32】【微信小程序】MQTT物联网智能家居案例
  • 模拟量数据信号采集模块的特点及应用
  • 无需接线!虚幻引擎变量跨次元绑定的无线电奥秘
  • Spring Boot 核心模块全解析:12 个模块详解及作用说明
  • 蓝桥杯 17.发现环
  • springboot对接阿里云大模型
  • 忽略 CS8616 警告在 Visual Studio 2022 中【C# 8.0 】
  • ios17 音频加载失败问题
  • Redis 慢查询分析与优化
  • 蓝桥杯 18.分考场