支持向量机(一)线性可分的支持向量机与硬间隔最大化

详解SVM系列(三):线性可分支持向量机与硬间隔最大化 支持向量机概览(support vector machines SVM) 支持向量机是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大(间隔最大区别于感知机)线性分类器(核函数可以用非线性的分类)。 支持向量机的学习策略是间隔最大化可形式化为一个求解凸二次规划的问题。 也等价于正则化的合页损失函数的最小化问题。 支持向量机的学习算法是求解凸二次规划的最优化算法。 支持向量机学习方法包含构... 阅读详情

        支持向量机其实和感知机的模型思想挺相似的,都是找出一个分离超平面对数据进行二分类。它是定义在特征空间上的间隔最大的线性分类器,这个间隔最大化使它区别于感知机;感知机通过迭代算法找出的分离超平面可以是不唯一的,但是支持向量机由于有最大化间隔的限制,即所有的支持向量点到分离超平面的距离之和是最大的,所以它的分离超平面是唯一的;实际上支持向量机还有核技巧,即数据本来是非线性可分的,但是通过映射(核技巧)将其转化为线性可分,所以它也是个非线性分类器。

        感知机必须对线性可分的数据集有效,但是支持向量机不仅对线性可分的数据有效,也对线性不可分的数据有效;其可以分为三种情况:

  1. 当数据线性可分的时候,通过硬间隔最大化产生线性可分的支持向量机,也叫硬间隔支持向量机)。
  2. 当数据线性近似可分的时候,通过软件各最大化产生线性支持向量机,也叫软件各支持向量机。
  3. 当数据线性不可分的时候,通过核技巧即软件各最大化,学习非线性支持向量机。

    我们这里先介绍线性可分的支持向量机。

  1. 函数间隔

        对于线性可分的支持向量机,我们需要找出一个超平面(对于二维的数据就是一条直线),将所以的数据点分开,就如下图所示:

                                                             

        中间的那条直线,就是我们需要求的直线L:。对于点xi,如果wxi+b>0,则我们可以判断点在直线的上方,如果wxi+b<0则我们可以判断点在直线的下方,其中|wxi+b|可以相对的表示点到直线的远近,越远我们就可以认为对这个分类结果越确信。其中wx+b的符号与类标记y的符号是否一致能够表示分类是否正确。假设对于对于所有的样本点(xi,yi)都分类正确,则yi的符号和wxi+b的符号是相同的yi(wxi+b)>0,否则是相反的yi(wxi+b)<0,所以我们可以用来表示分类的正确性以及确信度,这就是函数间隔的概念。

定义超平面关于样本点(xi,yi)的函数间隔为:

                                                           

对于直线ωx+b=0我们将ω和b同时扩大n倍,直线本身是不会变的,但是带入函数间隔公式我们发现函数间隔也扩大了n倍,所以说对于同一个点,同一条直线,衡量标准不同,函数间隔也就不同,那么计算起来就麻烦了;所以我们需要对直线做些限制,规范化||ω||=1,就是令ω的第二范式等于1。先得到下面公式:

                                        

2.几何间隔及间隔最大化

        机器学习中我们常用距离衡量样本之间的关系;我们这篇内容主要是说的硬间隔最大化,这个间隔也就是几何间隔,换到这里也就是点到直线的距离。

                

        公式2是我们熟悉的点到超平面的距离公式。反看公式1,在线性可分的情况下,是恒大于0的,而yi只是起到了符号的作用,所以得出下列公式:

                    

        即函数间隔和几何间隔的关系,如果||ω||=1,那么函数间隔等于几何间隔。

        间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类,也就是说,不仅将正负实例分开,而且对最难分的实例点(里超平面最近的点)也有足够大的确信度将其分卡,这样的超平面应该对为止的新实例有很好的分类预测能力。

        下面我们给出最大间隔分离超平面的约束最优化问题:

         ,

       条件:,

第一个表达式表示我们希望最大化超平面(ω,b)关于训练数据集的集合间隔γ,条件表示这个集合间隔最少是γ。考虑到几何间隔和函数间隔之间的关系,即公式3,将约束问题修改为下列形式:

            ,

            条件:,

        是函数间隔,通过1中的函数间隔的介绍,我们知道,函数间隔是受w和b影响的,即同时扩大多少倍,函数间隔也是扩大多少倍的,但是将其除以一个||w||后这个成以的倍数就被约掉了,所以说上面公式4的最后话问题是不受影响的,也就是说不管函数间隔怎么变,几何间隔是不受影响的,那么我们也可以把函数间隔设为一个固定的值1,从而可以大大简化我们的模型以及计算。那我们的目标就成了最大化,考虑到后面计算的问题,将其转化为更加一般的形式,其等价于最小化,所以我们得到了最终的最优化约束问题:

   ,

条件:,

        这个是个凸二次规划的问题,我们就可以用拉格朗日乘子法进行计算了。

3.学习对偶算法

        对于这个凸二次规划的问题,我们需要运用拉格朗日对偶性通过拉格朗日乘子法进行计算。我们首先需要构建拉格朗日函数,首先需要引入拉格朗日乘子,由于yi和xi是n个,所以我们需要引入n个乘子,得到拉格朗日函数:

                                          

        原始问题是极小极大问题即,将其转化为其对偶问题,即极大极小问题,然后分别对w和b求导,并且令导数等于0得:

        然后将上式带入拉格朗日乘子法得出来的式子得:

                                                         

       求其对应的α的最大问题:

                                                       

        将其转化为求最小值的问题,即与之等价的对偶问题:

                              ,

                               条件:,

                                         

        到目前为止我们已经构建了约束的最优解问题,接下来就是要求解了。给出其学习算法,只是一个思路:

                                        

    求得了w和b,也就得到了我们的分离超平面,然后我们就可以进行分类了。

4.支持向量

        最后说这个支持向量什么含义,先看图:

                                                     

        决定分离超平面时只有支持向量起作用,而其它实例点并不起作用。如果移动支持向量将改变所求的解;但是如果在间隔边界外移动其它实例点,甚至去掉这些点,解是不会改变的。由于支持向量在确定分离超平面中起着决定新作用,所以讲这种分类模型成为支持向量机。支持向量的个数一般很少,所以支持向量机由很少的“重要的”训练样本确定。

        怎么理解上面的话,首先我们的条件中α是大于0的。从上图中我么可以看到,支持向量距离分类超平面的距离为,这个ω是我们最终求的最优的结果,换个思路说,这个距离是是支持向量到分离超平面的距离,和其他点是没有关系的,不管你的其他点怎么变,只要这些支持向量不变,这个距离是不变的,也就是最终的结果是不变的,所以说ω和b值依赖于训练数据中对应α>0的点,其他是没有影响的,而α的条件时大于等于0,所以最终结果是非支持向量的拉格朗日乘子αi都是等于0的。

机器学习之支持向量机SVM及代码示例 一、线性可分SVMSVM算法最初是用来处理二分类问题的,是一种有监督学习的分类算法。对于线性可分的二分类问题,我们可以找到无穷多个超平面,将两类样本进行区分。(超平面:一维中是一个点;二维中是一条线;三维中是一个面……)在上面的多个超平面中,它们都可以成功将样本集划分两边,但哪一个超平面更好?一般来说,当样本点离超平面越近,样本的标签为某类型的概率应该为0.5左右,确信度比较低,而样本点离超平面越远 阅读详情

相关推荐

手撕SVM公式——硬间隔、软间隔、核技巧

1.SVM作用 对于给定的训练样本集D={(x1,y1), (x2,y2),… (xn,yn)},yi属于{-1,+1},希望能找出一个超平面,把不同类别的数据集分开,对于线性可分的数据集来说,这样的超平面有无穷多个,而最优的超平面即是分隔间距最大的中间那个超平面 2.硬间隔最大化 对于以上的KKT条件可以看出,对于任意的训练样本总有ai=0或者yif(xi) - 1=0即yif(xi) =...

Dominic_S的博客 1万+

支持向量机原理小结(1)——线性可分支持向量机和硬间隔最大化

  支持向量机(SVM)是一种二分类模型,它的思想和感知机很相似,也是在空间中找到一个超平面将正负样本点分开,也可以说SVM是在感知机基础上发展来的。所以在讲完感知机之后马上开始讲支持向量机。 1. 从感知机到支持向量机   感知机和支持向量机都是期望从空间中找到一个合适的分离超平面将两类数据正确分开。一般地,当训练数据集线性可分时,这样的超平面有无数多个。感知机利用所有误分类点到超平面总距离...

Sual 1915

支持向量机数学证明与推导(SVM)

支持向量机(SVM) @(数据挖掘)[svm] 支持向量机(SVM) 一、线性可分支持向量机和硬间隔最大化 二、线性可分支持向量机的对偶算法(应用拉格朗日对偶,简化原始优化问题为求解对偶问题) 三、线性支持向量机与软间隔最大化 四、线性支持向量机的对偶算法 五、线性支持向量机的另外一种合理解释 六、核技巧 一、线性可分支持向量机和硬间隔最大化 名词解释 线...

AndrewHR的博客 3992

《统计学习方法》--支持向量机

《统计学习方法》第七章–支持向量机 支持向量机概述 支持向量机是一种二类分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器。支持向量机由简至繁依次可分为:线性可分支持向量机,线性支持向量机,非线性支持向量机。当数据线性可分时,通过硬间隔最大化的约束来学习一个分类器,称为线性可分支持向量机;当数据近似线性可分时,通过软间隔最大化的约束来学习一个分类器,称为线性支持向量机;当数据线性不可分...

坚持是一种品质 658

机器学习:完全线性可分/近似线性可分/非线性可分的支持向量机

SVM,Support Vector Machine,支持向量机

我是一只小嵩鼠 5729

机器学习:支持向量机(SVM)详解与实战

支持向量机(Support Vector Machine,简称 SVM)是一种常用于分类和回归任务的监督学习算法。它的核心思想是通过在特征空间中找到一个能够最大化分类间隔的超平面,将不同类别的数据分离开来。SVM的目标是找到一个最优的决策边界(即超平面),使得分类间隔(即边界到各类别数据点的最小距离)最大化。SVM可以处理线性可分和线性不可分的数据集。

weixin_52390875的博客 3480

线性支持向量机与软间隔最大化

接着线性可分支持向量机。如果数据集不是线性可分的,(比如二维空间中,就是找不到一条直线能刚好把正负例分开,)忽略掉一些异常点,就可以用一个分离超平面把正负例给分开。因此也就不是硬间隔了,而是软间隔。引入了一个松弛变量,使得函数间隔加上松弛变量大于等于1.而线性可分支持向量机中的硬间隔,指的是函数间隔大于等于1当样本点正确分类的时候,几何间隔指的是样本点到分离超平面的距离松弛变量:为啥函数间隔是1?...

zhangdamengcsdn的博客 2884

SVM-支持向量机学习(1):线性可分SVM的基本型

1. foreword先看的是李航老师的书第7章,比较传统按照以下三节展开: 线性可分SVM 线性SVM 非线性SVM SMO算法 李航老师讲东西向来不拖泥带水,但本节也几乎用了40页的篇幅,足见涉及内容之多。7月底硬着头皮啃了下来,边看边在笔记上摘抄标注,花了2天时间对SVM有了基本认识。一个月过去了,如今重新整理为博客,再看轻松许多,并不断对比西瓜书的内容,启望达到融会贯通。西瓜书此节明显节奏轻

鸟恋旧林的博客 8680

支持向量机SVM(1)——间隔最大化

支持向量机SVM——间隔最大化1.什么是超平面2.为什么要间隔最大化3.如何实现间隔最大化 主要参考西瓜书… 1.什么是超平面 相信了解过逻辑回归的都知道,我们对于n=2(特征为2个,这里只是方便可视化)是通拟合一条曲线,作为决策边界。 那么如果特征n等于3、4 . . . 1000呢?这个时候我们我们就称这个用来分割不同类别的“线”称为超平面(hyperplane),这里的超我理解的就是多维的意...

CarryLvan的博客 6757

uniapp+uniCloud实现微信小程序一键登录

(用户唯一标识),用户登录成功后,开发者服务器可以将openid和session_key保存,生成一个自定义登录态的token令牌响应给微信小程序,通过token可以查询openid和session_key,小程序下次请求只要携带着token就可以证明已经登录。这个API就是获取用户信息,每次请求都会弹出授权窗口(这个可能会不弹,这个要看你的版本,根据版本来定,不懂的可以留下评论),用户同意后会返回。到这里就可以实现微信一键登录了,快去试试吧,有问题可以在评论区留言,我看见会尽我知道的为你解答。

lb2917的博客 2577

Kindle电子书DRM破解全攻略:从下载到转换的完整流程(含最新DeDRM插件配置)

本文详细介绍了如何合法移除个人购买的Kindle电子书的DRM保护,实现跨设备阅读与备份。核心内容包括使用最新DeDRM插件(如noDRM分支)配合Calibre进行配置,并针对亚马逊最新的KFX加密格式提供了密钥提取与实战操作指南。文章强调该方法仅适用于个人合理使用,旨在帮助读者真正掌控自己的数字资产。

delta的博客 576

SVM详解(一)线性可分支持向量机与硬间隔最大化

1. 通过分析,一步步得出线性可分支持向量机的最优化问题 2. 介绍最优化问题的对偶问题

SpiritedAway 1969

正点原子RK3588 Android 12镜像构建实战:从环境配置到烧录验证全指南

本文提供了一份基于正点原子RK3588开发板的Android 12镜像构建全流程实战指南。内容涵盖从Ubuntu环境配置、SDK获取、编译内核与系统,到最终镜像打包与烧录验证的完整步骤,并分享了内核驱动定制与系统优化技巧,旨在帮助开发者高效完成瑞芯微RK3588平台的系统定制工作。

grass的博客 811

机器学习算法之SVM(一):线性可分支持向量机与硬间隔最大化。

文章目录线性可分支持向量机函数间隔几何间隔函数间隔与几何间隔之间的关系间隔最大化算法支持向量和间隔边界学习的对偶算法总结 线性可分支持向量机 给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为 w∗x+b∗=0 w^* x + b^* = 0w∗x+b∗=0以及相应的决策函数f(x)=sign(w∗x+b)f(x) = sign(w^*x+b)f(x)=...

wpy9939的博客 435

局放起始电压(PDIV)与击穿电压(BDV):绝缘系统设计的核心参数 [特殊字符]

在电力设备绝缘系统设计中,**局放起始电压(Partial Discharge Inception Voltage, PDIV)和击穿电压(Breakdown Voltage, BDV)**是两个至关重要的参数。它们直接反映了绝缘材料的性能和绝缘系统的可靠性,对变压器的设计、制造和运行具有重要指导意义。本文将深入探讨这两项参数的定义、测试方法及其与绝缘设计制造的关系,帮助读者全面理解其在电力设备中的核心作用。

mubiao05的博客 2631

Fluent新手避坑:遇到‘Floating point exception’别慌,这7个排查步骤帮你搞定

本文为Fluent新手提供了7个排查'Floating point exception'错误的实用步骤,包括边界条件检查、时间步长优化、求解器配置等关键技巧。通过系统化的诊断流程,帮助用户快速定位并解决CFD仿真中的浮点异常问题,提升计算稳定性。

weixin_42531886的博客 286

SVM支持向量机系列理论(一) 线性可分SVM与硬间隔最大化

2 线性可分SVM与硬间隔最大化 硬间隔最大化指的是当数据完全可分时,支持向量和分离超平面之间的间隔最大化。 2.1 SVM思想 对一个线性可分的二分类数据集: D=(xi,yi),i=1&amp;amp;amp;amp;amp;amp;amp;nbsp;,...&amp;amp;amp;amp;amp;amp;amp;nbsp;,ND=(xi,yi),i=1&amp;amp;amp;amp;amp;amp;amp;nbsp;,...&amp;amp;amp;am

promisejia 1526

激光焦点动态跟踪技术实战大揭秘:电容式与同轴视觉的巅峰对决

激光焦点动态跟踪技术是保证激光加工质量的关键因素。本文对比评测了电容式和同轴视觉两种主流技术:电容式响应速度快、成本低,适合高速稳定加工环境,但易受电磁干扰;同轴视觉精度高、抗干扰强,适合精密加工和复杂工件,但成本较高且处理速度受限。评测结果表明,企业应根据加工需求、预算和环境选择合适技术。未来该技术将向智能化、多技术融合方向发展,为工业应用提供更优解决方案。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 124

支持向量机SVM

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

Kangrant的博客 687

强化学习原理及应用作业之动态规划算法【SYSU_2023SpringRL】

本次实践作业将在以下环境进行: 该环境由一个 6×6 网格组成,其中黄色圆圈为智能体出发点,黑色格子为无法通过的墙壁,若智能体向着墙壁方向移动,则会停留在原地,地图边界的移动同理。带有黄色边框的格子为终止状态,即若智能体行动至此状态则整个 episode 结束。红色和绿色表示当前该状态的奖励值,奖励越高则绿色越深,奖励越低则红色越深。状态空间:36(0-35 这 36 个整数,左下角为 0,向右 +1,向上 +6)动作空间:4(0-3 这 4 个整数分别代表左、右、上、下)奖励函数:普通格子 -0.1,到

zik的博客 1398

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

第七章 支持向量机(一)线性可分支持向量机与硬间隔最大化

模型: 二类分类模型 3种支持向量机模型 线性可分支持向量机:硬间隔最大化+线性分类器 线性支持向量机:软间隔最大化+线性分类器 非线性支持向量机:核技巧+软间隔最大化 策略:形式化为求解凸二次规划问题 算法: 求解凸二次规划的最优化算法 线性可分支持向量机与硬间隔最大化 训练数据集D={(x1,y1),(x2,y2)...(xn,yn)}D={(x1,y1),(x2,y2)....

csdn_lzw的博客 761

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

机器学习算法05 - 支持向量机

支持向量机 “升维” 机器学习基本算法之一的支持向量机的基本原理,其要点如下: 线性可分支持向量机通过硬间隔最大化求出划分超平面,解决线性分类问题; 线性支持向量机通过软间隔最大化求出划分超平面,解决线性分类问题; 非线性支持向量机利用核函数实现从低维原始空间到高维特征空间的转换,在高维空间上解决非线性分类问题; 支持向量机的学习是个凸二次规划问题,可以用 SMO 算法快速求解。 SVM...

Flyingfish 428

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

支持向量机——线性可分支持向量机

GitHub 简书 优快云 1 线性可分支持向量机 支持向量机(Support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,他的学习策略就是间隔最大化,同时该方法可以形式化为一个求解图二次规划。 支持向量机可分为三类: 线性可分支持向量机、硬间隔(hard-margin svm) 线性支持向量机、软间隔(soft-margi...

u014630987的博客 4786

什么是支持向量机【SVM,详细理论推导】

支持向量机(support vector machines, SVM)是一种二分类模型。本文详细介绍线性可分支持向量机和线性支持向量机的原理、算法推导,同时有不少图帮助理解。

v20000727的博客 1万+

【ML】支持向量机SVM:线性可分与非线性可分、硬间隔与软间隔

支持向量机(support vector machine, SVM)是一种二分类模型。 线性可分支持向量机与硬间隔最大化 线性支持向量机与软间隔最大化 非线性支持向量机与核函数   给定训练数据集T={(x1,y1),(x2,y2),...,(xn,yn)}T=\{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\}T={(x1​,y1​),(x2​,y2​),...,(xn​...

Explore 1862
上一篇: 机器学习-最大熵模型
下一篇: 支持向量机(二)线性支持向量机与软间隔最大化
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值