【机器学习】SVM支持向量机模型

这篇具有很好参考价值的文章主要介绍了【机器学习】SVM支持向量机模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 本站原创文章,转载请说明来自《老饼讲解-机器学习》ml.bbbdata.com


目录

一. SVM的目标和思想   

1.1 SVM硬间隔模型的原始目的

1.2 SVM的直接目标

1.3 什么是支持向量

 二. SVM的支持平面的表示方式

2.1 支持面表示方式的初步思路

2.2 初步思路的缺陷与改进

2.3 支持面的最终表示方式

三. SVM模型表达式

3.1 SVM模型表达式

3.2 wx+b的意义

四. SVM模型损失函数

4.1 损失函数

4.2 损失函数解说


本文解说SVM的硬间隔损失函数的定义和思想,以及硬间隔损失函数的推导

一. SVM的目标和思想   


本节先大概了解SVM模型的主要思想和目标

1.1 SVM硬间隔模型的原始目的


SVM硬间隔模型用于样本线性可分的二分类,

它的原始目的是找出一个判别面,让样本离判断面的最小距离最大化,
 

【机器学习】SVM支持向量机模型


这样的判别面称为SVM的最优判别面 

声明
本文所说的SVM都是指硬间隔模型,它基于样本线性可分,
硬间隔是相对软间隔模型而言,软间隔不要求样本线性可分


1.2 SVM的直接目标


 直接找最优判别面较难找,SVM并不是直接找最优判别面,
而是在两类样本之间,引入两个平行的支持面(支持面之间不能有样本)
然后让支持平面尽量撑开,

【机器学习】SVM支持向量机模型

  当两个支持平面的距离最大化时,
两个支持平面的中心,就是要找的最优判别面
所以,
 SVM的直接目标是找出距离最大化的两个支持面
从而曲线救国达到找出最优判别面的原始目的


1.3 什么是支持向量


落在支持面上的样本,称为支持向量,
它们是模型的关键样本

【机器学习】SVM支持向量机模型

 也就是说,看起来用很多样本训练模型,但最关键的样本其实并不多


 二. SVM的支持平面的表示方式

  
本节说明SVM支持平面的表示方法,是后面讲述模型和损失函数的基础和前提

2.1 支持面表示方式的初步思路


  一组支持面可以由(w,b,d)指定,

【机器学习】SVM支持向量机模型

 (w,b)代表两个支持面的中心平面wx+b =0,
中心平面向两边展开d距离,就是两个支持面
 注: wx+b =0 同时也就是判别面


2.2 初步思路的缺陷与改进


 初步思路中的缺陷
初步思路中,用(w,b,d)来表示支持面
这种表述最大的问题是,
由于wx+b=0与k(wx+b)=0表示的是同一个平面,
虽然最优支持面只有一组,假设为(w,b,d)
但对所有k>0, (kw,kb,d)都能表示这组最优支持平面,
即最后的解(的表述)存在无限多个

改进思路
注意到d的取值范围为 【机器学习】SVM支持向量机模型
对平面wx+b=0, 的取值范围也是【机器学习】SVM支持向量机模型

不妨用 来替代d,这样可以消去d, 
这样的表示能让解的表述较为唯一,
如下

(w,b)表示的是以Wx+b=0为中心面两边展开距离的一组支持面

而(kw,kb)虽然与(W,b)的中心面一致,但撑开的距离为,
所以两者表示的不是同一组支持面(k=-1除外)


2.3 支持面的最终表示方式


SVM对支持面的表示最终设计如下,
👉支持面的表示方法:(w,b)
其中,
 wx+b=0是两个支持面的中心     

 是支持面离中面心的距离 
即由wx+b=0两边展开
 距离,就得到了两个支持面

注:同时,wx+b=0也就是最后需要得到的判别面



   

三. SVM模型表达式


本节展示SVM模型的表达式,和讲解模型表达式的意义

3.1 SVM模型表达式


SVM模型数学表达式为
【机器学习】SVM支持向量机模型
也就是判断样本是在判别面的正侧还是负侧,
从而决定模型是正样本还是负样本

特别说明

光看表达式很容易让人误解,以为SVM是一个平面的模型
 但其实它是一个“三个平面”的模型:
以wx+b=0为判别平面, 为支持距离生成两个支持平面,

共三个平面,如图: 

【机器学习】SVM支持向量机模型

这家伙是带翅膀的!

虽然最后的判断核心是依靠判别面,

但支持面提供了样本可信程度的一个参考


3.2 wx+b的意义


由几何关系可知,样本到判别面的距离为
【机器学习】SVM支持向量机模型
 
如果保留距离的正负号,则有
【机器学习】SVM支持向量机模型
 
即有:
【机器学习】SVM支持向量机模型
 
其中 是支持平面到判别平面的距离,
所以,wx+b的意义,是带符号的样本距离与支持距离的比值,
这样比较绕,不妨如下理解:
  

【机器学习】SVM支持向量机模型

wx+b就是样本与判别平面的距离,
但这个距离是带正负号的,且它以支持距离为单位


四. SVM模型损失函数

本节讲解SVM模型(硬间隔)的损失函数和解读损失函数的意义

4.1 损失函数


SVM硬间隔损失函数如下

损失函数

约束条件:
【机器学习】SVM支持向量机模型


4.2 损失函数解说


损失函数的优化目标
损失函数的优化目标的本质是最小化,
又,所以本质是最大化两个支持面平间的距离(2d)
将 改成  ,
加平方是为了可以去掉2范数里的根号,同时乘以 ,
进一步方便损失函数求导后的简洁

损失函数的约束条件
下面我们分析约束条件【机器学习】SVM支持向量机模型
将它拆成和 两种场景:
【机器学习】SVM支持向量机模型
 
上面已经分析过,
wx+b 的意义就是样本与判别平面的距离(带符号,以支持距离为单位),
所以约束条件就是,
y=+1 时,即正样本,不能在正支持面的负侧
y= -1时,即负样本,不能在负支持面的正侧

损失函数意义总结
损失函数总的意思,
就是约束两个支持面必须在正负样本之间,
且两个支持面之间不能有样本,
然后最大化两个支持面之间的距离



 

笔者小故事


辨析清楚判别面、支持面、支持向量这些概念非常重要,
笔者最初学习时,因为不清晰这些概念,常常被误导
例如,
笔者误以为SVM要搞的是判别面,
在理解算法时,所有符号都往判别面上挂,
特别是损失函数中的,百思不得其解,
其实SVM一切一切一切都是在搞支持面,
符号的含义、函数的目标等等,都应该往支持面上挂。
损失函数 中的w在这里就不应理解成判别面的权重
而是支持面之间的距离,这才是它在损失函数中所要代表的对象
又例如,
笔者以为支持向量构成了支持面,
在看到支持面上只有一个样本时就疑惑了,
一个样本怎么能构成面呢?
其实不然,支持向量只是一个定义,说明这些样本是关键样本
SVM一直在找的只有支持面,支持向量和判别面是顺带出来的东西
认识到这点对笔者来说非常重要,
对SVM的理解方向正确了,一切也就简单合理了~


相关文章


老饼讲解|【逻辑回归】逻辑回归损失函数交叉熵形式的理解

老饼讲解|【原理】CART决策树算法实现流程

老饼讲解|【原理】逻辑回归原理文章来源地址https://www.toymoban.com/news/detail-422288.html

到了这里,关于【机器学习】SVM支持向量机模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【机器学习】支持向量机SVM入门

    相较于之前学习的线性回归和神经网络,支持向量机(Supprot Vector Machine,简称SVM)在拟合复杂的非线性方程的时候拥有更出色的能力,该算法也是十分经典的算法之一。接下来我们需要学习这种算法 首先我们回顾逻辑回归中的经典假设函数,如下图: 对于任意一个实例 (

    2024年02月15日
    浏览(52)
  • 机器学习算法:支持向量机(SVM)

    Solem《python计算机视觉编程》、李航《统计学习方法》、周志华《机器学习》 要理解好支持向量机需要较好的数学功底,且能不被公式以及文字绕晕,这里我们就理清楚支持向量机的大体过程。具体的数学计算推导其实已经封装好了,那么理解算法的原理也对我们将来的学习

    2024年02月03日
    浏览(48)
  • 机器学习(六)支持向量机(SVM)

    目录 1.间隔与支持向量 1.1线性可分 1.2支持向量 1.3 最大间隔超平面 2.对偶问题 2.1拉格朗日乘子法 2.2 SMO算法 2.3SMO算法代码实现 3.核函数 4. SVM实例(手写体数字识别) 5.实验总结 支持向量机(SVM) 是有监督学习中最有影响力的机器学习算法之一,一般用于解决二分类问题(

    2024年02月09日
    浏览(51)
  • 机器学习:基于支持向量机(SVM)进行人脸识别预测

    作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍 📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪 专栏案例:

    2024年01月23日
    浏览(45)
  • 一文全解经典机器学习算法之支持向量机SVM(关键词:SVM,对偶、间隔、支持向量、核函数、特征空间、分类)

    之前所介绍的逻辑回归是基于似然度的分类方法,通过对数据概率进行建模来得到软输出。但这种分类方法其实稍加“繁琐”,因为要 估计数据的概率分布作为中间步骤 。这就像当一个人学习英语时,他只要直接报个班或者自己看书就行了,而不需要先学习诘屈聱牙的拉丁

    2024年02月03日
    浏览(60)
  • 机器学习:Python中如何使用支持向量机(SVM)算法

    (简单介绍一下支持向量机,详细介绍尤其是算法过程可以查阅其他资) 在机器学习领域,支持向量机SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别、分类(异常值检测)以及回归分析。 其具有以下特征: (1)SVM可以表示为凸优化问题,因此可以利用已知的

    2024年02月04日
    浏览(51)
  • 第29步 机器学习分类实战:支持向量机(SVM)建模

    支持向量机(SVM)建模。 先复习一下参数(传送门),需要调整的参数有: ① kernel:{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’},默认为’rbf’。使用的核函数,必须是“linear”,“poly”,“rbf”,“sigmoid”,“precomputed”或者“callable”中的一个。 ② c:浮点

    2024年02月02日
    浏览(64)
  • [学习笔记] [机器学习] 10. 支持向量机 SVM(SVM 算法原理、SVM API介绍、SVM 损失函数、SVM 回归、手写数字识别)

    视频链接 数据集下载地址:无需下载 学习目标: 了解什么是 SVM 算法 掌握 SVM 算法的原理 知道 SVM 算法的损失函数 知道 SVM 算法的核函数 了解 SVM 算法在回归问题中的使用 应用 SVM 算法实现手写数字识别器 学习目标: 了解 SVM 算法的定义 知道软间隔和硬间隔 在很久以前的

    2024年02月09日
    浏览(88)
  • 机器学习实战:Python基于支持向量机SVM-RFE进行分类预测(三)

    1.1 支持向量机的介绍 支持向量机( Support Vector Machine,SVM )是一种监督学习的分类算法。它的基本思想是找到一个能够最好地将不同类别的数据分开的超平面,同时最大化分类器的边际(margin)。SVM的训练目标是最大化间隔(margin),即支持向量到超平面的距离。 具体地,

    2024年02月05日
    浏览(61)
  • 机器学习(七):梯度下降解决分类问题——perceptron感知机算法与SVM支持向量机算法进行二维点分类

    实验2 感知机算法与支持向量机算法 一、预备知识 1.感知机算法 二、实验目的 掌握感知机算法的原理及设计; 掌握利用感知机算法解决分类问题。 三、实验内容 设计感知机算法求解, 设计SVM算法求解(可调用函数库),请找出支持向量和决策超平面。 四、操作方法和实验

    2023年04月26日
    浏览(85)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包