2-分类问题 SVM 核函数

news2024/11/15 11:58:14

目录

一,核函数的引入

二,核函数的定义

三,核函数介绍:

四,核函数总结:


一,核函数的引入

世界上本来没有两个完全一样的物体,对于所有的两个物体,我们可以通过增加维度来让他们最终有所区别,比如说两本书,从(颜色,内容)两个维度来说,可能是一样的,我们可以加上作者这个维度,实在不行我们还可以加入页码,可以加入拥有者,可以加入购买地点,可以加入笔记内容等等。当维度增加到无限维的时候,一定可以让任意的两个物体可分了.

一般对于低维线性不可分的数据,在映射到高位以后,就变成了线性可分的,为此通过核函数将低维的数据映射到高维,再次利用SVM进行分类的思想。

回顾线性可分SVM的优化目标

低维特征仅仅以内积 xi∙xj 的形式出现,假如定义一个低维到高维特征空间的映射 ∅ ,将所有的特征映射到一个更高的维度,使数据线性可分,此时继续的使用线性可分的优化目标,求出分离超平面和分类决策函数。也就是说现在的SVM优化目标变为:

优化目标只是将内积 xi∙xi 换成 ∅(xi)∙∅(xj) 。

问题又出现了:

看起来似乎解决了问题,原始的空间为三维可以映射到20维,这也可以处理,但是我们低维的特征是100个维度,那需要更高的维度来映射,这时候映射成的高维度是爆炸性增长的,计算量太大,无法计算了。这时候就是核函数真正发挥威力的地方,先来就看下核函数的定义。

二,核函数的定义

假设 ∅ 是一个从低维的输入空间X(欧式空间的子集或是离散集合)到高维的希尔伯特空间H的映射,那么存在函数K(x,z)对任意x和z属于空间X,都有:

就称K(x,z) 为核函数。仔细观察上式可以发现,K(x,z)的计算是在低维特征空间来计算的,它避免了在刚才我们提到了在高维维度空间计算内积的恐怖计算量。也就是说,我们可以好好享受在高维特征空间线性可分的红利,却避免了高维特征空间恐怖的内积计算量。

三,核函数介绍:

核函数必须满足的条件,函数任何点的集合形成的Gram矩阵都是半正定的,即对于任意的 xi∈X,i=1,2,3…m.k(xi,xj) 对应的Gram矩阵 K=[k(xi,xj)] 是半正定矩阵,则K(x,z)是正定核函数。

常用的核函数有:

1,线性核函数(Linear Kernel):

也就是说,线性可分的SVM和线性不可分的SVM是一类的,仅仅在于核函数的不同。,

2,多项式核函数(Polynomial Kernel):

其中的参数都需要在实际的工程中进行调节。

3,高斯核函数(Gaussian kernel),也称之为径向基核函数,是非线性分类SVM的最主流函数:

其中, γ 大于0,需要调节的参数。

4,Sigmoid 核函数:

总结下SVM 核函数的求解过程

1)构造服从约束的目标函数

2)用SMO算法求出上式最小时对应的 α 向量的值 α∗ 向量

3)计算 w∗=∑i=1mαi∗yixi

4) 找出所有的S个支持向量,即满足 0≤αi≤C 对应的样本 ()(xs,ys) ,通过

计算出每个支持向量 ()(xs,ys) 对应的 bs∗=ys−∑i=1mαiyiK(xi,xj) ,所有的 bs∗ 对应的平均值即为最终的 b∗=1/s∑i=1sbs∗

这样最终的分类超平面和决策函数为:

四,核函数总结:

核函数的本质就是,将低维的样本特征映射到高维,使原本线性不可分的样本,线性可分可以继续的使用SVM模型。核函数的价值在于它虽然也是将特征进行从低维到高维的转换,但核函数好在它在低维上进行计算,而将实质上的分类效果(利用了内积)表现在了高维上,这样避免了直接在高维空间中的复杂计算,真正解决了SVM线性不可分的问题。

参考文献:

支持向量机SVM核函数研究 - 知乎

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

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

相关文章

ES6 Reflect

前言 此文总结了Reflect对象的部分语法,对比了与Object方法的差异性,希望对你有用。 语法 Reflect与Math类似,都是JavaScript内置对象,提供了工具方法。 typeof Reflect // objectget Reflect.get(target, property, receiver) …

冷热电气多能互补的微能源网鲁棒优化调度(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Linux——VIM编辑器(详细)

目录 一、基本简介 1.1 基本简介 1.2 我们怎么使用终端进入到桌面? 1.3 模式间转换 二、一般模式 2.1 操作指令 2.2 什么情况下是一般模式呢? 2.3 怎么进行光标的快速移动? 2.4 复制粘贴操作 2.5 删除操作 三、编辑模式 四、命令行…

Java项目:SSM教师师资管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目包含管理员与教师两种角色; 管理员角色包含以下功能: 管理员角色登录,教师管理,教师授课管理,审批教师的项目开…

【前沿技术RPA】 一文了解UiPath 文件与文件夹自动化功能

🐋作者简介:博主是一位.Net开发者,同时也是RPA和低代码平台的践行者。 🐬个人主页:会敲键盘的肘子 🐰系列专栏:UiPath 🦀专栏简介:UiPath在传统的RPA(Robotic…

[YOLOv7/YOLOv5系列改进NO.40]融入适配GPU的轻量级 G-GhostNet

文章目录前言一、解决问题二、基本原理三、​添加方法四、总结前言 作为当前先进的深度学习目标检测算法YOLOv7,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列…

头歌计算机组成原理汉字字库存储芯片扩展实验

全部答案点击底部 <?xml version"1.0" encoding"UTF-8" standalone"no"?> <project source"2.15.0.2.exe" version"1.0"> This file is intended to be loaded by Logisim http://logisim.altervista.org &…

如何在 Spring 或 Spring Boot 中使用键集分页

介绍 在本文中&#xff0c;我将向您展示如何在 Spring 或 Spring Boot 中使用键集分页技术。 虽然 Spring DataPagingAndSortingRepository提供的基于偏移量的默认分页在许多情况下很有用&#xff0c;但如果您必须迭代大型结果集&#xff0c;那么键集分页或查找方法技术可以提…

使用awk聚合和排序

用awk聚合和排序 文章目录用awk聚合和排序一、需求1.1 源文件格式1.2 需求二、用awk实现2.1 写法2.2 效果一、需求 1.1 源文件格式 一份csv文件&#xff08;默认逗号分隔&#xff09;一共五列&#xff0c;其中一列是用户名文件名&#xff1a;日志文件.csv type日记idusernam…

Android使用ListView,DrawerLayout实现简单注册功能界面

1.效果展示 2.实现 1.主页面activity_main.xml 主页面就是简单的几个TextView和EditText以及单选框组成的一个注册表单。 <?xml version"1.0" encoding"utf-8"?> <LinearLayoutxmlns:android"http://schemas.android.com/apk/res/andro…

[附源码]JAVA毕业设计口腔医院网站(系统+LW)

[附源码]JAVA毕业设计口腔医院网站&#xff08;系统LW&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&…

java通过lock实现同步锁

这里我们是一个卖票的演示代码 其实 同步锁 远不止一个synchronized 它本身有一个 加上锁 和释放锁的过程 为了 让我们更好的理解这个过程 JDK5之后 为我们提供了一个单独的锁工具 lock lock是一个接口 他提供了 synchronized 方法 和 更广泛的语句操作 lock方法 获得锁 unl…

【C语言】函数传参与指针理解

文章目录指针与变量注意指针的本质指针和变量的用法函数与传参传变量与传指针的区别传变量与传指针的时机指针与变量 大三&#xff0c;但是C语言。目标&#xff1a;高屋建瓴&#xff0c;深入浅出。 注意 所有人在最开始学C语言的时候&#xff0c;老师都会和你说指针指向一个…

[附源码]JAVA毕业设计课程答疑系统(系统+LW)

[附源码]JAVA毕业设计课程答疑系统&#xff08;系统LW&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&…

LLM.int8()——自适应混合精度量化方法

Paper地址&#xff1a;https://arxiv.org/abs/2208.07339 GitHub链接&#xff1a;GitHub - TimDettmers/bitsandbytes: 8-bit CUDA functions for PyTorch 随着模型参数规模的增加&#xff0c;大模型&#xff08;如GPT-3&#xff0c;OPT-175B等NLP稠密大模型&#xff09;的实际…

某验三代滑块流程分析

一、请求流程 slide-float.html 首先请求了个HTML文本jquery.js 拿回一个jQuery的jsgt.js 拿回gt.js 像是某验的网址信息register-slide?t1669432270469 一个请求、携带时间戳。返回challenge gt等信息gettype.php 获取验证码类型 携带gtfullpage.9.1.0.js 滑块js代码get.php …

【Java开发】 Spring 08 :访问 Web 资源( 借助 RestTemplate 或 WebClient )

web 资源就是运行在服务器上的资源&#xff0c;比如放到 web 下的页面 js 文件、图片、css等&#xff0c;web资源分为静态web资源和动态web资源两类&#xff0c;接下来访问的就是动态资源&#xff08;页面返回的数据是动态的&#xff0c;由后端程序产生&#xff09;&#xff0…

Rust权威指南之编写自动化测试

一. 简述 虽然Rust的类型系统为我们提供了相当多的安全保障&#xff0c;但是还是不足以防止所有的错误。因此&#xff0c;Rust在语言层面内置了编写测试代码、执行自动化测试任务的功能。 测试是一门复杂的技术&#xff0c;本章覆盖关于如何编写优秀测试的每一个细节&#xf…

[LeetCode周赛复盘] 第 322 场周赛20221204

[LeetCode周赛复盘] 第 322 场周赛20221204 一、本周周赛总结二、 [Easy] 6253. 回环句1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6254. 划分技能点相等的团队1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6255. 两个城市间路径的最小分数1. 题目描述2. 思路分析3. 代…

细粒度图像分类论文研读-2017

文章目录Higher-order Integration of Hierarchical Convolutional Activations for Fine-grained Visual Categorization(by end-to-end feature encoding)AbstractIntroduction关于核关于多尺度Kernelized convolutional activationsMatching kernel and polynomial predicto…