笔记(总结)-SVM(支持向量机)的理解-1

支持向量机(SVM) 支持向量机一、优化目标1.1 支持向量机1.2 建立支持向量机二、大边界的直观理解2.1 代价函数2.2 间距2.3 决策边界2.4 C的设置三、大边界分类3.1 内积3.2 支持向量机四、核函数4.1 对原有特征进行组合4.2 利用核函数计算新特征4.3 例4.4 选择地标4.5 支持向量机假设4.6 支持向量机参数C和σ的影响五、使用支持向量机5.1 步骤5.2 使用准则 一、优化目标 1.1 支持向量机 支持向量机(Support Vector Machine),简称SVM,在学习复杂的非线性方程时 阅读详情

SVM即支持向量机作为神经网络复兴前的最强大模型,建模和推导有着严密的数学推导作为基础,在训练完成后计算速度也较快,得到了广泛的应用。本文先阐述SVM的基本问题和推导过程,再引入软间隔的SVM,最后引入核函数和求解方法。


问题引入

考虑简单的二分类问题,我们想找一个“最好”的超平面来分隔两类样本。可以看到,在样本点线性可分的情况下,能够找到多个超平面。但其中黑色超平面直观上来看是最合理的,所有样本点到黑色超平面的距离都比较远。新来一个样本时,由于噪声或训练集局限性(采样)等因素,新样本可能更加接近超平面,导致分类错误,而黑色超平面受的影响最小,因为所有样本到它的距离都比较远,泛化能力最强。
这里写图片描述

样本空间中,超平面方程如下:

wTx+b=0wTx+b=0

样本空间中任意一点x0x0到超平面的距离为:

r=|wTx0+b|||w||r=|wTx0+b|||w||

如何描述这个“最好”的超平面?我们引入两条“间隔”超平面作为“楚河汉界”,现在我们的目标变为:在满足所有样本点位于边界外的基础上(分类正确),使“楚河汉界”最宽(泛化能力最强)。
这里写图片描述

我们取两条间隔线为 wTx+b=±kwTx+b=±k,在任意间隔线上取一点,到另一间隔线的距离即为“楚河汉界”宽度,等于d=2k||w||d=2k||w||,此时我们的目标变为:

max dmax d

s.t. wTx+b≥k, y=1s.t. wTx+b≥k, y=1

wTx+b≤−k, y=−1wTx+b≤−k, y=−1

由于目标为最大间隔,而kk相当于衡量宽度的一个尺度,取不同尺度只会改变目标函数的优化程度,为了之后模型推导的方便,取k=1。目标等价变为:

min 12||w||2min 12||w||2

s.t. yi(wTx+b)≥1, ∀xis.t. yi(wTx+b)≥1, ∀xi

在该问题中,约束条件为仿射函数,为凸二次规划问题,可以直接求解。但推导得到等价的对偶问题后,可以更高效地求解。


拉格朗日乘数法与对偶问题

不失一般性,定义原问题p∗p∗如下:

min f(w)min f(w)

s.t.gi(w)≤0s.t.gi(w)≤0

构造拉格朗日函数:

L(w,α)=f(w)+∑iαigi(w)L(w,α)=f(w)+∑iαigi(w)

定义:

θp(w)=maxαi≥0L(w,α)θp(w)=maxαi≥0L(w,α)

有:

θp(w)={f(w)+∞限制满足限制不满足θp(w)={f(w)限制满足+∞限制不满足

在αi≥0αi≥0的前提下,若不满足gi(w)≤0gi(w)≤0,可取不满足的约束,取对应αiαi为无穷,则函数为无穷。此时原问题p∗p∗的等价表述为:

min f(w)=min θp(w)=minmaxαi≥0L(w,α) 即为p∗min f(w)=min θp(w)=minmaxαi≥0L(w,α) 即为p∗

得到对偶问题d∗d∗为:

maxαi≥0minL(w,α)=maxαi≥0θD(w) 令为d∗其中 θD(w)=minL(w,α)maxαi≥0minL(w,α)=maxαi≥0θD(w) 令为d∗其中 θD(w)=minL(w,α)

当满足KKT条件时:

⎧⎩⎨⎪⎪αi≥0gi(w)≤0αigi(w)=0{αi≥0gi(w)≤0αigi(w)=0

原问题和对偶问题有相同的解。


SVM对偶问题

回到SVM原问题p∗p∗:

min 12||w||2min 12||w||2

s.t. yi(wTx+b)≥1, ∀xis.t. yi(wTx+b)≥1, ∀xi

构造拉格朗日算子,显然有:

f(w)=12||w||2f(w)=12||w||2

gi(w)=1−yi(wTxi+b)≤0gi(w)=1−yi(wTxi+b)≤0

L(w,α)=f(w)+∑iαigi(w)L(w,α)=f(w)+∑iαigi(w)

通过解对偶问题来解原问题

maxαi≥0minL(w,α)=maxαi≥0θD(w) 其中 θD(w)=minw,bL(w,α)maxαi≥0minL(w,α)=maxαi≥0θD(w) 其中 θD(w)=minw,bL(w,α)

对于L(w,α)L(w,α),极值在偏导为0处取到(注意此时L只是关于w和b的函数L只是关于w和b的函数),令:

∂L∂w=0, ∂L∂b=0∂L∂w=0, ∂L∂b=0

得到:

w=∑iαiyixi, ∑iαiyi=0w=∑iαiyixi, ∑iαiyi=0

将ww代回L,得到:

minw,bL=∑iαi−12∑i∑jαiαjyiyjxTixj, 记为W(α)minw,bL=∑iαi−12∑i∑jαiαjyiyjxiTxj, 记为W(α)

可以看到LL只是关于α的函数,对偶问题即为:

d∗=maxW(α)d∗=maxW(α)

s.t. αi≥0, ∑iαiyi=0s.t. αi≥0, ∑iαiyi=0

此时回过头来,我们看KKT条件,易得若αi>0αi>0,则有gi(w)=0gi(w)=0,即yi(wTxi+b)=1yi(wTxi+b)=1,xixi位于间隔超平面上,我们称这样的样本为支持向量。当我们求解得到αiαi代入后,由w=∑iαiyixiw=∑iαiyixi即可得到ww,由任意一支持向量均满足gi(w)=0,将w,xi,yiw,xi,yi代入即可得到bb,最终判别函数为:

f(x)=wTx+b=(∑iαiyixiT)x+b=∑iαiyi(xiTx)+b

对于所有非支持向量的样本,有αi=0αi=0,即在最终的判别函数中只有支持向量起作用,故SVM可以看做一系列支持向量的“加权和”构成的模型。


本文总结了SVM的建模来由、对偶问题和模型推导过程,最终得到了SVM对偶问题的形式和判别函数。其余内容下文再续。

支持向量机(SVM) 综述支持向量机(Support Vector Machines), 是一种二分类模型.也可以通过技巧,转化为多分类模型.比如说libSVM中就使用了one-against-one的策略使得SVM能够扩展到多分类.而libLiner则使用了one-against-rest的策略来扩展SVM. 支持向量机的基本模型: 定义在特征空间上的间隔最大化的线性分类器(间隔最大化也使得SVM区别于感知机 阅读详情

相关推荐

详解支持向量机SVM

详解支持向量机SVM详解支持向量机 SVM支持向量机预备知识 深入理解超平面间隔最大化 间隔最大化最优值求解方法 拉格朗日乘数法 拉格朗日乘数法与KKT条件 拉格朗日对偶性间隔最大化最优值求解

Avery123123的博客 1055

支持向量机(SVM)三

感知机模型对应于特征空间中将实例划分为正负两类的分离超平面,但是,感知机的解却不止一个。对同一个数据集而言,可以计算得到很多的感知机模型,不同的感知机的 **训练误差** 都是一样的,都为0。 那么,这些训练误差都为0的感知机模型中,如何针对当前数据集,选择一个最好的感知机模型呢?现在就需要考虑模型的 **泛化误差** 了。即,在所有训练误差为0的感知机中,选择泛化误差最小的那个感知机,这就是SVM算法最初的目的。

Daunxx的专栏 4445

MATLAB支持向量机SVM代码实现

本栏目(Machine learning)包括单参数的线性回归、多参数的线性回归、Octave Tutorial、Logistic Regression、Regularization、神经网络、机器学习系统设计、SVM(Support Vector Machines 支持向量机)、聚类、降维、异常检测、大规模机器学习等章节。所有内容均来自Standford公开课machine learning

wenyusuran的专栏 4万+

机器学习实战 -- 支持向量机(1)

简单介绍支持向量机 利用 SMO 进行优化 利用核函数对数据进行空间转换 将SVM 和其他分类器进行对比 基于最大间隔分类数据 优点 : 泛化错误率低,计算成本低,结果易解释 缺点 : 对参数调节和核函数的选择敏感,原始分类器不加修饰仅适用于处理二类问题 线性不可分数据集 适合数据类型 : 数值型和标称型数据 上图中 A 中我们很容易就可以用一条直线将两组数据分...

森宝的博客 574

自动驾驶小车DIY:树莓派+激光雷达实现DWA路径规划(从仿真到实车)

本文详细介绍了如何基于树莓派与激光雷达,从零搭建一套完整的自动驾驶小车系统,并实现DWA局部路径规划算法。内容涵盖硬件选型、ROS环境部署、DWA算法原理与仿真,以及关键的实车调试与性能优化技巧,为创客和竞赛爱好者提供了一套低成本、高可行性的自主导航解决方案。

kiwi8的博客 530

生成对抗网络(GAN、DCGAN、ACGAN)-----学习笔记

生成对抗网络学习笔记 生成对抗网络有两个关键结构:生成模型、判别模型。 生成模型:输入是一个服从正态分布的N维向量,利用这个N维向量生成一张图片。 判别模型:对于生成模型输出的图像判别它是不是真的图像。 生成模型和判别模型的博弈关系在于:生成模型的目的是生成让判别模型无法判别真伪的图像,而判别模型的目的是判断输入图像的真伪。 结合代码来看生成对抗网络中,生成器和判别器的训练过程: 判别模型的训...

weixin_43227526的博客 5490

机器学习|支持向量机SVM(四)

作 者:echoy189介 绍:spark数据处理与算法交流公众号:spark推荐系统在上文中,我们了解了SVM处理线性(硬间隔/软间隔)可分的情况,而对于非线性...

qq_31405629的博客 533

Codex登录要手机验证码?Cockpit Tools跳过验证保姆级教程

摘要:OpenAI升级风控后,Codex登录需手机验证,增加批量账号使用成本。CockpitTools(GitHub 8.3k star)可绕过验证,支持多AI编程平台账号管理。操作步骤:1) 获取ChatGPT网页Session数据;2) 通过转换工具生成CPA格式JSON;3) 导入工具启动Codex。注意:仅适用于未绑定手机号的账号,Session会过期,且需防范数据泄露风险。商业账号通常直接提供认证文件。(150字)

5848

SVM支持向量机

SVM支持向量机 SVMs(Support vector machines)支持向量机是二类分类器,其基本思想是找到一个分类超平面使得距离该分类超平面最近的样本点间隔最大化(Maximize Margin)。 线性判别函数和分类超平面 对于两类问题的线性分类器可以用下述决策规则: g(x)=g1(x)−g2(x)g(x)=g1(x)−g2(x)g(x)=g_1(x)-g_2(x) 如...

布纸所云 533

[QMT和ptrade量化交易小白入门]-112、小市值热点概念交易策略,回测5年20倍

本专栏主要是介绍QMT和ptrade的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 1080

【BUG已解决】RuntimeError: CUDA error: no kernel image is available for execution on the device 解决方案

方案适用场景推荐指数精确匹配官方版本绝大多数场景(大众消费卡+主流数据中心卡)⭐⭐⭐⭐⭐安装历史旧版本Pascal/Maxwell等老显卡⭐⭐⭐⭐安装Nightly版本刚发布的最新架构显卡⭐⭐⭐⭐源码编译官方各版本均不支持的特殊硬件⭐⭐Docker官方镜像追求省心、避免版本排查⭐⭐⭐⭐⭐的核心是PyTorch 预编译包不包含你显卡对应的计算能力架构先确认显卡真实计算能力),而不是盲目重装驱动对比 PyTorch 支持的架构列表),定位是否真的不匹配精确匹配官方版本。

博客 1万+

傻子都能看懂的SVM

文章目录SVM简介物理世界角度理解svm知识前提0-数学基本知识1-几何间隔与函数间隔2-拉格朗日乘子法与KKT条件如何理解拉格朗日乘子法什么是负梯度为什么λ\lambdaλ要大于0?3-拉格朗日对偶问题对偶问题的性质什么是对偶空间如何求解一个线性规划的对偶问题?2-SVM 目标函数与约束的推导数据集如何去除优化公式中的绝对值为优化函数添加约束项进一步化简复杂的优化目标如何求解优化函数?求解min⁡w,bL(w,b,α)\min \limits_{w,b}L(w,b,\alpha)w,bmin​L(w,b,

qq_37633207的博客 1825

在RV1126上实现人脸识别----MobileFaceNet转成rknn模型

目录 1.模型下载 2 转成rknn模型并推理 3 查看网络模型 1.模型下载 首先下载MobileFaceNet的模型,github下载地址为:https://github.com/sirius-ai/MobileFaceNet_TF/tree/master/arch/pretrained_model/ 2 转成rknn模型并推理 import numpy as np import cv2 from rknn.api import RKNN if __name__ == '__..

C/C++、嵌入式开发、深度学习算法、模型部署与推理优化 3527

深入浅出理解SVM支持向量机

SVM是啥? SVM(全称Support Vector Machine)中文名支持向量机, 这里的vector就是数学中那个向量。SVM用到向量,然后它的功能就和它的名字没什么关系了。 SVM用于解决分类问题,何为分类呢?顾名思义,就是把你拥有的数据分成几类。 SVM是有监督学习,我们先给一部分数据打上类别标签,让SVM模型使用这些打了类别标签的数据进行训练,训练后,给训练好的SVM模型新的无类别标签的数据,SVM模型就可以自动对这些新的数据分类。 如图,有一些样本点,现在我们需要对两组..

MengHao的博客 6634

【学术情报智库】目录学的数字化蜕变:从古籍整理到AI知识图谱的跨越

我们既是浩瀚知识的守望者,也是数字智识的开拓者。目录学数字化不是技术替代传统,而是融合创新,让学术的系统性与多样性在新媒介下焕发新的生命。以AI为桥,既要智能链接,也要人文关照——这是对自我文明的深情回应,也是新知时代的庄严约定。

高校图书馆高级系统架构师/研究馆员,推动高校AI从概念演示到可评审、可交付、可运维:路线图与立项评审、PoC交付、评测回归与上线运维(Baseline/Eval/Ops)。 1421

YOLOv11的扩散模型去噪预处理-(在推理前对低质量图像进行增强)

摘要: 扩散模型与YOLOv11的结合有效提升了复杂场景下的目标检测性能。针对低质量图像(如噪声、低光照)导致YOLOv11特征提取退化的问题,研究提出了一种基于条件扩散模型的预处理方法。通过语义引导的渐进式去噪,在保留关键检测特征的同时,显著改善了图像质量。技术核心包括:1)利用YOLOv11浅层特征作为条件输入;2)交叉注意力机制实现任务感知去噪;3)知识蒸馏与潜空间扩散加速推理。实验表明,该方法使mAP50提升19%,在15步内达到传统百步去噪效果,平衡了精度与实时性需求,为鲁棒性目标检测提供了新思路

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 877

SVM支持向量机浅显理解

本人摸鱼式考过研,所以数学功底比较浅薄,此文章只作为学习记录,有理解不当之处,见谅!一、SVM的最终目标1.SVM也就是很出名的支持向量机。个人见解支持向量机可以分为两个部分,支持向量和Ji。yes,支持向量故名思意就是一种向量,这些向量决定了分类任务中,在数据空间里的那面墙所处的位置,这些向量也可以说是一些点。这面墙就是超平面,它将数据分类两侧,一侧是正类,一侧是负类。(仅讨论二分类)!然后就是最好理解的Ji。Ji就是机器,分类器的意思。

weixin_47327329的博客 1328

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SVM 支持向量机

目录 Linear Support Vector Machine线性支持向量机 通俗理解 函数间隔与几何间隔 最大间隔分类器 Dual Support Vector Machine 对偶支持向量机 引入原因 具体推导 Kernel Support Vector Machine 核函数 常见核函数 Polynomial Kernel Gaussian Kernel ...

YM的博客 4958

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

两遍读懂支持向量机 SVM (软硬 SVM)

支持向量机 (Support Vector Machine,SVM),也成为最大边界分类器,是上世纪 90 年代发明的性能优异的二元分类器。支持向量机的旨在找到一个合适的超平面使得其决策平面间的间距最大化。

Yongfeng's Blog 4666

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

支持向量机SVM

一、支持向量机介绍 支持向量机(Support Vector Machine, SVM)是一类按监督学习方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。SVM使用铰链损失函数(hinge loss)计算经验风险并在求解系统中加入了正则化项以优化结...

qq_32172681的博客 3178

深入SVM:支持向量机核的作用是什么

​ 您可能听说过所谓的内核技巧,这是一种支持向量机(SVMs)处理非线性数据的小技巧。这个想法是将数据映射到一个高维空间,在这个空间中数据变成线性,然后应用一个简单的线性支持向量机。听起来很复杂,但操作起来确实如此。尽管理解该算法的工作原理可能比较困难,但理解它们试图实现的目标却相当容易。往下读,自然就会明白了! 当数据是线性可分的:线性支持向量机 ​ 支持向量机是如何工作的呢?支持向量机可用于分类和回归任务,但是在本文中,我们将主要关注前者。让我们首先考虑具有线性可分的两个类的数据。我们将创建两个独.

deephub 5880

支持向量机SVM在python下的使用

这里我们将简要介绍下SVM是什么,然后将做一些SVM的经典例子,其中也会结合一些其他的算法来完成这些例子 我的配置:Python 3.7+, Pycharm 一 SVM介绍 1.1 SVM可以做什么 手写数字识别 目前最好的识别水平: LeNet 4(错误率<0.7%) 多项式支持向量机(错误率<0.8%) 性别识别 通过SVM来判断是男还是女 行人检测 1.2 SVM的理论基础 1.2.1 超平面的描述 在数学中,超平面是n维欧氏空间中余维度等于1的子空间,即n维空间中的超平面使.

学习记录仪 1982

支持向量机通俗导论(理解SVM的三层境界)

这篇文章比之前自己推理SVM算法那篇讲解的更加细致,理解的更加透彻,作者也着实强大,特转载分享在此,同大家一起学习。 前言 动笔写这个支持向量机(support vector machine)是费了不少劲和困难的,原因很简单,一者这个东西本身就并不好懂,要深入学习和研究下去需花费不少时间和精力,二者这个东西也不好讲清楚,尽管网上已经有朋友写得不错了(见文末参考链接),但在描述数学公式的...

一米阳光-的博客 1683

支持向量机SVM学习笔记

SVM 核心思想 1.  Define an optimal hyperplane: maximize margin 2.  Extend the above definition for non-linearly separable problems: have a penalty term for misclassifications. 3.  Map data to h

I am not a quitter. 3988

通俗理解支持向量机SVM及推导

前言      本章总结支持向量机。关于SVM的理解,我建议自己手推一遍,多看几遍相关视频,推不出来的地方着重看一下。手推公式不是目的,通过手推公式理解SVM才是真谛。 目录 基础算法 排序 快速排序 归并排序 堆排序 插入排序 选择排序 冒泡排序 希尔排序 桶排序 计数排序 基数排序 查找 二分查找及变种 机器学习算法 传统机器学习 LR(逻辑回归) SVM(支持...

守得云开见月明 1542
上一篇: 笔记(总结)-Logistic Regression
下一篇: 笔记(总结)-SVM(支持向量机)的理解-2
ZSYGOOOD
博客等级 码龄12年 113粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值