机器学习——SVM核函数

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

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

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

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

例如原本数据只有3个影响因素 x a , x b , x c x_a,x_b,x_c xa,xb,xc(性别)(年龄)(样貌),那么根据这三个维度的数据,可以拓展成更高维度(更多个不具名的影响因素),例如xc、xd、xe、xf、xg,再代入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

因此,核函数正是一个低维升高维求解线性关系,并用低维数据计算替代高维点积的计算式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/25341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MAVLINK—C语言demoWindows版本

mavlink/examples/c/udp_example.c 在学习mavlink时准备学习一下官网的C语言example&#xff0c;发现是unix系统的&#xff0c;打算在Windows系统下尝试&#xff0c;于是将示例修改了一下。 #include <stdio.h> #include <errno.h> #include <string.h> #in…

springboot房地产管理java购房租房二手房j客户sp源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 springboot房地产管理 系统1权限&#xff1a;管理员 …

【运维面试】Docker技术面试题总结

【运维面试】Docker技术面试题总结 一、Docker的基础概念1.1 什么是Docker?它可以为我们提供哪些便利?1.2 Docker的优点是什么?1.3 Docker的镜像是什么?1.4 Docker的数据卷是什么?1.5 Docker Compose是什么?1.6 Docker Swarm是什么?1.7 Docker Hub是什么?有哪些用途?1…

pom文件---maven

027-Maven 命令行-实验四-生成 Web 工程-执行生成_ev_哔哩哔哩_bilibili 27节.后续补充 一.maven下载安装及配置 1)maven下载 2) settings文件配置本地仓库 3)settings配置远程仓库地址 4)配置maven工程的基础JDK版本 5)确认JDK环境变量配置没问题,配置maven的环境变量 验证…

JAVA实现存在更新不存在插入与及多余的进行删除(三)

这个版本&#xff0c;主要是迭代重载了下save方法&#xff0c;不废话&#xff0c;直接上代码&#xff1a; /*** 保存数据&#xff0c;处理数据的增删改** param paramData 前台的参数* param dbData 后台的数据* param clazz 前后台参数对应的class* param beanName …

【数据结构OJ题】合并两个有序数组

原题链接&#xff1a;https://leetcode.cn/problems/merge-sorted-array/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 看到这道题&#xff0c;我们注意到nums1[ ]和nums2[ ]两个数组都是非递减的。所以我们很容易想到额外开一个数组tmp[ ]&#x…

小研究 - Mysql快速全同步复制技术的设计和应用(二)

Mysql半同步复制技术在高性能的数据管理中被广泛采用&#xff0c;但它在可靠性方面却存在不足.本文对半同步复制技术进行优化&#xff0c;提出了一种快速全同步复制技术&#xff0c;通过对半同步数据复制过程中的事务流程设置、线程资源合理应用、批量日志应用等技术手段&#…

C++/Qt读写ini文件

今天介绍C/Qt读写ini文件&#xff0c;ini文件一般是作为配置文件来使用&#xff0c;比如一些程序的一些默认参数会写在一个ini文件中&#xff0c;程序运行时会进行对应的参数读取&#xff0c;详细可以查看百度ini文件的介绍。https://baike.baidu.com/item/ini%E6%96%87%E4%BB%…

关于webpack的基本配置

文章目录 前言一、webpack基本配置1.配置拆分和merge2. 启动服务3、处理es6&#xff0c;配置babel4、处理样式5、处理图片 前言 为什么要有webpack构建和打包&#xff1f; 更好的模块化管理。webpack支持模块化规范&#xff1a;代码分割成独立模块&#xff0c;并管理模块之间…

401 · 排序矩阵中的从小到大第k个数

链接&#xff1a;LintCode 炼码 - ChatGPT&#xff01;更高效的学习体验&#xff01; 题解&#xff1a; 九章算法 - 帮助更多程序员找到好工作&#xff0c;硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧 class Solution { public:/*** param matrix: a matrix of intege…

stable diffusion(1): webui的本地部署(windows)

一、前言 是的&#xff0c;现在是202308月份了&#xff0c;网上已经有很多打包好的工具&#xff0c;或者直接进一个web就能用SD的功能&#xff0c;但是我们作为程序员&#xff0c;就应该去躺坑&#xff0c;这样做也是为了能够有更多自主操作的空间。 像其他AI一样&#xff0c…

【C语言技巧】三种多组输入的写法

文章目录 第一种&#xff1a;直接与1判断第二种&#xff1a;与EOF判断第三种&#xff1a;巧用按位取反符号“~”写在最后 在代码的实际运用中&#xff0c;我们经常会遇到需要多组输入的情况&#xff0c;那么今天博主就带大家一起盘点三种常见的多组输入的写法 第一种&#xff1…

Python——调用webdriver.Chrome() 报错

今天运行脚本&#xff0c;报错内容如下&#xff1a; collecting ... login_case.py:None (login_case.py) login_case.py:11: in <module> dr webdriver.Chrome() D:\Program Files (x86)\Python\Python39\Lib\site-packages\selenium\webdriver\chrome\webdriver.p…

【算法题解】52. 分割圆的最少切割次数

这是一道 简单 题 https://leetcode.cn/problems/minimum-cuts-to-divide-a-circle/ 题目 圆内一个 有效切割 &#xff0c;符合以下两个条件之一&#xff1a; 该切割是两个端点在圆上的线段&#xff0c;且该线段经过圆心&#xff0c;即圆的直径。该切割是一端在圆心另一端在圆…

自然语言处理学习笔记(五)————切分算法

目录 1.切分算法 2.完全切分 3.正向最长匹配 4.逆向最长匹配 5.双向最长匹配 6.速度评测 1.切分算法 词典确定后&#xff0c;句子可能含有很多词典中的词语&#xff0c;他们有可能互相重叠&#xff0c;如何切分需要一些规则。常用规则为&#xff1a;正向匹配算法、逆向匹…

torch.device函数

torch.device 是 PyTorch 中用于表示计算设备&#xff08;如CPU或GPU&#xff09;的类。它允许你在代码中指定你希望在哪个设备上执行张量和模型操作&#xff0c;本文主要介绍了 torch.device 函数的用法和功能。 本文主要包含以下内容&#xff1a; 1.创建设备对象2.将张量和模…

关于Godot游戏引擎制作流水灯

先上核心代码 游戏节点 流水灯的通途可以是 1. 装饰 2. 音乐类多媒体程序&#xff08;如FL中TB-303的步进灯&#xff09; FL Studio Transistor Bass

Stephen Wolfram:ChatGPT 的训练

The Training of ChatGPT ChatGPT 的训练 OK, so we’ve now given an outline of how ChatGPT works once it’s set up. But how did it get set up? How were all those 175 billion weights in its neural net determined? Basically they’re the result of very large…

KMP模式匹配算法

一、算法思路&#xff1a; KMP模式匹配算法让主串不发生没必要的回溯&#xff0c;即主串的索引值只做递增操作。如果主串的索引值不发生回溯&#xff0c;那么就需要子串索引值的回溯变化。 子串索引值要以一种怎样的形式就行变化呢&#xff1f;子串索引值的变化方式只和子串自身…

第十二次CCF计算机软件能力认证

第一题&#xff1a;最小差值 给定 n 个数&#xff0c;请找出其中相差&#xff08;差的绝对值&#xff09;最小的两个数&#xff0c;输出它们的差值的绝对值。 输入格式 输入第一行包含一个整数 n。 第二行包含 n 个正整数&#xff0c;相邻整数之间使用一个空格分隔。 输出格式 …