【机器学习算法】机器学习:支持向量机(SVM)

转载自:

【精选】机器学习:支持向量机(SVM)-CSDN博客

1.概述


1.1,概念
支持向量机(SVM)是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面,可以将问题化为一个求解凸二次规划的问题。与逻辑回归和神经网络相比,支持向量机,在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式。

具体来说就是在线性可分时,在原空间寻找两类样本的最优分类超平面。在线性不可分时,加入松弛变量并通过使用非线性映射将低维度输入空间的样本映射到高维度空间使其变为线性可分,这样就可以在该特征空间中寻找最优分类超平面。

SVM使用准则:nn 为特征数, 为训练样本数。

如果相较于mm而言,nn要大许多,即训练集数据量不够支持我们训练一个复杂的非线性模型,我们选用逻辑回归模型或者不带核函数的支持向量机。
如果nn较小,而且mm大小中等,例如nn在 1-1000 之间,而mm在10-10000之间,使用高斯核函数的支持向量机。
如果nn较小,而mm较大,例如nn在1-1000之间,而𝑚大于50000,则使用支持向量机会非常慢,解决方案是创造、增加更多的特征,然后使用逻辑回归或不带核函数的支持向量机。

1.2 SVM的优缺点


优点:

支持向量机算法可以解决小样本情况下的机器学习问题,简化了通常的分类和回归等问题。
由于采用核函数方法克服了维数灾难和非线性可分的问题,所以向高维空间映射时没有增加计算的复杂性。换句话说,由于支持向量计算法的最终决策函数只由少数的支持向量所确定,所以计算的复杂性取决于支持向量的数目,而不是样本空间的维数。
支持向量机算法利用松弛变量可以允许一些点到分类平面的距离不满足原先要求,从而避免这些点对模型学习的影响。
缺点:

支持向量机算法对大规模训练样本难以实施。这是因为支持向量机算法借助二次规划求解支持向量,这其中会涉及m阶矩阵的计算,所以矩阵阶数很大时将耗费大量的机器内存和运算时间。
经典的支持向量机算法只给出了二分类的算法,而在数据挖掘的实际应用中,一般要解决多分类问题,但支持向量机对于多分类问题解决效果并不理想。
SVM算法效果与核函数的选择关系很大,往往需要尝试多种核函数,即使选择了效果比较好的高斯核函数,也要调参选择恰当的  参数。另一方面就是现在常用的SVM理论都是使用固定惩罚系数 ,但正负样本的两种错误造成的损失是不一样的。


2.硬间隔


2.1 求解间隔

2.2.对偶问题 

2.3,感知机与SVM线性可分的区别
感知机的目的是尽可能使得所有样本分类正确,而SVM的目标是分类间隔最大化。支持向量机追求大致正确分类的同时,一定程度上避免过拟合。

感知机使用的学习策略是梯度下降,而SVM采用的是由约束条件构造拉格朗日函数,然后求偏导为0求得极值点。
 

 3,软间隔

4,核函数 

 

5,模型评估和超参数调优


5.1,模型评估
Holdout检验:Holdout检验是最简单也是最直接的验证方法,它将原始的样本集合随机划分成训练集和验证集两部分。比方说,对于一个2分类问题,将样本按照7:3的比例分成两部分,70%的样本用于模型训练;30%的样本用于模型验证,包括绘制ROC曲线、计算精确率和召回率等指标来评估模型性能。

Holdout检验的缺点很明显,即在验证集上计算出来的最后评估指标与原始分组有很大关系。

交叉验证

k-fold交叉验证:首先将全部样本划分成k个大小相等的样本子集;依次遍历这k个子集,每次把当前子集作为验证集,其余所有子集作为训练集,进行模型的训练和评估;最后把k次评估指标的平均值作为最终的评估指标,k通常取10。


留一验证:每次留下1个样本作为验证集,其余所有样本作为测试集。样本总数为n,依次对n个样本进行遍历,进行n次验证,再将评估指标求平均值得到最终的评估指标。在样本总数较多的情况下,留一验证法的时间开销极大。
留p验证:每次留下p个样本作为验证集,而从n个元素中选择p个元素有种可能,因此它的时间开销更是远远高于留一验证,故而很少在实际中应用。

5.2,超参数调优
超参数搜索算法一般包括:目标函数(算法需要最大化/最小化的目标)、搜索范围(通过上限和下限来确定)、算法的其他参数(搜索步长)。

网格搜索:网格搜索是最简单、应用最广泛的超参数搜索算法,它通过查找搜索范围内的所有的点来确定最优值。如果采用较大的搜索范围以及较小的步长,网格搜索有很大概率找到全局最优值。然而,这种搜索方案十分消耗计算资源和时间,特别是需要调优的超参数比较多时。因此,在实际应用中,网格搜索算法一般会先使用较广的搜索范围和较大的步长,来寻找更精确的最优值。这种方案可以降低所需的时间和计算量,但由于目标函数一般是非凸的,所以很可能会错过全局最优值。

随机搜索:随机搜索的思想与网格搜索比较相似,只是不再测试上界和下界之间的所有值,而是在搜索范围中随机选取样本点。它的理论依据是,如果样本点集足够大,那么通过随机采样也能大概率地找到全局最优值或其近似值。随机搜索一般会比网格搜索要快一些,但是和网格搜索一样,结果无法保证。

贝叶斯优化算法:贝叶斯优化算法在寻找最优参数时,采用了与网格搜索、随机搜索完全不同的方法。网格搜索和随机搜索在测试一个新点时,会忽略前一个点的信息;而贝叶斯优化算法则充分利用了之前的信息。贝叶斯优化算法通过对目标函数形状进行学习,找到使目标函数向全局最优值提升的参数。具体来说,它的学习目标函数形状的方法是,首先根据先验分布,假设一个搜索函数;然后每一次使用新的采样点来测试目标函数时,利用这个信息来更新目标函数的先验分布;最后算法测试由后验分布给出全局最值最可能出现的位置的点。对于贝叶斯优化算法,有一个需要注意的地方,一旦找到了一个局部最优值,它会在该区域不断采样,所以很容易陷入局部最优值。为了弥补这个缺陷,贝叶斯优化算法会在探索和利用之间找到一个平衡点,“探索”就是在未取样的区域获取采样点;而“利用”则是根据后验分布在最可能出现的全局最值的区域进行采样。
 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 弹出自定义对话框

Android在任意Activity界面弹出一个自定义的对话框,效果如下图所示: 准备一张小图片,右上角的小X图标64*64,close_icon.png,随便找个小图片代替; 第一步:样式添加,注意:默认在value…

与博主交流

我是一个性格比较随和且有些内敛的人,喜欢与人交流技术。 如果你有一些问题想与我交流,请联系我。 交流说明:请直接描述你的需求。

Kubernetes1.28.X 集群安装

1、环境准备 准备2台虚拟机,安装集群一律使用内网ip通信,相关配置文件一律配置内网ip。 ip别名用途192.168.0.193kubernetes-master.openlab.cn主节点,harbor仓库192.168.0.194kubernetes-work.openlab.cnwork节点 hostnamectl set-hostna…

2023年咸阳市《网络建设与运维》赛题解析------四、安全配置

安全配置 说明:IP地址按照题目给定的顺序用“ip/mask”表示,IPv4 any地址用0.0.0.0/0,IPv6 any地址用::/0,禁止用地址条目,否则按零分处理。 1.FW1配置IPv4 nat,实现集团产品1段IPv4访问Internet IPv4,转换ip/mask为200.200.200.16/28,保证每一个源IP产生的所有会话将…

组合模式 rust和java的实现

文章目录 组合模式介绍实现javarsut 组合模式 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计…

【vue实战项目】通用管理系统:首页

前言 本文为博主的vue实战小项目系列中的第三篇,很适合后端或者才入门的小伙伴看,一个前端项目从0到1的保姆级教学。前面的内容: 【vue实战项目】通用管理系统:登录页-CSDN博客 【vue实战项目】通用管理系统:封装to…

opencv(5): 滤波器

滤波的作用:一幅图像通过滤波器得到另一幅图像;其中滤波器又称为卷积核,滤波的过程称为卷积。 锐化:边缘变清晰 低通滤波(Low-pass Filtering): 目标:去除图像中的高频成分&#…

Ubuntu22.04 部署Mqtt服务器

1、打开Download EMQX (www.emqx.io)下载mqtt服务器版本 2、Download the EMQX repository curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash 3.Install EMQX sudo apt-get install emqx 4.Run EMQX sudo systemctl start…

软件测试面试-如何定位线上出现bug

其实无论是线上还是在测试出现bug,我们核心的还是要定位出bug出现的原因。 定位出bug的步骤: 1,如果是必现的bug,尽可能的复现出问题,找出引发问题的操作步骤。很多时候,一个bug的产生,很多时…

【案例】可视化大屏

人狠话不多,直接上效果图 这里放的地图自己去实现吧,如果也想实现3D地球话,等笔者那天有心情写篇文章; 说明:script中methods部分代码是没用,可以直接删掉,根据个人情况去写, 内容:笔者也就对页面布局进行了设计,内容的填充就靠个人了 <template><div :sty…

微机原理_12

一、单项选择题(本大题共15小题,每小题3分&#xff0c;共45分。在每小题给出的四个备选项中&#xff0c;选出一个正确的答案。〕 十进制正数56的 8位二进制补码是()。 A. 00011001 B. 10100110 C. 10011001 D. 00100110 若栈顶的物理地址为20100H&#xff0c;当执行完指令PUSH…

【计算机网络学习之路】网络基础1

文章目录 前言一. 计算机网络发展局域网和广域网 二. 网络协议三. OSI七层模型四. TCP/IP四层&#xff08;五层&#xff09;模型五. 计算机体系结构与网络协议栈六. 协议形式及局域网通信数据包封装与分用 七. 跨网络通信八. MAC地址与网络通信的理解结束语 前言 本系列文章是…

【漏洞复现】泛微e-Weaver SQL注入

漏洞描述 泛微e-Weaver&#xff08;FANWEI e-Weaver&#xff09;是一款广泛应用于企业数字化转型领域的集成协同管理平台。作为中国知名的企业级软件解决方案提供商&#xff0c;泛微软件&#xff08;广州&#xff09;股份有限公司开发和推广了e-Weaver平台。 泛微e-Weaver旨在…

centos7中安装Nginx和使用Nginx详细操作

环境&#xff1a; 准备了三台centos7虚拟机:192.168.213.4、192.168.213.5、192.168.213.6。 一、安装 三台虚拟机都安装下面的步骤执行&#xff0c;安装Nginx&#xff0c;为后面的使用演示使用。 1、安装必备组件: sudo yum install yum-utils2、配置yum源 在下面的文件目录…

毕业设计1784 ASP.NET停车场管理系统

摘要 本文设计了一个停车场管理系统&#xff0c;该系统分为超级管理员和管理员两种用户。系统实现了车位管理、停车卡管理、停车管理、统计报表、系统管理等功能。管理员可以添加、查看、编辑或删除车位信息、停车卡信息、停车记录等&#xff0c;同时可以按日、月、年统计进场…

〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性

说明&#xff1a;该文属于 大前端全栈架构白宝书专栏&#xff0c;目前阶段免费&#xff0c;如需要项目实战或者是体系化资源&#xff0c;文末名片加V&#xff01;作者&#xff1a;不渴望力量的哈士奇(哈哥)&#xff0c;十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…

【c++】——类和对象(中)——实现完整的日期类(优化)万字详细解疑答惑

作者:chlorine 专栏:c专栏 赋值运算符重载()()():实现完整的日期类(上) 我走的很慢&#xff0c;但我从不后退。 【学习目标】 日期(- - --)天数重载运算符 日期-日期 返回天数 对日期类函数进行优化(不符合常理的日期&#xff0c;负数&#xff0c;const成员)c中重载输入cin和输…

长虹智能电视使用123

1、开机 在接通电源的情况下&#xff0c;长虹智能电视开机有两种方式。 方式1&#xff1a; 按电视右下角开机按钮 方式2&#xff1a; 按电视遥控器开机按钮 长虹智能电视开机后会进入其操作系统&#xff08;安卓&#xff09;。 屏幕左右双箭头图表&#xff0c;手指点击会…

选硬币该用动态规划

选硬币&#xff1a; 现有面值分别为1角1分&#xff0c;5分&#xff0c;1分的硬币&#xff0c;请给出找1角5分钱的最佳方案。 #include <iostream> #include <vector>std::vector<int> findChange(int amount) {std::vector<int> coins {11, 5, 1}; /…

UniApp中的数据存储与获取指南

目录 介绍 数据存储方案 1. 本地存储 2. 数据库存储 3. 网络存储 实战演练 1. 本地存储实例 2. 数据库存储实例 3. 网络存储实例 注意事项与最佳实践 结语 介绍 在移动应用开发中&#xff0c;数据的存储和获取是至关重要的一部分。UniApp作为一款跨平台应用开发框架…