支持向量机(SVM)通俗版讲解

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

一、认识支持向量机

  支持向量机(support vector machine,简称SVM),是一种解决二分类问题的机器学习模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。

  要认识支持向量机,我们还需要了解几个概念。

1.1 线性可分/线性不可分

  对于一个二维空间,每个样本就相当于平面上的一个点。如果能够找到一条线,可以把两种类别的样本划分至这条线的两侧,我们就称这个样本集线性可分,如下图所示。

二维数据支持向量机,支持向量机,python,机器学习
线性可分的样本集

   反之,若不能找到这样的直线,则称该样本集线性不可分

1.2 超平面

  显然,在上述的二维空间中,我们的目标就是找到这样的一条直线,能够把样本集划分成两部分,我们把这样的线称作线性模型。同理,在三维空间中,我们要找的线性模型就是一个平面。而对于更高的维度,虽然我们处在三维的世界,无法想象三维以上的世界,但我们可以使用数学方法描述更高维度,同样也可以使用数学方法推导出高维的线性模型。我们称超过三维的曲面为超平面,其方程为:

二维数据支持向量机,支持向量机,python,机器学习

  其中,,n表示特征数(维度数),b为常数。

  所以我们可以这样描述SVM的目的:找到这样一个超平面wx+b=0,使得在超平面上方的点x代入函数y=wT x+b,y全部大于0,在超平面下方的点x代入函数y=wx+b,y全部小于0。

二、算法思想

2.1 线性可分的SVM

   SVM要找到一个超平面,这个超平面要分开两种不同的样本,但符合这个条件的超平面不是唯一的。这要求我们使用一个标准,能够确认一个分类效果最好的超平面。

  假设两类数据可以被二维数据支持向量机,支持向量机,python,机器学习分离,垂直于该超平面移动,直到碰到某个样本向量,这两个样本向量就是支持向量。得到的两个超平面和,称为支撑超平面,它们分别支撑两类数据。而位于正中间的超平面就是分类效果最好的超平面。如下图所示。

二维数据支持向量机,支持向量机,python,机器学习

  超平面和之间的距离d称为间隔,这个间隔是的函数,分类效果最好的超平面应该使d最大,我们的目的就是寻找这样的使得间隔达到最大。

  经过公式推导,实际上,最大化d可以转化成最小化1/2||w||2,限制条件为s.t. yi(wTxi+b)>=1, i=1,2,…,m。

2.2 线性不可分的SVM

  对于线性不可分的样本集,我们无法找到这样的一个超平面分割不同类型的样本,但这并不意味着我们无法使用SVM方法。

  一个线性不可分的样本集,只是在当前维度下线性不可分,但它在高维空间中能够线性可分。如下图所示,在二维空间线性不可分样本集,但是在三维空间中,有可能找到这样一个平面将其分隔开来。

二维数据支持向量机,支持向量机,python,机器学习

    我们可以使用核函数的方法,将数据映射到高维空间。下面给出一些常见的核函数:

线性核(Linear Kernel)

多项式核(Polynomial Kernel)

高斯核(Gaussian Kernel)

拉普拉斯核(Laplacian Kernel)

Sigmoid核(Sigmoid Kernel)

二维数据支持向量机,支持向量机,python,机器学习

  需要特别指出的是,特征空间的选择对模型最后的性能至关重要,所以要多尝试不同的核函数,找到最合适的一个特征空间。

2.3 软间隔

  上述的SVM方法考虑了所有的样本点,对于有噪声的情况可能会使这个问题无解。此外,即使我们选择的核函数能够分别两种不同的数据类型,我们也很难判断这是否是过拟合导致。

  为了缓解上面的问题,可以使用软间隔方法,即我们允许最终找到的超平面发生少量的分类错误,只要它能够保证将大多数样本分类正确就可以了。

  优化后的目标函数如下所示:

二维数据支持向量机,支持向量机,python,机器学习

  其中正则项由惩罚系数C和松弛变量二维数据支持向量机,支持向量机,python,机器学习组成,C是超参数由我们自行修改,松弛变量对应数据点允许偏移的量。文章来源地址https://www.toymoban.com/news/detail-762915.html


参考资料

  •  支持向量机通俗导论(理解SVM的三层境界)_v_JULY_v的博客-CSDN博客
  • 支持向量机(SVM)_bugmaker.的博客-CSDN博客
  •  机器学习:支持向量机(SVM)_燕双嘤的博客-CSDN博客

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

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

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

相关文章

  • 机器学习:Python中如何使用支持向量机(SVM)算法

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

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

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

    2024年02月05日
    浏览(59)
  • 支持向量机(SVM)----超详细原理分析讲解

    支持向量机(Support Vector Machine),是 机器学习 中最流行、最强大的算法模型,没有之一。 但是其背后的模型思想、数学原理较为晦涩难懂,所以本篇文章尽量使用通俗的语言讲解支持向量机的 运行原理 与 数学推导 。 直观的本质理解 我们都知道,支持向量机(SVM)大部分的应

    2024年02月06日
    浏览(46)
  • 异常数据检测 | Python实现支持向量机(SVM)的异常数据检测

    文章概述 SVM通常应用于监督式学习,但OneClassSVM算法可用于将异常检测这样的无监督式学习,它学习一个用于异常检测的决策函数其主要功能将新数据分类为与训练集相似的正常值或不相似的异常值。 模型描述 OneClassSVM的思想来源于这篇论文,SVM使用大边距的方法,它用于异

    2024年02月08日
    浏览(42)
  • 机器学习——支持向量机SVM

    支持向量机(SVM)是一种二类分类模型,其基本模型是在特征空间上找到最佳的分离超平面使得训练集上正负样本间隔最大,间隔最大使它有别于感知机,支持向量机也可通过核技巧使它成为非线性分类器。支持向量机的学习策略是间隔最大化,可将其转化为一个求解凸二次

    2024年01月17日
    浏览(52)
  • 机器学习-支持向量机SVM

    在本练习中,我们将使用支持向量机(SVM)来构建垃圾邮件分类器。 我们将从一些简单的2D数据集开始使用SVM来查看它们的工作原理。 然后,我们将对一组原始电子邮件进行一些预处理工作,并使用SVM在处理的电子邮件上构建分类器,以确定它们是否为垃圾邮件。 我们要做

    2024年02月12日
    浏览(50)
  • SVM(支持向量机)-机器学习

    支持向量机(Support Vector Machine,SVM) 是一种用于分类和回归分析的监督学习算法 。它属于机器学习中的一类强大而灵活的模型,广泛应用于模式识别、图像分类、自然语言处理等领域。 基本原理: SVM的基本原理是通过找到能够有效分隔不同类别的超平面来进行分类。在二维

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

    支持向量机(support vector machine,SVM)是有监督学习中最有影响力的机器学习算法之一,该算法的诞生可追溯至上世纪 60 年代, 前苏联学者 Vapnik 在解决模式识别问题时提出这种算法模型,此后经过几十年的发展直至 1995 年, SVM 算法才真正的完善起来,其典型应用是解决手写

    2024年02月12日
    浏览(34)
  • 【机器学习】支持向量机SVM入门

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

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

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

    2024年02月03日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包