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或修改优化目标直接处理多分类,但计算复杂度较高。
相关推荐
许泽宇的技术分享1 分钟前
从新闻到知识图谱:用大模型和知识工程“八步成诗”打造科技并购大脑
人工智能·科技·知识图谱
坤坤爱学习2.015 分钟前
求医十年,病因不明,ChatGPT:你看起来有基因突变
人工智能·ai·chatgpt·程序员·大模型·ai编程·大模型学
蹦蹦跳跳真可爱5891 小时前
Python----循环神经网络(Transformer ----注意力机制)
人工智能·深度学习·nlp·transformer·循环神经网络
空中湖3 小时前
tensorflow武林志第二卷第九章:玄功九转
人工智能·python·tensorflow
lishaoan773 小时前
使用tensorflow的线性回归的例子(七)
人工智能·tensorflow·线性回归
千宇宙航6 小时前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
IT古董6 小时前
【第二章:机器学习与神经网络概述】04.回归算法理论与实践 -(4)模型评价与调整(Model Evaluation & Tuning)
神经网络·机器学习·回归
onceco6 小时前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
jndingxin9 小时前
OpenCV CUDA模块设备层-----高效地计算两个 uint 类型值的带权重平均值
人工智能·opencv·计算机视觉
Sweet锦9 小时前
零基础保姆级本地化部署文心大模型4.5开源系列
人工智能·语言模型·文心一言