机器学习 | 深入SVM原理及模型推导(一)

SVM模型详解 入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 一、SVM定义与解决目标 SVM是一个二类分类器。其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化成一个凸二次规划问题的求解。即找到一个超平面,使两类数据离超平面越远越好,这样就可以让模型对新的数据分类更准确,即分类器更加稳定。 🎈支持向量:离分隔超平面最近的一些点 🎈间隔最大化:寻找最大化支持向量到分隔超平面的距离,以此为目标来求出分隔超平面 🎈数据分类 阅读详情

本文始发于个人公众号:TechFlow,原创不易,求个关注


今天是机器学习专题的第32篇文章,我们来聊聊SVM。

SVM模型大家可能非常熟悉,可能都知道它是面试的常客,经常被问到。它最早诞生于上世纪六十年代。那时候虽然没有机器学习的概念,也没有这么强的计算能力,但是相关的模型和理论已经提出了不少,SVM就是其中之一。

SVM完全可以说是通过数学推导出来的模型,由于当时还没有计算机,所以模型当中的参数都是数学家们用手来算的。它有一个巨大的应用就是前苏联的计划经济体系,我们知道在计划经济当中,国家有多少社会资源,每样商品需要生产多少都是国家统筹规划的。

但是国家和社会不是一成不变的,去年消耗了多少粮食不意味着今年也会消耗这么多,很多因素会影响。所以当时前苏联的科学家们用当时最先进的方法来计算参数预测各项商品的消耗来完成社会资源的调度,这个最先进的方法就是SVM。

废话说了这么多,下面我们就来看看这个模型实际的原理吧。


算法描述


SVM的英文全称是Support Vector Machine,翻译过来的意思是支持向量机。无论是英文还是中文,我们直观上有些难以理解。

难以理解没有关系,我们先把支持向量这个概念放一放,先来介绍一下它整体的原理。

SVM最基本的原理就是寻找一个分隔“平面”将样本空间一分为二,完成二分类。进一步我们可以知道,对于二维的平面,我们要分隔数据需要一条线。对于三维的空间我们要分开需要一个面,发散开去对于一个n维的空间,我们要将它分开需要一个n-1的超平面。

SVM寻找的就是这样的超平面,为了方便理解,我们以最简单的二维场景为例。

我们观察一下上图,很明显图中的数据可以分成两个部分。对于上图的数据而言理论上来说我们有无数种划分的方法,我们既可以像左边这样随意的划分,也可以像右边这样看起来严谨许多的划分,在这么多划分方法当中究竟哪一种是最好的呢?我们怎么来定义划分方法的好和坏呢?

SVM对这个问题的回答很干脆,右图的划分是最好的,原因是它的间隔最大。

从图中我们可以看到,间隔也就是被划分成两个部分之间最接近的距离,间隔正中的这条红线就是SVM找到的用来划分的超平面。

我们进一步观察可以发现,对于间隔这个事情来说,绝大多数样本都不起作用,能够起作用的只有在落在虚线上也就是间隔边缘的样本。是这些样本确定了间隔,从而间接确定了分隔平面,支撑起了模型。

所以SVM当中把这些落在边缘上的样本成为支持向量,这也是SVM得名的由来。


模型推导


我们首先来考虑最简单的情况,即线性可分,也就是说所有样本都可以被正确的划分。这样划分出来得到的间隔是实实在在的,所以我们把线性可分的情况下的间隔称为硬间隔。

首先我们先写出这个分隔平面的公式:

ωTx+b=0\omega^Tx+b = 0ωTx+b=0

其中x表示一条n维的样本特征组成的向量,ω\omegaω是平面的n维法向量,决定平面的方向。虽然从公式上来看和线性回归很像,但是它们之间的本质区别是线性回归是用来拟合label的,而SVM的平面方程是用来确定平面方向的。这里的b就是简单的偏移量,表示平面距离原点的距离。

表示出来分隔平面之后,我们就可以表示出每一个样本距离平面的距离:

γ=∣ωTx+b∣∣∣ω∣∣\gamma = \frac{|\omega^Tx + b|}{||\omega||}γ=∣∣ω∣∣∣ωTx+b∣​

这个公式看起来好像不太明白,其实它是由二维的点到平面的距离公式演化得到的:d=∣Ax+By+c∣A2+B2d = \frac{|Ax + By + c|}{A^2 + B^2}d=A2+B2∣Ax+

SVM原理理解 SVM原理理解SVM主要用途如何理解“大间隔”分类?SVM原理基本概念与符号定义几何距离与距离的概念SVM初步优化目标核函数的使用功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的... 阅读详情

相关推荐

python-sklearn数据分析-线性回归和支持向量机(SVM)回归预测(实战)

注:本文是小编学习实战心得分享,欢迎交流讨论!话不多说,直接附上代码和图示说明。目录一、分段示例1.导入必要的库2.读取数据,查看数据基本信息3.简单查看有无重复值4.对列名进行分类,便于后面的操作,其中最后一列为预测标签数据5.对数据进行初步可视化6.清除异常值7.将清洗完毕的数据,放进一个文件中8.特征选择9.数据归一化10.进行训练集与测试集划分11.线性回归模型训练12.使用支持向量机(SVM)进行回归预测二、完整代码 2.读取数据,查看数据基本信息 可以看到,该数据文件大小为731*7,具体

weixin_57501965的博客 1万+

【机器学习】支持向量机 SVM 原理详解 详细数学推导

前排提示 多公式预警,如果想真正掌握、想对SVM的推导和原理理解透彻,就请耐心的看完推导过程,博主发现很多书籍文献资料上推导过程大多有所省略,这对数学基础不牢靠的同学来说不太友好(比如博主自己 - -#),所以在此给出最细致的推导过程。 由于公式符号繁多,博主也经过了多次修正检查,如有疏漏或不对的地方还请指正(公式编辑真的打的累死惹)~~ 支持向量机 SVM(support vector ma...

Tinkle2015 4329

支持向量机SVM理解及公式推导

前言 最近发现自己的基础知识不够扎实,面对别人的问题总是“知其然不知其所以然”。出现这个问题的朋友周围有很多,大多数人都是“拿来主义”,想着“有了开源库,有了函数包,只要会用就行,在遇到具体问题的时候再去寻找相应的解决办法”,这种“非系统”的学习思想其实殆害无穷,在自己想要踏实做一个工程时,会出现眼界窄,能力不足的问题,有时候为解决一个问题千方百计地找到了一个非常好用的函数,而这个...

Freedom_anytime的博客 2015

支持向量机SVM算法原理

SVM 的英文叫 Support Vector Machine,中文名为支持向量机。它是常见的一种分类方法,在机器学习中,SVM 是有监督的学习模型。 什么是有监督的学习模型呢?它指的是我们需要事先对数据打上分类标签,这样机器就知道这个数据属于哪个分类。同样无监督学习,就是数据没有被打上分类标签,这可能是因为我们不具备先验的知识,或者打标签的成本很高。所以我们需要机器代我们部分完成这个工作,比...

qiu_zhi_liao的博客 1766

第十篇:机器学习基础:SVM支持向量机算法模型原理

1. 支持向量机概述 1.1 从算法的功能来划分 =================================================================== 有监督学习:线性二分类与多分类(linear support vector classification) :非线性二分类与多分类(support vector classification,SVC) :普通连续型变量的回归(support vector r

haiwang_luo的博客 644

机器学习1——支持向量机(SVM)详细理论推导【图文版】

一、线性可分情况的支持向量机 1、引例 我们希望找到一条直线,来分开圆圈和叉。支持向量机 Support Vector Machine, SVM 是一种能够很好处理中等大小数据集的广义二元线性分类器。 SVM属于监督学习 Supervised Learning 的一种,通过对带有标签 Label 的数据特征的学习,画出一条线、平面或者超平面 Hyper Plane 来分开不同的样本,即将每个样本分到不同的类,这样在给出一个新样本后,我们通过这个新样本的特征就可以判断它属于哪一类。 SVM既可以用来做分类

Hodor's AI Dream 899

白话机器学习算法理论+实战之支持向量机(SVM)

1. 写在前面 如果想从事数据挖掘和数据分析的工作,掌握常用的机器学习算法是非常有必要的,比如我之前写过的一篇十大机器学习算法的小总结,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Adaboost等 无监督算法:聚类,降维,关联规则, PageRank等 为了详细的理解这些,曾经看过西瓜书,统计学习方法,机器学习...

Miracle8070 5947

机器学习强基计划3-2:详细推导支持向量机SVM原理+Python实现

支持向量机SVM是基于训练集在样本空间或其映射空间中寻找一个最鲁棒的划分超平面将不同类别样本划分开的分类方法。本文介绍SVM的基本原理与Python实现

FRIGIDWINTER的博客 2222

NVIDIA DGX Spark实战指南:从开箱到部署200B参数大模型

本文详细介绍了NVIDIA DGX Spark桌面AI超级计算机的开箱体验与实战部署指南。文章深入解析了其Grace Blackwell架构与128GB统一内存的核心优势,并逐步演示了从系统初始化、运行200B参数大模型到进行QLoRA微调的全过程。该设备将高达1 PetaFLOP的AI算力浓缩于桌面,为开发者和研究团队提供了本地化、高性能的AI开发与部署一体化解决方案。

weixin_29274969的博客 2226

手把手教你用示波器抓取MIPI D-PHY波形:从LP11到HS Burst的完整信号解析

本文详细介绍了使用示波器精准捕获MIPI D-PHY信号的关键技巧,包括探头选择、示波器参数设置、信号状态解析及高级触发配置。通过实战案例和波形分析,帮助工程师快速识别从LP11到HS Burst的各种信号状态,解决常见的信号完整性问题,提升调试效率。

weixin_30471561的博客 559

数据驱动AI落地:从业务价值到技术实践的全链路方法论

以数据驱动为核心,围绕 AI 落地全链路展开:先建全域数据体系(拉通内外部数据、治理数据质量),再将 AI 嵌入研发、制造、营销、服务等业务链路解决痛点,搭配混合算力架构保障技术落地,辅以 “小场景试错 - 复制” 战略、跨部门团队等方法论。结合美的集团数字化转型实践,最终实现 AI 对业务降本、增效、增收的价值,为企业 AI 转型提供可复用路径。

专注数据驱动领域原创分享。拆解从数据采集、建模分析到业务价值落地的全链路实践,聊决策逻辑、技术工具与场景案例。用通俗语言讲透数据如何赋能业务,与同路人共探数据价值。 1891

半导体测试(一)

探针台是一种用于在晶圆上进行配合探针卡进行电路量测的设备,在测试过程中,探针工作站会将探针与晶圆上的每个die进行接触,以进行电性测量。在这个过程中,每个die都被测试以确保它能基本满足器件的特征或设计规格书(Specification),通常包括电压、电流、时序和功能的验证。晶圆是一个圆形的硅片,在这个半导体的基础之上,建立了许多独立的单个的电路;在所有的die都被探测(Probed)之后,晶圆被切割成独立的dice,这就是常说的die saw,所有被标示为失效的die都被报废,。

m0_37606066的博客 8423

在Ansys Mechanical中对磨损进行建模

在有限元分析中,磨损是通过移动接触表面上的节点来复制材料侵蚀来建模的。仿真迭代更新几何,并在每次更新后重新计算平衡,使过程成为非线性的。Ansys使用将压力、相对运动和材料阻力与表面损失联系起来的经验定律来处理连续介质尺度的磨损。要在Ansys Mechanical中激活磨损建模,必须使用TB,WEAR命令定义专用材料模型。该命令与 TBDATA 相结合,允许用户输入与磨损相关的材料常数,以控制磨损的计算方式以及在接触表面上的应用方式。

jkh920184196的博客 2625

STM32基于软件模拟IIC进行AHT21B温湿度采集

通过学习软件IIC来进行实操AHT21B采集温湿度。

Liu-FE的博客 3700

ROS从入门到精通6-2:gmapping激光建图与自定义建图功能包

本文用Turtlebot3实例直观介绍激光建图概念,并实现自定义建图功能包(自动建图与键盘手动控制建图)

FRIGIDWINTER的博客 2662

SAP 创建PO时提示“不能确定任何组件”

SAP 创建委外加工的PO时提示“不能确定任何组件” 而如果BOM已经创建了,但还是提示该错误保存。 解决办法:1. BOM selection 未配置好; 2. 由于Purchasing prosessing time的设置,如果PO中的delivery time - Purchasing prosessing time是过去的日期,那么会找不到BOM,BOM的有效期需早 于PO审批的有效期。 3. BOM未...

willieyuan的博客 6114

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: Python | 多线程死锁问题的巧妙解决方法
下一篇: 算法数据结构 | 图论基础算法——拓扑排序
TechFlow
博客等级 码龄7年 347粉丝 276原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值