DataWhale—PumpkinBook(TASK07支持向量机)

课程开源地址及相关视频链接:(当然这里也希望大家支持一下正版西瓜书和南瓜书图书,支持文睿、秦州等等致力于开源生态建设的大佬✿✿ヽ(°▽°)ノ✿)

Datawhale-学用 AI,从此开始

【吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导_哔哩哔哩_bilibili

支持向量机:https://www.bilibili.com/video/BV1Mh411e7VU?p=9

软间隔与支持向量回归:https://www.bilibili.com/video/BV1Mh411e7VU?p=10

正文部分

支持向量机主要解决二分类 问题,通过学习高维空间的线性分割边界解决原始数据线性不可分问题。

基础的模型输入是原始数据,输出是高维分割超平面,预测时通过某条数据在超平面的哪一侧表达类别归属。

SVM同时也能应用于多分类回归单分类异常检测等问题。

直觉上,线性可分二分类,最好的分类边界应该是使靠的最近的不同类别的数据分开的越远越好。接近边界的数据能被良好地分开,远离边界的数据,分类自然更没问题。
SVM就是尝试寻找这个分割边界,也就是最大化上图中的红色边界和虚线之间的距离,由于是线性关系,系数可以缩放,为方面处理,令m=1,可得最大化的目标函数是1 / ||w||,等价于:

注意:y ϵ {+1, -1},m=1,不等式约束表达数据都在上图边界构成的管道外,保证w是最优化边界的参数。

考虑不等式约束,根据拉格朗日乘子法,目标函数变为:

拉格朗日对偶问题:

结合KKT条件,最终的目标函数为:

注意最终目标函数的形式:

  • 目标函数的变量是拉格朗日乘子α,且只和数据集(x, y)有关,可以通过SMO(sequential minimal optimization)最优化方法方便求解α。

  • 根据KKT 约束:α_i * g_i(w) = 0,g_i(w) ≤ 0,可知当g_i = 0,α_i > 0,即在上图最近虚线边界上时;当g_i < 0,α_i = 0。

  • α_i > 0 对应的样本点,称为支持向量,少量的数据参与训练,能有效降低学习的复杂度。

  • 目标函数样本间仅以<内积>形式出现,这是转换为对偶问题后,比较吸引人的形式。

  • 内积形式可以方便地将x打包映射到Φ(x) ,而不影响之前的整个推导,边界关于Φ(x)是线性的;Φ(x)一般是个向量,映射后的空间以向量为基本元素的希尔伯特空间 ,暂且称之为"内积空间"。

  • 内积空间中可以通过核函数技巧,使映射后空间变得更高维复杂,但计算复杂度和原始低维一致。

  • 映射x->Φ(x)的动机来自于低维线性不可分的数据,高维可能可以。

常见的核函数有四种:

以上核函数的计算复杂度都在原始x空间内。RBF即高斯核函数,示意图如下:

不同核函数,分类效果,大致如下:

给定一个样本,预测的时候,SVC如何确定属于哪一个分类呢?

其实就是将样本数据代入映射后的高维空间,按照位置,线性判别即可。


SVC只能输出样本属于哪一个分类,而不能像其他分类器一样输出概率。

想到只有支持向量参与学习,SVM的速度应该很快,这是一个小误区,因为确定支持向量本身也是学习的一部分。

以主流的libsvm的复杂度为例:

复杂度大概为o(n^2) ~ o(n^3),随着样本的增加,SVM的速度会变得很慢。

基础的SVM 算法通过拉格朗日 相关最优化方法,将欧拉空间线性不可分 问题映射到希尔伯特空间线性可分 ,并通过核函数技巧支持向量 选择,在高维空间有效解决二分类问题。

参考文献

scikit-learn: machine learning in Python --- scikit-learn 1.5.2 documentation

scikit-learn (sklearn) 官方文档中文版 - sklearn

相关推荐
立志成为大牛的小牛6 分钟前
数据结构——四十、折半查找(王道408)
数据结构·学习·程序人生·考研·算法
王哈哈^_^20 分钟前
【完整源码+数据集】蓝莓数据集,yolo11蓝莓成熟度检测数据集 3023 张,蓝莓成熟度数据集,目标检测蓝莓识别算法系统实战教程
人工智能·算法·yolo·目标检测·计算机视觉·ai·视觉检测
王哈哈^_^33 分钟前
【完整源码+数据集】高空作业数据集,yolo高空作业检测数据集 2076 张,人员高空作业数据集,目标检测高空作业识别系统实战教程
人工智能·算法·yolo·目标检测·计算机视觉·目标跟踪·视觉检测
一条数据库40 分钟前
猫狗识别数据集:34,441张高质量标注图像,深度学习二分类任务训练数据集,计算机视觉算法研发,CNN模型训练,图像识别分类,机器学习实践项目完整数据资
深度学习·算法·机器学习
bloxd yzh1 小时前
图论基础概念
算法
小白程序员成长日记1 小时前
2025.11.09 力扣每日一题
算法·leetcode·职场和发展
hansang_IR1 小时前
【题解】洛谷 P1477 [NOI2008] 假面舞会 [思维 + 图论]
c++·算法·图论·思维
ZEERO~1 小时前
夏普比率和最大回撤公式推导及代码实现
大数据·人工智能·机器学习·金融
天选之女wow1 小时前
【代码随想录算法训练营——Day59】图论——47.参加科学大会、94.城市间货物运输I
算法·图论
CoovallyAIHub1 小时前
1.2MB超轻量模型实现草莓苗精准分级检测与定位,准确率超96%
深度学习·算法·计算机视觉