支持向量机

news/2024/12/2 16:32:15/

支持向量机原理和几何含义

对于线性可分数据集,支持向量机就是找到距离正负样本最远的超平面,相对于感知机,这个超平面是唯一的,泛化性能更好。

支持向量机的超平面位于两类样本的正中间,距离最近的正负样本的距离相同,能够容忍训练样本的局部扰动,感知机可以得到无穷多个划分超平面,但这些感知机的这些解有的距离正样本太近,未知的正样本很容易跨过超平面从而被误分类为负类;或者说这些解距离负样本太近,未知的负样本很容易垮过超平面从而被误分类正类。

当数据集线性可分时,使用硬间隔线性可分支持向量机;当数据集近似线性可分时,使用软间隔线性支持向量机;当数据集线性不可分时,使用软间隔和核函数构造非线性支持向量机

支持向量机要完成的任务

  1. 将几何上的定义转变为优化问题。例如会讲到超平面,法向量,函数间隔,几何间隔,间隔,点到超平面的距离,间隔最大化,支持向量,最大间隔,支持向量机的基本型(原问题)
  2. 优化问题的解法。例如会讲到拉格朗日函数,拉格朗日乘子,对偶函数,对偶问题,凸二次规划,SMO算法
  3. 核函数。原始空间映射到高维空间,内积计算,核矩阵,
  4. 软间隔。某些样本不满足约束,损失函数,松弛变量,软间隔支持向量机

问题

1. 为什么会引入软间隔支持向量机?

        因为硬间隔SVM对噪声比较敏感,当数据集中有噪声数据时,硬间隔SVM也可以把训练集正确分类,于是超平面会向一个类靠拢,支持向量机的间隔会缩小,从而产生了过拟合,导致其泛化能力变差。引入软间隔支持向量机,允许一部分样本“犯错”,使得模型复杂度降低,从而提升泛化能力。软间隔引入了一个松弛变量的概念,每个样本都有一个松弛变量,当松弛变量越大时说明样本的离群越远,松弛变量为0时,说明样本正确分类,没有离群。通过惩罚因子C控制对离群的惩罚,C越大,对离群的惩罚越大,此时的软间隔支持向量机朝着硬间隔支持向量机退化。C应该取合适的值,保证对噪声的容忍又能对大部分样本正确分类。

2. 为什么要将求解SVM的原问题转换为其对偶问题

  • 无论主问题是否是凸优化问题,对偶问题恒为凸优化问题,因此更加容易求解。原问题的时间复杂度和特征数量有关,对偶问题的时间复杂度和样本数有关,当特征数量高于样本数时,对偶问题求解更加高效。
  • 对偶问题自然地引入了和函数,将支持向量机推广到非线性分类问题。


http://www.ppmy.cn/news/188884.html

相关文章

面试总结-一面

项目 推送项目 提到工作流 ,就说没有用,通过一个待办消息表存储各节点的信息 介绍的时候没有说业务逻辑 用户发送客户端至前端控制器DispatcherServlet,DispatcherServlet接收到请求,调用handlerMapping处理器映射器&#xff1b…

C/C++线程绑核详解

在一些大型的工程或者特殊场景中,我们会听到绑核,绑核分为进程绑核和线程绑核。绑核的最终目的都是为了提高程序和性能或者可靠性。 一:为什么需要绑核 操作系统发展至今,已经能很好的平衡运行在操作系统上层的应用,兼…

【youcans的深度学习 10】PyTorch入门教程:张量的统计运算与比较运算

欢迎关注『youcans的深度学习』系列,持续更新中… 【youcans的深度学习 01】安装环境之 miniconda 【youcans的深度学习 02】PyTorch CPU版本安装与环境配置 【youcans的深度学习 03】PyTorch CPU版本安装与环境配置 【youcans的深度学习 04】PyTorch入门教程&#…

MongoDB 分片集的基本概念

什么是分片集? 副本集(ReplicaSet) 用于解决读请求扩展、高可用等问题。但随着业务场景的进一步增长,可能会出现以下问题: 存储容量超出单机磁盘容量;活跃数据集超出单机内存容量,很多读请求需…

笔记本电脑小米画报的壁纸位置

前言 恰好我用小米的笔记本,配着小米画报和windows11使用体验还是很不错的,壁纸的质量不俗,但我想作为图片化作素材的时候,我犯了难,它们这些小米画报使用的壁纸保存到哪里来? 1.自带的小米画报 这个位置…

超清电脑壁纸任你选

网上搜索到的壁纸,多数参差不齐,质量高的数量少,数量多的质量差! 专业提供壁纸的网站可以满足我们对壁纸的要求 高图网 分类很多。基本涵盖了众多用户们的日常需求。 图片质量,每一张都非常的高。 尤其是二次元的壁…

数据库期末复习(6)基于哈希和B+树的索引查询

免责声明 练习题没有答案 图片都是自己做的 仅供参考 可扩展哈希表和练习 笔记 数据库--- 索引结构 (2)--可扩展哈希表及增删查_旅僧的博客-CSDN博客 练习 首先默认 局部深度都是1 然后进行插入 之后分裂 按照课件上的操作进行。 线性哈希表

Linux编译器(gcc/g++)调试器gdb项目自动化构建工具(make/Makefile)版本管理git

Linux编译器-gcc/g&&调试器gdb&&项目自动化构建工具-make/Makefile&&版本管理git 🔆gcc/g的使用可执行文件的"生产"过程gcc如何完成预处理编译汇编链接 函数库函数库一般分为静态库和动态库两种静态C/C库的安装 gcc选项gcc选项记…