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或修改优化目标直接处理多分类,但计算复杂度较高。
相关推荐
不瘦80斤不改名18 分钟前
01-vibe-coding-起源与本质
人工智能·python
冬奇Lab18 分钟前
代码库知识库系列(08):生产级架构设计——向量、图、符号索引如何组合
人工智能
冬奇Lab29 分钟前
开源项目第177期:Apache Airflow — 用 Python 写出来的工作流调度器,数据工程师的标配工具
人工智能·开源·资讯
她说可以呀38 分钟前
Spring-ai-alibaba文生图
java·人工智能·spring
隔窗听雨眠1 小时前
AI重塑数据分析:从SQL执行者到智能基础设施构建者
人工智能·sql·数据分析
营养充电站1 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
人工智能·算法·docker·jupyter
程序员cxuan1 小时前
速度太快了!本地可以跑 DeepSeek-V4-Flash 了
人工智能·后端·程序员
Claire_881 小时前
AI 辅助 PPT 生成工具横向测评:从模板库到多模态生成的选型参考
人工智能·powerpoint
半亩码田1 小时前
AI周报 | DeepSeek-V4-Flash 正式版(7-31)、Wan2.6 全链路、GPT-5.6 降价 80%(上周 07.27-08.02)
人工智能·gpt