机器学习——SVM核函数

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

核函数这块,原理理解起来,相对比较简单

但还是会有一些不太理解的地方

对于非线性可分的数据而言,在当前维度,直接使用SVM有分不出的情况

那么就可以从当前维度,直接升到更高维度,进行计算。

例如原本数据只有3个影响因素 x a , x b , x c x_a,x_b,x_c xa,xb,xc(性别)(年龄)(样貌),那么根据这三个维度的数据,可以拓展成更高维度(更多个不具名的影响因素),例如xc、xd、xe、xf、xg,再代入SVM的对偶问题里进行计算

其实有一本书《人工智能数学基础》里,描述的还是挺清晰的
机器学习——SVM核函数,机器学习基础,统计学习,支持向量机,机器学习,人工智能

另外讲到高斯核函数的时候,还给出了推导

机器学习——SVM核函数,机器学习基础,统计学习,支持向量机,机器学习,人工智能

这里的推导,实际就是在印证高斯核函数中,是如何拓展成高维向量,并且高维向量的点积,是如何用当前低维数据进行计算的。

K ( x , y ) = e − ∣ ∣ x − y ∣ ∣ 2 = e − x 2 e − y 2 [ 1 + ( 2 x . y ) 1 1 ! + ( 2 x . y ) 2 2 ! + ( 2 x . y ) 3 3 ! . . . ] K(x,y) = e^{-||x-y||²}=e^{-x^2}e^{-y^2}[1+\frac{(2x.y)^1}{1!}+\frac{(2x.y)^2}{2!}+\frac{(2x.y)^3}{3!}...] K(x,y)=e∣∣xy2=ex2ey2[1+1!(2x.y)1+2!(2x.y)2+3!(2x.y)3...]

这里高维向量的点积,体现在 e − x 2 e − y 2 [ 1 + ( 2 x . y ) 1 1 ! + ( 2 x . y ) 2 2 ! + ( 2 x . y ) 3 3 ! . . . ] e^{-x^2}e^{-y^2}[1+\frac{(2x.y)^1}{1!}+\frac{(2x.y)^2}{2!}+\frac{(2x.y)^3}{3!}...] ex2ey2[1+1!(2x.y)1+2!(2x.y)2+3!(2x.y)3...]

在SVM对偶函数求解里,正是需要求解点积

假设原数据的x总共分为3个影响因素 x a , x b , x c x_a,x_b,x_c xa,xb,xc

则两条数据分别为 ( x a 1 , x b 1 , x c 1 ) (x_{a1},x_{b1},x_{c1}) (xa1xb1xc1), ( x a 2 , x b 2 , x c 2 ) (x_{a2},x_{b2},x_{c2}) (xa2xb2xc2)

则它们的点积为 x a 1 x a 2 + x b 1 x b 2 + x c 1 x c 2 x_{a1}x_{a2}+x_{b1}x_{b2}+x_{c1}x_{c2} xa1xa2+xb1xb2+xc1xc2

但如果,现在将3个影响因素通过某种关系,上升到无穷个影响因素, x e , x f , x g , x h , x k x_e,x_f,x_g,x_h,x_k xe,xf,xg,xh,xk

这两条数据就变为了
x e 1 , x f 1 , x g 1 , x h 1 , x k 1 . . . x_{e1},x_{f1},x_{g1},x_{h1},x_{k1}... xe1,xf1,xg1,xh1,xk1...
x e 2 , x f 2 , x g 2 , x h 2 , x k 2 . . . x_{e2},x_{f2},x_{g2},x_{h2},x_{k2}... xe2,xf2,xg2,xh2,xk2...

则它们的点积为
x e 1 x e 2 + x f 1 x f 2 + x g 1 + x h 1 x h 2 + x k 1 x k 2 + . . . x_{e1}x_{e2}+x_{f1}x_{f2}+x_{g1}+x_{h1}x_{h2}+x_{k1}x_{k2}+... xe1xe2+xf1xf2+xg1+xh1xh2+xk1xk2+...

但由于高维度的点积计算量太大,找到一个原低维的计算式等于高维的点积结果,那个计算式就是核函数!

高斯核函数中的 e − x 2 e − y 2 [ 1 + ( 2 x . y ) 1 1 ! + ( 2 x . y ) 2 2 ! + ( 2 x . y ) 3 3 ! . . . ] e^{-x^2}e^{-y^2}[1+\frac{(2x.y)^1}{1!}+\frac{(2x.y)^2}{2!}+\frac{(2x.y)^3}{3!}...] ex2ey2[1+1!(2x.y)1+2!(2x.y)2+3!(2x.y)3...]无穷维的两条数据点积,对应的计算式正是 e − ∣ ∣ x − y ∣ ∣ 2 e^{-||x-y||²} e∣∣xy2,这正是核函数

只是高斯核函数还有一个参数σ,也叫核半径

e − ∣ ∣ x − y ∣ ∣ 2 2 σ e^{\frac{-||x-y||²}{2σ}} e2σ∣∣xy2,当x,y两条数据差距非常小,很接近时,核函数值接近1,
当x,y两条数据差距非常大时,核函数值接近0

这就像是正态分布(高斯分布)

那么σ的作用,就是调节用的:

极端来看,当σ值非常非常非常非常大时,如果x和y两条数据差距比较大,核函数值也依然接近1

因此,核函数正是一个低维升高维求解线性关系,并用低维数据计算替代高维点积的计算式。文章来源地址https://www.toymoban.com/news/detail-640308.html

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

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

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

相关文章

  • 机器学习-支持向量机SVM

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

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

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

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

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

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

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

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

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

    2024年02月09日
    浏览(49)
  • 【机器学习】SVM支持向量机模型

     本站原创文章,转载请说明来自 《老饼讲解-机器学习》 ml.bbbdata.com 目录 一. SVM的目标和思想    1.1 SVM硬间隔模型的原始目的 1.2 SVM的直接目标 1.3 什么是支持向量  二. SVM的支持平面的表示方式 2.1 支持面表示方式的初步思路 2.2 初步思路的缺陷与改进 2.3 支持面的最终表示

    2023年04月23日
    浏览(171)
  • 机器学习:基于支持向量机(SVM)进行人脸识别预测

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

    2024年01月23日
    浏览(45)
  • 机器学习: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日
    浏览(60)
  • 机器学习实战:Python基于支持向量机SVM-RFE进行分类预测(三)

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

    2024年02月05日
    浏览(59)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包