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

实训日志day28

一、SVM 核心基础

  1. 基本需求:在样本空间中找到一个划分超平面,实现不同类别样本的分离。超平面是 n 维空间映射到 n-1 维的子空间,由 n 维向量和实数定义,如三维空间中超平面是二维平面,二维空间中超平面是一维直线,其方程为wᵀx + b = 0(w 为法向量,b 为位移项)。
  2. 理想超平面标准:对训练样本局部扰动的 “容忍性” 最佳,即能在样本发生微小变化时,仍保持良好的分类效果,核心是最大化margin(间隔)—— 超平面到两类样本中最近点的距离之和(margin = 2d,d 为超平面到最近样本点的距离)。
  3. 支持向量:距离超平面最近的样本点,是决定超平面位置的关键,SVM 的模型复杂度仅与支持向量数量相关,而非样本总数。
  4. 点到超平面距离:基于二维空间点 (x,y) 到直线 Ax+By+C=0 的距离公式(|Ax+By+C|/√(A²+B²)),拓展到 n 维空间,点到超平面 wᵀx + b = 0 的距离为 **|wᵀx + b|/√(wᵀw)**。

二、SVM 优化目标与转化

  1. 初始目标
    • 样本标签定义:正例 Y=+1,负例 Y=-1;决策方程为y(x) = w·Φ(x) + b(Φ(x) 是对数据的变换,用于后续处理非线性问题)。
    • 核心目标:找到 w 和 b,使离超平面最近的样本点(支持向量)距离最远,即满足Yᵢ·(w·Φ(xᵢ)+b) ≥ 1(通过放缩 w 和 b,让支持向量满足等号),最终转化为最大化 d = 1/√(wᵀw)
  2. 目标转化:将 “最大化 d” 的极大值问题,等价转化为 “最小化 (1/2) wᵀw” 的极小值问题(因 wᵀw 最小化时,1/√(wᵀw) 最大化),约束条件仍为 Yᵢ・(w・Φ(xᵢ)+b) ≥ 1。

三、SVM 求解:拉格朗日乘子法

  1. 构建拉格朗日函数:针对带约束的极小值问题,引入拉格朗日乘子 αᵢ(αᵢ ≥ 0),函数为:
    L(w,b,α) = (1/2)wᵀw - Σαᵢ[Yᵢ·(w·Φ(xᵢ)+b) - 1]
  2. 对偶问题转化:利用对偶性,将 “min (w,b) max (α) L (w,b,α)” 转化为 “max (α) min (w,b) L (w,b,α)”,通过对 w 和 b 求偏导并令其为 0,得到关键条件:
    • 对 w 求偏导:w = ΣαᵢYᵢΦ(xᵢ)(w 由支持向量的 αᵢ、Yᵢ和 Φ(xᵢ) 决定)。
    • 对 b 求偏导:ΣαᵢYᵢ = 0(α 与样本标签 Y 的加权和为 0)。
  3. 最终对偶问题:将上述条件代入拉格朗日函数,最终求解目标变为:
    max(α) [Σαᵢ - (1/2)ΣΣαᵢαⱼYᵢYⱼΦ(xᵢ)·Φ(xⱼ)],约束条件为ΣαᵢYᵢ = 0αᵢ ≥ 0

四、SVM 求解实例

通过具体数据计算,代入对偶问题目标函数后,对 α₁、α₂等变量求偏导并令其为 0,筛选满足 αᵢ ≥ 0 约束的解(若偏导为 0 的解不满足约束,则在边界上找最优解,如 α₁=0.25、α₃=0.25、α₂=0),再代入 w 和 b 的计算公式:

  • 求解 w:w = ΣαᵢYᵢΦ(xᵢ)(实例中得到 w=(0.5,0.5))。
  • 求解 b:b = Yᵢ - ΣαⱼYⱼΦ(xⱼ)·Φ(xᵢ)(实例中得到 b=-2)。
  • 最终超平面方程:0.5x₁ + 0.5x₂ - 2 = 0

五、特殊场景处理

  1. 软间隔:应对噪音数据
    • 问题:当数据含噪音时,硬间隔(要求完全分类正确)会导致超平面效果差,需引入松弛因子 ξᵢ ≥ 0,将约束条件放宽为Yᵢ·(w·xᵢ + b) ≥ 1 - ξᵢ
    • 目标函数:变为min(w,b,ξ) [(1/2)wᵀw + CΣξᵢ](C 为惩罚参数),C 越大,对分类错误的惩罚越重(接近硬间隔);C 越小,对错误的容忍度越高。
    • 求解调整:拉格朗日乘子约束变为0 ≤ αᵢ ≤ C,其他步骤与硬间隔类似。
  2. 低维不可分:核变换
    • 问题:低维空间中样本线性不可分,需映射到高维空间(如 3 维数据映射到 9 维),但高维空间内积计算复杂(复杂度 O (n²))。
    • 核函数解决方案:引入核函数 K (xᵢ,xⱼ) = Φ(xᵢ)・Φ(xⱼ),无需显式计算高维映射 Φ(x),直接通过低维样本计算内积,常用核函数包括:
      • 线性核函数:K (xᵢ,xⱼ) = xᵢ・xⱼ(适用于低维可分数据)。
      • 高斯核函数(RBF):K (xᵢ,xⱼ) = exp (-||xᵢ - xⱼ||²/(2σ²))(适用于非线性数据,通过调节 σ 控制映射范围)。
http://www.xdnf.cn/news/1370467.html

相关文章:

  • Elasticsearch中的设置refresh_interval
  • 文献阅读笔记【雷达辐射源识别】:Recognition of Unknown Radar Emitters with Machine Learning
  • 浅谈ArrayList的扩容机制
  • Nginx配置学习及多应用场景配置示例
  • 验证码请求与缓存问题解决方案
  • Leetcode—1163. 按字典序排在最后的子串【困难】
  • 智慧园区:从技术赋能到价值重构,解锁园区运营新范式
  • 产品经理成长手册(2)——产品文档能力
  • 二、JVM 入门——(三)栈
  • 两数之和,leetCode热题100,C++实现
  • 链改2.0六方会谈协同创新—可信资产IPO与数链金融RWA双轮驱动
  • 第17章|PowerShell 安全警报——高分学习笔记(运维实战向)
  • 使用Kiro智能开发PYTHON应用程序
  • onnx入门教程(五)——实现 PyTorch-ONNX 精度对齐工具
  • Ubuntu操作系统下MySQL、MongoDB、Redis
  • 基于 LQG 控制的轨迹跟踪 —— 从原理到实践
  • 优雅草黑曼巴知识付费项目交付顺带:深入剖析 WebApp 的封装原理与实践-卓伊凡
  • MD5校验算法
  • FreeRTOS 同步互斥与任务协作 学习笔记
  • vscode或者cursor配置使用Prettier - Code formatter来格式化微信小程序wxss/wxs/wxml文件
  • CentOS 7 升级 OpenSSL 3.5.1 的详细教程
  • HarmonyOS image组件深度解析:多场景应用与性能优化指南(2.4详细解析,完整见uniapp官网)
  • Android 属性 property 系统
  • 微服务的编程测评系统16-用户答题
  • 什么是索引下推?
  • ADB 安装教程:如何在 Windows、 Linux 上安装 Android Debug Bridge
  • 基于CSO与BP神经网络分类模型的特征选择方法研究(Python实现)
  • 2025第五届人工智能、自动化与高性能计算国际会议 (AIAHPC 2025)
  • Android Glide生命周期管理:实现原理与最佳实践
  • swift 开发抠图工具实现思路,与代码详解