SVM支持向量机

news2025/1/19 11:04:50

定义


支持向量机(SVM),Supported Vector Machine,基于线性划分,输出一个最优化的分隔超平面,该超平面不但能将两类正确分开,且使分类间隔(margin)最大

  • **所有训练数据点距离最优分类超平面的距离都要大于支持向量距离此分类超平面的距离
  • 支持向量点到最优分类超平面距离越大越好(margin越大越好)**
    SVM的终极目标是求出一个最优的线性分类超平面

SVM的核函数

当在低维空间中,不能对样本线性可分时,将低维空间中的点映射到高维空间中,使它们成为线性可分的,再使用线性划分的原理来判断分类边界。
如果直接采用这种技术在高维空间进行分类或回归,可能在高维特征空间运算时出现"维数灾难"!采用核函数技术(kernel trick)可以有效地解决这样的问题
直接在低维空间用核函数,其本质是用低维空间中的更复杂的运算代替高维空间中的普通内积。
常用的核函数

  • linear:线性核函数
    当训练数据线性可分时,一般用线性核函数,直接实现可分
  • poly:多项式核函数
  • rbf:径向基核函数/高斯核函数(Radial Basis Function Kernel)

SVM的"硬间隔"与"软间隔"

硬间隔

当支持向量机(SVM)要求所有样本都必须划分正确,这称为“硬间隔”(hard margin)。
d 表示离超平面最近的样本 x (支持向量) 到超平面的垂直距离

因为分母为常数,所以可将其融入权重 w 与 b 中,不等式中的等号当且仅当x为支持向量时成立

因为y=±1----->wtx+b=1

软间隔

到目前为止,我们一直假定存在一个超平面能将不同类的样本完全划分开。然而,在现实任务中往往很难确定合适的核函数使得训练样本线性可分(即使找到了,也很有可能是在训练样本上由于过拟合所造成的)
缓解该问题的一个办法是允许支持向量机在一些样本上出错,这称为"软间隔"(soft margin)。


正则项前面的常数C,C越大说明相应的容错空间越小,若C取正无穷,则"逼迫"着每个ζ(也称为“松弛变量”)都必须等于0,此时的Soft Margin SVM就变成了Hard Margin SVM.

简单代码实例

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn import svm
from sklearn.metrics import accuracy_score

# 加载示例数据集(鸢尾花数据集)
data = datasets.load_iris()
X = data.data  # 特征
y = data.target  # 目标

# 只选择两个类别进行二元分类
X = X[y != 0]
y = y[y != 0]

# 划分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建支持向量机 (SVM) 分类器
clf = svm.SVC(kernel='linear')	# 核函数选择linear

# 训练分类器
clf.fit(X_train, y_train)

# 使用分类器进行预测
y_pred = clf.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)

非常棒的SVM讲解

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

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

相关文章

我的创作一周年纪念日

目录 机缘收获憧憬 机缘 还真是,像极了<<匆匆>>里的那一段话. “聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢&#xff1f;是他们自己逃走了罢&#xff1a;现在又到了哪里呢&#xff1f;” 一年的光景就这么过去了…

企业级API网关,金蝶是如何架构的?

说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;很多小伙伴拿到一线互联网企业如阿里、网易、有赞、希音、百度、滴滴的面试资格。 最近&#xff0c;尼恩指导一个小伙伴简历&#xff0c;写了一个《高并发网关项目》&#xff0c;此项目帮这个小伙拿到 字节/阿里/…

论文阅读之《Kindling the Darkness: A Practical Low-light Image Enhancer》

目录 摘要 介绍 已有方法回顾 普通方法 基于亮度的方法 基于深度学习的方法 基于图像去噪的方法 提出的方法 2.1 Layer Decomposition Net 2.2 Reflectance Restoration Net 2.3 Illumination Adjustment Net 实验结果 总结 Kindling the Darkness: A Practical L…

安科瑞Acrel-7000工业能耗在线监测系统,企业能源管控平台

安科瑞虞佳豪 能源管理系统采用分层分布式系统体系结构&#xff0c;对建筑的电力、燃气、水等各分类能耗数据进行采集、处理&#xff0c;并分析建筑能耗状况&#xff0c;实现建筑节能应用等。通过能源计划&#xff0c;能源监控&#xff0c;能源统计&#xff0c;能源消费分析&a…

脏数据绕过waf,Yakit爆破base64编码密码,ssh无密码登录受害主机

文章目录 waf、Yakit、ssh 技巧waf 脏数据绕过Yakit 工具对明文密码通过base64编码的格式进行爆破 SSH实操 waf、Yakit、ssh 技巧 waf 脏数据绕过 以pikachu靶场的文件上传功能为例 上传一个木马图片 显示已拦截。 找到form-data;字段加一个分号&#xff0c;中间写一些脏数…

电子器件系列49:CD4050B缓冲器

同相和反向缓冲器 还搞不懂缓冲电路&#xff1f;看这一文&#xff0c;工作原理作用电路设计使用方法 - 知乎 (zhihu.com) 缓冲器_百度百科 (baidu.com) 1、缓冲器的定义 缓冲器是数字元件的其中一种&#xff0c;它对输入值不执行任何运算&#xff0c;其输出值和输入值一样&…

Linux真的很难吗?文末送5本《Linux运维之道(第3版)》

目录 一、百度百科二、VMWare中安装centos1、下载地址2、网络适配器简介 三、克隆和快照1、克隆一般用于项目部署2、快照相当于SVN&#xff0c;是Linux系统的版本管理手段 四、XShell和Xftp1、XShell百度百科2、Xftp百度百科3、xshell7和xftp7下载地址 五、vi和vim1、vim基本编…

无管道后门(Backdoor)编写

1. 代码编写 这是基于异步套接字的后门, 利用windows提供的WSASocket API函数, 这个API和socket的区别是, 其无需等待收发完成就可以继续执行, 也就是异步的。这可实现不用管道进行收发数据。 代码: #include <WinSock2.h> #include <windows.h> #include <tc…

Leetcode 349 两个数组的交集 (哈希表)

Leetcode 349 两个数组的交集 &#xff08;哈希表&#xff09; 解法1 &#x1f60b;解法2 解法1 &#x1f60b; 自己的笨比方法:【哇这居然是标准解法之一&#xff0c;我不是笨比&#x1f60b;&#x1f60b;&#x1f60b;】 创建了两个hash数组&#xff0c;nums1出现一个就对应…

基于鹰栖息优化的BP神经网络(分类应用) - 附代码

基于鹰栖息优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于鹰栖息优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.鹰栖息优化BP神经网络3.1 BP神经网络参数设置3.2 鹰栖息算法应用 4.测试结果&#x…

华为云云耀云服务器L实例性能测评|华为云云耀云服务器L实例评测使用体验

华为云云耀云服务器L实例性能测评 文章目录 华为云云耀云服务器L实例性能测评1. 云耀云服务器L实例简介1.2 云耀云服务器与弹性云服务器区别1.3 云耀负载均衡 2. 云耀云服务器L实例购买2.1 云耀服务器L实例购买2.1.1 云耀服务器L实例初始化配置2.1.2 远程登录云耀服务器L实例 3…

【Java 进阶篇】HTML DOM样式控制详解

当我们讨论网页设计时&#xff0c;样式是一个至关重要的方面。它使我们能够改变文本、图像和其他页面元素的外观&#xff0c;从而创造出吸引人的网页。在HTML DOM&#xff08;文档对象模型&#xff09;中&#xff0c;我们可以使用JavaScript来操作和控制样式。这篇博客将详细介…

OneDrive打不开了,怎么办?使用管理员身份也无效,分享解决办法如下

文章目录 1、问题描述2、解决办法2.1 修改注册表信息2.2 修改本地组策略 1、问题描述 电脑自带的 OneDrive 突然打不开了&#xff0c;双击也没有任何反应&#xff0c;以管理员身份打开也不行。去看了好多资料才解决这个问题&#xff0c;现分享如下&#xff1b; 2、解决办法 …

计网 七层网络模型

计网 七层网络模型 一.协议&#xff08;protocol&#xff09; 1.什么是协议 数据在网络中传输时按照的规则就是协议&#xff08;protocol&#xff09; 协议&#xff08;protocol&#xff09;规定了数据在网络中传输的顺序&#xff0c;格式&#xff0c;以及携带哪些内容 二…

【解决】运行vue项目,启动报错 in ./node_modules/@intlify/core-base/dist/core-base.cjs

我的处理方式: 一开始查了好多方法&#xff0c;删除node_modules&#xff0c;重新安装&#xff0c;切换node版本等&#xff0c;但是发现并没有用 之后来发现是安装依赖包的时候有些包安装失败导致的&#xff0c;只要有针对性的重新安装依赖就可以了 例如&#xff1a; in ./n…

【vue2.x】如何快速实现每个月倒计时

代码一 //获取这个月最后一天getLastDay(){var year new Date().getFullYear(); //获取年份var month new Date().getMonth() 1; //获取月份var lastDate new Date(year, month , 0).getDate(); //获取当月最后一日month month < 10 ? 0 month : month ; //月份补 0…

6 个可解锁部分 GPT-4 功能的 Chrome 扩展(无需支付 ChatGPT Plus 费用)

在过去的几个月里&#xff0c;我广泛探索了 ChatGPT 的所有可用插件。在此期间&#xff0c;我发现了一些令人惊叹的插件&#xff0c;它们改进了我使用 ChatGPT 的方式&#xff0c;但现在&#xff0c;我将透露一些您需要了解的内容。 借助 Chrome 扩展程序&#xff0c;所有 Chat…

深度学习(生成式模型)——DDPM:denoising diffusion probabilistic models

文章目录 前言DDPM的基本流程前向过程反向过程DDPM训练与测试伪代码 前向过程详解反向过程详解DDPM损失函数推导结语 前言 本文将总结扩散模型DDPM的原理&#xff0c;首先介绍DDPM的基本流程&#xff0c;接着展开介绍流程里的细节&#xff0c;最后针对DDPM的优化函数进行推导&…

网络通信——与WEB服务器交换数据(三十)

1. 与WEB服务器交换数据 1.1 知识点 &#xff08;1&#xff09;可以通过地址重写的方式进行Web Server的访问&#xff1b; &#xff08;2&#xff09;可以采用POST方式进行请求的提交&#xff1b; &#xff08;3&#xff09;可以读取网络上的图片信息&#xff1b; 1.2 具体…

javaEE - 1(9000字详解多线程第一篇)

一&#xff1a;认识线程 1.1 线程的概念 线程是操作系统中执行的最小单位&#xff0c;它是进程中的一个实体。一个进程可以包含多个线程&#xff0c;并且这些线程共享进程的资源&#xff0c;如内存、文件句柄等&#xff0c;但每个线程有自己的独立执行流程和栈空间。 线程在…