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或修改优化目标直接处理多分类,但计算复杂度较高。
相关推荐
袁庭新15 分钟前
使用扣子+飞书+DeepSeek搭建批量提取公众号文章内容并改写的智能体
人工智能·aigc·coze
黑心萝卜三条杠29 分钟前
解码微生物适应性的关键:基因组序列与栖息地预测的深度关联
人工智能
黑心萝卜三条杠1 小时前
Everywhere Attack:通过多目标植入提升对抗样本的目标迁移性
人工智能
carpell1 小时前
【语义分割专栏】3:Segnet原理篇
人工智能·python·深度学习·计算机视觉·语义分割
ahead~1 小时前
【大模型原理与技术-毛玉仁】第五章 模型编辑
人工智能·深度学习·机器学习
迪娜学姐2 小时前
GenSpark vs Manus实测对比:文献综述与学术PPT,哪家强?
论文阅读·人工智能·prompt·powerpoint·论文笔记
TDengine (老段)2 小时前
TDengine 在电力行业如何使用 AI ?
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据
猎板PCB厚铜专家大族2 小时前
高频 PCB 技术发展趋势与应用解析
人工智能·算法·设计规范
l0sgAi2 小时前
SpringBoot整合LangChain4j实现RAG (检索增强生成)
人工智能
祐言QAQ2 小时前
浅谈边缘计算
人工智能·边缘计算