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

详解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

记一次Redis出问题及解决方案

Q1: redis服务关闭前确认数据还是在的,重启后发现一条数据都没了,key* 查也是空的 A1: 经仔细检查发现redis.conf配置文件配置的数据存储目录配置的是dir ./ 也就是相对目录,也就是说在哪个目录执行redis-server redis.config启动命令 redis数据就会存到哪个目录,同样就会加载哪个目录下的数据文件(dump.rdb),前后两次启动命令的位置不一样导致第二次启动没有加载到(dump.rdb)文件,从而导致查不出数据 Q2:springboot 集成r

u010013928的博客 3059

[OHIF-Viewers]医疗数字阅片-医学影像-cornerstone-core-Cornerstone.js-Cornerstone Examples-基石实例-下...

[OHIF-Viewers]医疗数字阅片-医学影像-cornerstone-core-Cornerstone.js-Cornerstone Examples-基石实例-下 CT Image with Window presets This is an example of displaying a ct image along with buttons to set ww/wc pres...

浩秦的博客 1841

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

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

SpiritedAway 1969

VS Code 配置 LaTeX 写作环境完全指南

本文详细介绍了如何在 VS Code 中配置 LaTeX 写作环境,涵盖了从安装必备组件到高级功能的全面指南。首先,用户需要安装 LaTeX 发行版(如 TeX Live 或 MiKTeX)和 VS Code 插件(如 LaTeX Workshop)。接着,通过修改 settings.json 和 keybindings.json 文件,用户可以自定义编译、查看快捷键等基础配置。文章还提供了高效写作技巧,如使用代码片段和多文件项目管理,并介绍了高级功能如反向同步、公式预览和参考文献管理。此外,针对常见问题(

weixin_70043030的博客 1984

机器学习算法之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

单片机技术入门与实战:从零基础到项目开发

单片机(MCU)作为嵌入式系统的核心组件,集成了CPU、内存和各种接口电路,广泛应用于智能家居、工业控制和汽车电子等领域。其工作原理基于实时控制和低功耗设计,通过定时器、中断系统和通信接口等功能模块实现各种控制任务。在物联网和智能硬件快速发展的背景下,掌握单片机开发技术成为电子工程师的重要技能。本文以STM32和PIC系列为例,详细解析单片机的基本概念、功能模块和选型指南,并分享从入门到项目实战的系统学习方法,帮助开发者在3-6个月内快速掌握这一关键技术。

weixin_35753291的博客 652

探索CompletableFuture:高效异步编程的利器

随着现代软件系统的复杂性和用户需求的多样化,异步编程成为了提升系统性能和响应速度的重要手段。在Java领域,CompletableFuture作为Java 8引入的新特性,提供了强大的异步编程能力,极大地简化了多线程和并发任务的处理。本文将深入探讨CompletableFuture的基本功能和使用方法,介绍如何利用其提升程序的并发性能和代码的可维护性。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 170万+

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

Matlab 曲面平滑与点云处理

曲面平滑是一种常见的数学和计算机图形学技术,可以用来消除噪声、填补数据间隙,以及改善曲面的外观。在点云处理中,曲面平滑也被广泛应用于重建、拟合和可视化等领域。本文将介绍如何使用 Matlab 进行曲面平滑和点云处理,并提供相应的源代码。通过以上步骤,我们可以使用 Matlab 进行曲面平滑和点云处理。你可以根据具体需求调整参数和算法,以获得理想的曲面平滑效果。接下来,我们可以使用平滑算法对三角化的网格进行曲面平滑。以上代码将绘制原始点云和重建后的点云,并在图形中显示坐标轴和图例。表示平滑的迭代次数。

QfcaLinux的博客 752

支持向量机SVM

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

Kangrant的博客 687

1分钟了解LangChain是什么?

是一个基于大型语言模型(LLM)开发应用程序的框架, 它旨在简化语言模型应用的开发流程,特别是在构建对话系统和其他基于语言的AI解决方案时.目标是将复杂的语言模型技术转化为可通过简单API调用实现的功能,从而使开发者能够更加专注于创造性的解决方案设计。高效地解决了开发大语言模型应用的痛点问题。Langchain 最主要的特色是可以将 LLM 应用研发过程中的交互 Prompt、LLM 模型调用、语言模型与环境互动的自适应等方式融为一体。

gorgor在码农 2630

什么是 SAPGUI 里的 Logon Group/Server

这意味着,不同的用户连接可以被分配到不同的应用服务器,以实现均衡的资源利用和降低某一服务器的负载压力。在这种配置下,欧洲的用户登录时选择“EUROPE_GROUP”,系统将自动选择一个位于欧洲的数据中心的服务器进行连接,这样不仅减少了网络延迟,还实现了服务器间的负载均衡。用户在 SAPGUI 中登录时,只需选择相应的 Logon Group(例如“FIN_GROUP”),系统就会自动将他们的连接请求分配到当前负载最小的应用服务器上,这种动态分配大大提升了系统的响应速度和稳定性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1069

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

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

csdn_lzw的博客 761

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

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

Flyingfish 428

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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

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

u014630987的博客 4786

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

什么是支持向量机【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、付费专栏及课程。

余额充值