sheng的学习笔记-AI-支持向量机(SVM)

news2025/1/13 15:37:39

目录:sheng的学习笔记-AI目录-CSDN博客

目录

什么是向量机

SVM算法原理

SVM基本模型

SVM对偶问题

什么是对偶问题:

为什么使用对偶问题

 拉格朗日定理

拉格朗日乘子法

对偶问题算法

非线性SVM算法原理

核函数

常用核函数 

软间隔与正则化

软间隔

损失替代函数

拉格朗日解决对偶问题

支持向量回归

逻辑回归和SVM选择


什么是向量机

支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法

与逻辑回归和神经网络相比,支持向量机,在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式

给定训练样本集D={(x1,y1),(x2,y2),...,(xm,ym)},yi∈{-1,+1},分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开。但能将训练样本分开的划分超平面可能有很多,如图6.1所示,我们应该努力去找到哪一个呢?

比如,这就是一个决策边界可以把正样本和负样本分开。但是多多少少这个看起来并不是非常自然

或者我们可以画一条更差的决策界,这是另一条决策边界,可以将正样本和负样本分开,但仅仅是勉强分开,这些决策边界看起来都不是特别好的选择,支持向量机将会选择这个黑色的决策边界,相较于之前我用粉色或者绿色画的决策界。这条黑色的看起来好得多,黑线看起来是更稳健的决策界。在分离正样本和负样本上它显得的更好。数学上来讲,这是什么意思呢?这条黑线有更大的距离,这个距离叫做间距(margin)

当画出这两条额外的蓝线,我们看到黑色的决策界和训练样本之间有更大的最短距离。然而粉线和蓝线离训练样本就非常近,在分离样本的时候就会比黑线表现差。因此,这个距离叫做支持向量机的间距,而这是支持向量机具有鲁棒性的原因,因为它努力用一个最大间距来分离样本。因此支持向量机有时被称为大间距分类器

SVM算法原理

SVM基本模型

SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示, 

 即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的

SVM对偶问题

什么是对偶问题:

对偶问题是一种数学概念,原始优化问题的另一种表述形式。

对偶问题通过数学变换或转换关系,将原始问题重新表述为另一个问题,通常具有一些特定的性质或特征。在优化理论中,对偶问题是通过构建一个与原问题相关的函数,寻找这个函数的最大值或最小值。例如,在线性规划中,每一个线性规划问题(原始问题)都有一个与之对应的对偶线性规划问题(对偶问题)。对偶问题可以提供关于原始问题的额外信息,如最优值的下界或上界,且在某些情况下,对偶问题的最优解可以提供原始问题最优解的一个界限

在svm算法中,我们可以求出最大间隔的算法,但不直接求,而是使用对偶问题的求解

为什么使用对偶问题

  1. 对偶问题更简单,更容易求解,效率更高;
  2. 对偶问题将原始问题中的不等式约束转为了对偶问题中的等式约束;
  3. 对偶问题方便核函数的引入,进而可以推广到非线性分类问题。

 拉格朗日定理

拉格朗日乘子法


 

对偶问题算法

于是,对任意训练样本(xi,yi),总有ai=0或yif(xi)=1。若ai=0,则该样本将不会在式(6.12)的求和中出现,也就不会对f(x)有任何影响;若ai>0则必有yif(xi)=1,所对应的样本点位于最大间隔边界上,是一个支持向量。这显示出支持向量机的一个重要性质:训练完成后,大部分的训练样本都不需保留,最终模型仅与支持向量有关。

非线性SVM算法原理

核函数

在实际工作中,原始样本空间内也许并不存在一个能正确划分两类样本的超平面。例如图6.3中的“异或”问题就不是线性可分的

对这样的问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。例如在图6.3中,若将原始的二维空间映射到一个合适的三维空间,就能找到一个合适的划分超平面。幸运的是,如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分。

由于在线性支持向量机学习的对偶问题里,目标函数和分类决策函数都只涉及实例和实例之间的内积,所以不需要显式地指定非线性变换而是用核函数替换当中的内积。核函数表示,通过一个非线性转换后的两个实例间的内积。具体地,

我们希望样本在特征空间内线性可分,因此特征空间的好坏对支持向量机的性能至关重要。需注意的是,在不知道特征映射的形式时,我们并不知道什么样的核函数是合适的,而核函数也仅是隐式地定义了这个特征空间。于是,“核函数选择”成为支持向量机的最大变数.若核函数选择不合适,则意味着将样本映射到了一个不合适的特征空间,很可能导致性能不佳

常用核函数 

软间隔与正则化

我们一直假定训练样本在样本空间或特征空间中是线性可分的,即存在一个超平面能将不同类的样本完全划分开。然而,在现实任务中往往很难确定合适的核函数使得训练样本在特征空间中线性可分;退一步说,即便恰好找到了某个核函数使训练集在特征空间中线性可分,也很难断定这个貌似线性可分的结果不是由于过拟合所造成的。

缓解该问题的一个办法是允许支持向量机在一些样本上出错。为此,要引入“软间隔”(soft margin)的概念

软间隔

损失替代函数

拉格朗日解决对偶问题

正则化可理解为一种“罚函数法”,即对不希望得到的结果施以惩罚,从而使得优化过程趋向于希望目标

支持向量回归

逻辑回归和SVM选择

值得一提的是,神经网络在以上三种情况下都可能会有较好的表现,但是训练神经网络可能非常慢,选择支持向量机的原因主要在于它的代价函数是凸函数,不存在局部最小值。

参考资料

什么是支持向量机【图文,超详细】-CSDN博客

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

支持向量机(SVM)——原理篇

 书:机器学习,周志华

吴恩达的机器学习,里面SVM部分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1628893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PMBOK® 第六版 项目是什么

目录 读后感—PMBOK第六版 目录 项目定义 定义:项目是为创造独特的产品、服务或成果而进行的临时性工作。 项目的特征具备以下三点: 独特性:独一无二,无法简单重复过去的做法。 临时性:项目有明确的起点和终点&…

腾讯云邮件推送如何设置?群发邮件的技巧?

腾讯云邮件推送功能有哪些?怎么有效使用邮件推送? 腾讯云邮件推送以其稳定、高效的特点,受到了众多企业的青睐。那么,腾讯云邮件推送如何设置呢?又有哪些群发邮件的技巧呢?下面AokSend就来详细探讨一下。 …

AI预测体彩排列3第2套算法实战化测试第5弹2024年4月27日第5次测试

今天继续进行新算法的测试,今天是第5次测试。好了,废话不多说了,直接上图上结果。 2024年4月27日体彩排3预测结果 6码定位方案如下: 百位:6、2、1、7、8、9 十位:8、9、4、3、1、0 个位:3、7、8…

Python 数组控件的使用

当一个UI窗口界面内有多个相同类型的控件,且这多个控件的功能都类似时,使用数组控件是一个非常不错的选择,可以大大减少代码的编写 且 代码易读性强,可惜的是Python好象是没有数组控件这个东东。 我们来看看以下一个界面&#xff…

生成完美口型同步的 AI 代言人视频(及其实现原理详解)

目录 什么是Heygen? Heygen注册 Video Translation(视频翻译 完美口型同步) 实现原理详解 视频翻译部分 完美口型同步部分 什么是Heygen? Heygen是一款在线工具,可帮助您生成具有完美口型同步的 AI 代言人视频。 Heygen注册 https:…

SpringBoot 缓存

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 目录 一、缓存的作用二、SpringBoot启用缓存三…

循迹/跟随/摇头避障小车

循迹小车 智能小车2-循迹小车-CSDN博客 接线 B-1A -- PB0 B-1B -- PB1 A-1A -- PB2 A-1B -- PB10 循迹模块(左) -- PB3 循迹模块(右) -- PB4 CubeMx 在CubeMx配置,并重定义,在main.h会自动生成 #define B_1A_Pin GPIO_PIN_0 #define B_1A_GPIO_Port GPIOB #defi…

【开发问题记录】启动某个服务时请求失败(docker-componse创建容器时IP参数不正确)

问题记录 一、问题描述1.1 产生原因1.2 产生问题 二、问题解决2.1 找到自己的docker-compose.yml文件2.2 重新编辑docker-compose.yml文件2.3 通过docker-componse重新运行docker-compose.yml文件2.4 重新启动docker容器2.5 查看seata信息 一、问题描述 1.1 产生原因 因为我是…

【国标语音对讲】EasyCVR视频汇聚平台海康/大华/宇视摄像头GB28181语音对讲配置

一、背景分析 近年来,国内视频监控应用发展迅猛,系统接入规模不断扩大,涌现了大量平台提供商,平台提供商的接入协议各不相同,终端制造商需要给每款终端维护提供各种不同平台的软件版本,造成了极大的资源浪…

嵌入式学习58-ARM7(字符设备驱动框架led)

知识零碎: kernel 内核 printk 内核打印 cat /proc/devices insmod …

LINUX系统编程:软硬链接,动静态连接

1.硬连接 什么是硬连接?,我们或许可以用操作清楚的认识什么是硬连接。 在我们学习文件的时候这个数字好像完全没有被提到过,这个代表什么意思呢? 这个代表该文件的inode编号与文件映射的次数,现在该文件的inode只与test.c这个文件名映射&a…

使用grasshopper修改梁的起始点方向

一般北方向朝上的情况,梁的方向从南向北,从西向东。 现在使用grasshopper来判断起始点坐标,分辨是否错误。 交换起始点这个,我实在不会用电池操作,只好敲python代码实现了。代码如下: 如果会敲代码的同学…

Git | 远程操作

Git | 远程操作 文章目录 Git | 远程操作0、分布式版本控制系统概念1、创建远程仓库2、克隆远程仓库https方式ssh方式 3、推送至远程仓库4、本地拉取远程仓库5、配置Git忽略特殊文件给命令配置别名 6、标签管理创建标签操作标签 0、分布式版本控制系统概念 Git是一个分布式版本…

【小迪安全2023】第58天:服务攻防-应用协议设备KibanaZabbix远控向日葵VNCTV

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

RPA机器人怎么操作知乎好物推荐自动点击【添加】商品按钮?

先看需要实现的效果(启动机器人-点击收益(打开商品卡片列表)-点击添加(自动添加商品卡片到文章)): 学员提问: 知乎上点击好物推荐【添加】商品按钮,iframe的元素是动态的…

力扣每日一题-查询网格图中每一列的宽度-2024.4.27

力扣题目:查询网格图中每一列的宽度 题目链接: 2639.查询网格图中每一列的宽度 题目描述 代码思路 双层for循环遍历整个矩阵容易想到,只要能想到使用整数转字符串的技巧(“” 字符串),即可完成题目 代码纯享版 c…

基于SpringBoot + Vue实现的家政服务管理系统设计与实现+毕业论文+答辩PPT+指导搭建视频(包运行成功)

目录 项目介绍 论文展示 资源获取 项目介绍 家政服务管理平台是一个管理信息系统,为了宣传的需要,为了给用户提供方便快捷的服务,从而设计了家政服务管理平台。管理员可以通过这个系统把家政服务信息发布出去,可以方便用户快…

【AI导师写作】毕业论文答辩PPT生成

无论是大专、本科或者硕博,撰写毕业论文、开题报告、文献综述、任务书、课程论文、调研报告等都是必不可少的一件事。而这些任务重往往都需要我们花费大量的时间和精力,而“AI导师写作”在这一方面无疑提供了高效和便捷。可毕业季的论文答辩也是每个学者…

TCP/IP协议族中的TCP(二):解析其关键特性与机制

⭐小白苦学IT的博客主页⭐ ⭐初学者必看:Linux操作系统入门⭐ ⭐代码仓库:Linux代码仓库⭐ ❤关注我一起讨论和学习Linux系统 滑动窗口 在前面我们讨论了确认应答策略, 对每一个发送的数据段, 都要给一个ACK确认应答. 收到ACK后再发送下一个数据段.这样…

VulnHub靶机 DC-9 靶机 详细渗透过程

VulnHub靶机 DC-9 打靶实战 详细渗透过程 目录 VulnHub靶机 DC-9 打靶实战 详细渗透过程一、将靶机配置导入到虚拟机当中二、渗透测试主机发现端口扫描Web渗透SQL注入登入后台文件包含SSH爆破提权 一、将靶机配置导入到虚拟机当中 靶机地址: https://www.vulnhub.…