四个小项目完全解读支持向量机 | 文末附代码下载方法

SPSS Modeler 18.0 新功能权威解读(文末附下载地址) 在今年,IBM SPSS Modeler发布了新版本18.0,那么在这次新版本的更新中,我们可以看到更新的幅度还是比较大的。接下来,浩彬老撕将给大家介绍18.0版本中一些新的功能,同时也将为大家详细介绍如果获得SPSS最新版本的试用方法! 阅读详情

来源:https://medium.com/

翻译:小马

支持向量机算法的基础是最大间隔分类器,最大间隔分类器虽然很简单,但不能应用于大部分数据,因为大部分属是非线性数据,无法用线性分类器进行分类,解决方案是对特征空间进行核函数映射,然后再运行最大间隔分类器。

本文跳过枯燥乏味的算法推导过程,循序渐进的介绍支持向量机分类原理,并通过四个小项目快速的理解支持向量机的线性分类,非线性分类和参数调参过程。

文末附代码和数据下载方法,可直接运行

1.最大间隔分类器

最大间隔分类器使用超平面进行分类。

什么是超平面?

假如特征空间是 p 维,超平面就是 p-1维,为了可视化超平面,假设特征空间是3个维度的,那么超平面是2维的。

超平面表达式如下:

如果数据的特征满足上式,那么该点落在超平面上,若不满足,则该点处于超平面的两侧。

超平面如下图:

一般来说,如果数据可以用超平面完美地进行分离,那么超平面的数量是无限的,因为它可以向上移动、向下移动,或者对该超平面进行小角度的选择而不与观测数据接触。

超平面是无限的,如何选择最优超平面?

最优超平面是离观测点最远的分离超平面,在给定超平面的情况下,我们计算每个训练数据到超平面的距离,这就是所谓的间隔,最优超平面也就是间隔最大的分类器。如下图:

正如你所看到的,有三个观测点到超平面的距离相等,这三个观测点就是支持向量,若这三个观测点的位置改变了,超平面也会相应的改变。最大间隔分类器的性能只与这三个点相关,与其他数据不相关,看到这里,是不是对支持向量机算法有了新的收获了?

如果数据分布是非线性的,不能用超平面进行分类,如下图:

对于这样的数据分布,我们将使用核函数映射为新的特征空间,再运行最大间隔分类器进行分类,这种方法称为支持向量机。

2.支持向量机

支持向量机的核函数映射是一种扩展特征空间的方法,核函数的核心思想是计算两个数据点的相似度。核函数的度没有限制,使用度大于1的内核可以得到更灵活的决策边界,如下图所示:

为了更好的理解核函数的选择是如何影响SVM算法,我们在四个不同的场景实现它。

项目1——线性核支持向量机

在开始之前,让我们导入一些有用的库:

导入需要训练和测试的数据路径:

定义可多次调用的画图函数:

散点图可视化数据:

散点图如下:

线性核支持向量机对该数据进行分类,其中正则化参数C=1,并使用预测值绘制超平面(hyperplane),如下图:

由上图的分类结果可知,当正则化参数等于1时,模型对异常值不敏感。因此,低的正则化参数往往泛化能力更好,测试误差率大于验证误差率。

若增加正则化参数C等于100,那么模型对异常点异常敏感,分类结果如下图:

由上图结果可知:C=100时,异常值能够正确分类,但是分类超平面与样本点的距离非常近,可以推断该模型处于过拟合状态,泛化能力差。

项目2——高斯核支持向量机

若分类边界是非线性的,我们常常使用高斯核进行SVM分类。

首先,可视化需要分类的数据:

散点图:

高斯核用来衡量两个数据点的相似度,公式如下:

其中参数σ决定相似度指标趋于零的速度。

高斯核支持向量机训练和预测代码:

预测结果及分类边界如下图:

项目3——支持向量机调参

本节介绍用交叉验证方法选择模型最优参数,首先下载数据集:

图形如下:

使用交叉验证方法选择最优参数,代码如下:

选择最优参数的模型(C=1,sigma=0.1)来预测和画出分类边界:

结果图:

项目4——用SVM进行垃圾邮件分类

下载数据,并用线性核进行分类,得到训练准确率和测试准确率。

代码如下:

得到训练准确率和测试准确率的结果分别为:99.8%和98.9%。

3.小结

本文介绍了最大间隔分类器的原理,若遇到非线性边界数据的分类任务,则需要用支持向量机去构建模型。文章通过四个小项目解释线性核SVM,高斯核SVM,正则化参数C的作用以及如何用交叉验证方法选择模型的最优参数。

数据和代码获取方法:扫码下面的二维码,公众号后台回复“ svm" ,即可获取数据和代码。

支持向量机SVM详解 详细的介绍了SVM分类算法,从数学推导过程到代买实现,文档内容均来自csdn博客整理 立即下载

相关推荐

django drf 框架知识点(一)——serializer序列化器_用法全解

【django drf】序列化器:别名设置,全部参数序列化,自定义字段,只读只写,部分更新

qq_59344127的博客 1339

【ML】支持向量机SVM及Python实现(详细)

支持向量机如果想划分效果很好,就需要找到支持向量的分布,再就是找到最大间隔的分离超平面,解决好上诉两个问题就基本可以实现支持向量机。

weixin_66845445的博客 2万+

python制作图形化小游戏_创意编程|Python的GUI简易界面设计测测你的反应力

Python的GUI简易界面设计案例测测你的反应力作为初次接触代码编程的你,是不是觉得Python程序除了“码”就是“字”即使是有趣的程序除了烧烧自己的脑,也吸引不到更多人的兴趣,用户体验值接近于0?那你可冤枉了Python,他可是人工智能界的编程语言大咖。今天这个游戏设计就先带领大家,简单体验一下,如何让Python程序图形化。一起来吧!设计我们的小游戏游戏设计思路:电脑随机出...

weixin_34214135的博客 1872

python基于svm项目+课程设计报告_干货 | Python新手100天学习计划!这次再学不会算我输!...

作为目前最火也是最实用的编程语言Python 不仅是新手入门程序界的首选也逐渐成为了从大厂到小厂招牌需求 list 的必要一条但学 Python 这件事情你可能和大多数人一样下了一百次决心可最后都“从入门到放弃”究其原因,很可能是没有明确的学习目标,或者学习目标太过“宏伟”,所以总是阵亡在了 introduction 视频的第一行代码。那么,从小白成为大师,到底需要多长时间?真的有一...

weixin_39684995的博客 310

星网锐捷语音网关密码重置恢复出厂设置

星网锐捷语音网关---密码重置 第一种星网锐捷SVX网关恢复出厂设置的方法 eth1口 任意口插网线,连接电脑并设置电脑固定ip为: 一, 二 网页输入: 192.168.88.86 admin 默认密码 admin 登陆。 忘记密码 可通过以下方法重置: 三: 通过crt或者 shell工具 ,连接 root@192.168.88.86 连续输入两次 passwd a12345678 reboot重启后。通过账号 密码 a12345678 即可登陆系...

cibazhanji2176的博客 1万+

CRaxsRat v7.4远程管理工具使用教程(附资源下载)

CRaxsRat是一款图形化界面友好、功能较全面的远程管理平台,主要用于对多台计算机的统一维护与管理。该工具适用于以下场景:内网远程运维教学演示环境局域网设备调试程序自动化控制测试支持多种加密通信方式优化了远程桌面传输稳定性增加了自定义脚本模块后台运行更稳定,占用资源更少。

lzj781210的博客 2153

【亲测免费】 推荐开源项目:SimpleSvm——AMD平台的轻量级教育型虚拟化软件

推荐开源项目:SimpleSvm——AMD平台的轻量级教育型虚拟化软件 项目介绍 SimpleSvm 是一个专为Windows平台上的AMD处理器设计的简洁教育型hypervisor。它的目标是通过小型且易于理解的代码来演示如何在Windows驱动程序中使用Secure Virtual Machine(SVM)和Nested Page Tables(NPT),这相当于Intel的VT-x技术。 该...

gitblog_00039的博客 1425

YOLOv9电力巡检实战:绝缘子破裂/鸟巢识别+无人机自动定位

摘要:本文聚焦电力输电线路巡检的效率与安全痛点,提出基于YOLOv9与无人机的智能巡检解决方案。针对绝缘子破裂、鸟巢等高危缺陷,通过“无人机改装-模型训练-缺陷识别-工单生成”四阶段工程落地流程,实现全自动化巡检。系统采用大疆M300无人机搭载RTK模块与Jetson边缘计算盒,结合改进YOLOv9模型实时识别5类缺陷,通过4G传输将GPS定位与缺陷数据同步至工单系统。实测表明,该方案巡检效率达50公里/天(较人工提升10倍),缺陷发现率95%(提升40%),事故预防率98%。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1514

机器学习 | SVM的一个练习小例子

首先要安装svm的安装包的 这是一个在网上看到的例子,自己敲了下,当作练习了~ from sklearn import svm import numpy as np import matplotlib.pyplot as plt # 设置子图数量和尺寸 fig, axes = plt.subplots(nrows=2, ncols=2,figsize=(7,7)) ax0, ax1, ax2, ax3 = axes.flatten() ''' 说明1: 核函数(这里简单介绍了skl..

子邦的博客 629

TRAE智能体开发:TRAE概述

TRAE(/treɪ/)深度融合 AI 能力,是一名能够理解需求、调用工具并独立完成各类开发任务的“AI 开发工程师”,帮助你高效推进每一个项目。

王国平的博客 1285

笔试题-2023-加特兰-数字IC设计【纯净题目版】

笔试题-2023-加特兰-数字IC设计【纯净题目版】

w0shishabi的博客 2249

SVM理论

SVM入门(一)至(三)Refresh 按:之前的文章重新汇编一下,修改了一些错误和不当的说法,一起复习,然后继续SVM之旅. (一)SVM的简介 支持向量机(Support Vector  Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。 支持向量机方

heavendai的专栏 1万+

【AI 赋能:Python 人工智能应用实战】16. BERT微调实战:中文新闻分类全流程(附模型蒸馏+ONNX部署完整代码)

中文新闻分类是NLP领域的经典实用任务,BERT模型凭借双向上下文建模能力,能有效解决中文歧义与长文本依赖问题,但存在推理速度慢、资源占用高的痛点。本文以THUCNews中文新闻数据集为核心,提供从数据预处理、BERT微调、模型蒸馏到生产部署的全流程实操指南。首先详解THUCNews的多编码读取与清洗(解决gbk/utf-8兼容问题);然后实现BERT微调,加入早停机制与混淆矩阵可视化,验证准确率达93.8%;接着用DistilBERT完成模型蒸馏,在仅损失0.6%准确率的前提下,将推理速度提升2.7倍。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1099

运用spss modeler运用支持向量机_四个小项目完全解读支持向量机

支持向量机算法的基础是最大间隔分类器,最大间隔分类器虽然很简单,但不能应用于大部分数据,因为大部分属是非线性数据,无法用线性分类器进行分类,解决方案是对特征空间进行核函数映射,然后再运行最大间隔分类器。本文跳过枯燥乏味的算法推导过程,循序渐进的介绍支持向量机分类原理,并通过四个小项目快速的理解支持向量机的线性分类,非线性分类和参数调参过程。文末附代码和数据下载方法,可直接运行1.最大间隔分类器最大...

weixin_39571219的博客 3382

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

svm支持向量机在图像分类方面的matlab代码_四个小项目完全解读支持向量机

支持向量机算法的基础是最大间隔分类器,最大间隔分类器虽然很简单,但不能应用于大部分数据,因为大部分属是非线性数据,无法用线性分类器进行分类,解决方案是对特征空间进行核函数映射,然后再运行最大间隔分类器。本文跳过枯燥乏味的算法推导过程,循序渐进的介绍支持向量机分类原理,并通过四个小项目快速的理解支持向量机的线性分类,非线性分类和参数调参过程。文末附代码和数据下载方法,可直接运行1.最大间隔分类器最大...

weixin_39583655的博客 583

jre9下载 jdk9

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

支持向量机 c++代码_四个小项目完全解读支持向量机

支持向量机算法的基础是最大间隔分类器,最大间隔分类器虽然很简单,但不能应用于大部分数据,因为大部分属是非线性数据,无法用线性分类器进行分类,解决方案是对特征空间进行核函数映射,然后再运行最大间隔分类器。本文跳过枯燥乏味的算法推导过程,循序渐进的介绍支持向量机分类原理,并通过四个小项目快速的理解支持向量机的线性分类,非线性分类和参数调参过程。文末附代码和数据下载方法,可直接运行1.最大间隔分类器最大...

weixin_35281210的博客 380

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

大数据分析方法(65页PPT)(文末有下载方式)

资料解读:大数据分析方法(65页PPT)详细资料请看本解读文章的最后内容。在当今信息化时代,大数据分析已成为各行各业不可或缺的工具。本文将对《大数据分析方法》这一文件进行详细解读,帮助读者深入理解大数据分析的核心概念、流程、工具及其应用。一、数据分析的基础与流程数据分析是从数据、信息到知识的过程,涉及数学理论、行业经验和计算机工具的结合。数学和统计学知识是数据分析的基础,提供了整理、描述和预测数据的手段。行业经验则在分析前确定需求,分析中检验方法合理性,分析后指导应用。计算机工具则将复杂的数学模型封装,使非

2301_78256053的博客 1780

干货 | 仅需10分钟,开启你的机器学习之路!(文末附完备的 AI 学习路线)

点击“简说Python”,选择“置顶/星标公众号”福利干货,第一时间送达!本文转载自机器之心,禁二次转载本文偏长(9k+字),老表建议先收藏,然后转发朋友圈,然后吃饭、休...

简说Python的博客 628

【资料分享】干货解读人工智能新时代

解读人工智能新时代本文主要目的是为了分享一些机器学习以及深度学习的资料供大家参考学习,整理了大约国内外优秀的材料文章,打破一些学习人工智能领域没头绪同学的学习禁锢,希望看...

AI深入浅出 2172

其实书童是一个集算法、实践、论文以及Transformer于一身的公号(往期索引大全)...

今天给大家推荐一个好朋友ChaucerG,不仅有趣也具有非常强的执行力,独自创立和运营了【集智书童】公众号;【集智书童】从最开始的机器学习与深度学习基础开始记起,为刚刚入门人工智能的小伙伴...

weixin_40920183的博客 403

【2026美赛】2026年美国大学生数学建模竞赛思路、代码更新中.....

💥💥💞💞❤️❤️💥💥博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️行百里者,半于九十。📋📋📋🎁🎁🎁。

2302_77323582的博客 824

博士大佬为机器学习总结的人工智能入门指南!

今天给大家推荐一位认识的好朋友:top985高校AI博士(本硕博985),优快云博客专家,其开源了周志华西瓜书《机器学习》纯手推笔记!荣登趋势榜,标星600+Github | 博士大佬...

weixin_36896856的博客 953

备战秋招 | 《百面机器学习》算法+leetcode开班报名!

号主推荐:深度之眼的课程堪称AI界的小米--课程极其便宜,质量极其高。不足百元,带你彻底学好机器学习算法+带刷leetcode,还会加入他们的知识星球等。我也参与了他们的VIP课程,业余...

zenRRan的博客 455
上一篇: 干货 | 非常详细的有向图模型与无向图模型原理总结
下一篇: Pandas | 5 种技巧高效利用value-counts
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值