机器学习常识 12: SVM

news2024/11/25 14:30:48

摘要: 支持向量机 (support vector machine, SVM) 有很多闪光点, 理论方面有 VC 维的支撑, 技术上有核函数将线性不可分变成线性可分, 实践上是小样本学习效果最好的算法.

1. 线性分类器

如图 1 所示, 基础的 SVM 仍然是一个线性二分类器, 这一点与 logistic 回归一致.

图 1. 基本的 SVM.

图 1 有 3 个分割线, 分别对应于一个分类器.

  • H 1 H_1 H1 不能把正负样本分开, 拟合能力弱;
  • H 2 H_2 H2 可以把正负样本分开 (拟合能力强), 但它与最近的正负样本距离小;
  • H 2 H_2 H2 可以把正负样本分开, 而且与最近的正负样本距离达到了最大, 因此它有良好的泛化能力, 即对于新样本的预测能力, 参见 机器学习常识 4: 分类问题的训练与测试.

2. 基本方案

使用图 2 来说明.

图 2. 方案图例.
  • 输入: 数据矩阵 X = ( x i j ) n × m ∈ R n × m \mathbf{X} = (x_{ij})_{n \times m} \in \mathbb{R}^{n \times m} X=(xij)n×mRn×m, 二分类标签向量 Y = ( y i ) n × 1 ∈ { − 1 , + 1 } n \mathbf{Y} = (y_i)_{n \times 1} \in \{-1, +1\}^n Y=(yi)n×1{1,+1}n.
  • 输出: m m m 维空间上的一个超平面 w x + b = 0 \mathbf{wx} + b = 0 wx+b=0, 其中 w , x ∈ R m \mathbf{w}, \mathbf{x} \in \mathbb{R}^m w,xRm.
  • 优化目标:
    arg ⁡ max ⁡ w , b 1 ∥ w ∥ . (1) \arg\max_{\mathbf{w}, b} \frac{1}{\|\mathbf{w}\|}. \tag{1} argw,bmaxw1.(1)
  • 约束条件:
    y i ( w T ϕ ( x i ) + b ) ≥ 1. (2) y_i(\mathbf{w}^\mathsf{T} \phi(\mathbf{x_i}) + b) \geq 1. \tag{2} yi(wTϕ(xi)+b)1.(2)

其中:

  • 标签的取值范围为 { − 1 , + 1 } \{-1, +1\} {1,+1}, 和 logistic 回归的 [ 0 , 1 ] [0, 1] [0,1] 不同. 这是为了表达相应的式子方便;
  • 优化目标是最小化实线到虚线的间隔;
  • 约束条件是每个样本点被正确分类 (为正数), 且到实线的加权距离不小于 1.

图 2 中:

  • 实线对应的是线性分类器, 即分割超平面;
  • 虚线上的点被称为支持向量 (support vector), 也就是关键样本的意思, 因为样本在空间用向量表示;
  • 支持向量之外的样本, 最终没有为分类器作出贡献. 这是与 logistic 回归一个本质的区别.

3. 核函数

用核函数将低维空间的数据映射到高维空间, 这样, 以前线性不可分的数据就变得线性可分. 这是一个神奇的想法, 因为机器学习很多时候致力于将高维数据降为低维 (如 PCA, 这个我们后面说), 而 SVM 反其道而行的.

图 3. 高斯核的作用.

图 3 给出了一个例子. 原始数据点是线性不可分的 (即二维平面上的任意直线都不可能把两种类别的数据点分开). 但使用高斯核将数据映射到三维就可以做到用二维平面分割. 想像下某人脸上有痘痘, 如果脸部看作一个平面, 则去掉痘痘不可避免需要画一个圈, 它不是线性的. 现在逮住痘痘的中间往外面拉, 将脸部拉成一个曲面, 这时候, 用一把手术刀进行切割 (对应于一个平面), 就可以把痘痘切下来啦. 这真是一个不忍直视的画面 😦.
图 4 给出了更直观的画面.

图 4. 二维到三维图示.

还有很多核函数. 甚至有人将核技巧弄出来之后, 脱离了 SVM 进行使用. 这是 2000 年前后的研究热点.

4. 软间隔

有时候某些正负样本实在无法从对方阵营里面分出来, 即 (2) 式所表达的约束条件无法得到满足, 就可以使用软间隔. 具体招数就不在这里描述啦.

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

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

相关文章

MATLAB 之 隐函数绘图、图形修饰处理、图像处理与动画制作和交互式绘图工具

这里写目录标题 一、隐函数绘图1. 隐函数二维绘图3. 隐函数三维绘图 二、图形修饰处理1. 视点处理2. 色彩处理2.1 颜色的向量表示2.2 色图2.3 三维曲面图形的着色 3. 图形的裁剪处理 三、图像处理与动画制作1. 图像处理1.1 图像的读/写1.2 图像的显示 2. 动画制作2.1 制作逐帧动…

chatgpt赋能python:Python交流App:提高Python社区交流效率

Python 交流 App: 提高 Python 社区交流效率 Python 是当今流行程度最高的编程语言之一,有着广泛的应用场景和庞大的社区。 作为 Python 工程师,经常有各种问题需要得到解决,同时也希望能与同行进行交流、分享和学习。这时,一款高…

Linux——Centos7进入单用户模式修改密码

本篇文章适用于经常忘记自己root用户密码的初学者!!!,会进入单用户模式修改root密码即可。 系统启动进入到如下界面后输入字母“e”; 2.可以看到进入到如下界面; 3.一直下翻到图中圈起来的这部分; 4.在Lin…

excel 获取指定字符前后的字符串

目录 excel 获取指定字符前后的字符串 1.截取指定字符前的字符串 2.截取指定字符后的字符串 excel 获取指定字符前后的字符串 1.截取指定字符前的字符串 1.1LEFT FIND find:返回一个字符串在另一个字符串中出现的起始位置。 (区分大小写,且不允许使用通配符) …

综合指挥调度系统行业分类汇总

综合指挥调度系统是将语音、视频、GIS进行高度融合,构建“平战结合”的指挥调度模式,既满足平时的应急培训、日常通信、会议会商等要求,也能够应对战时的应急指挥、应急救援、应急决策等需求,达到统一指挥、联合行动的目的&#x…

ArcGIS中实现土地利用转移矩阵

土地利用转移矩阵,就是根据同一地区不同时相的土地覆盖现状的变化关系,求得一个二维矩阵。通过对得到的转移矩阵进行分析,能够得到2个时相,不同的地类之间相互转化的情况,它描述了不同的土地利用的类型在不…

新华三的网络脉动:为AI泵血,向产业奔流

AI大模型作为最新的通用技术,今年以来,发展如火如荼。也有很多从业者和专家注意到,AI模型训练和应用过程中,需要优先考虑网络的升级与适配。 如果说数据中心、算力集群是AI的“心脏”,那么网络就犹如AI的“动脉”&…

《嵌入式存储器架构、电路与应用》----学习记录(一)

前言 本书系统介绍嵌入式存储器在架构、电路和应用方面的技术进展,包括SRAM、eDRAM、eFlash和近几年兴起的阻变型存储器,并着重介绍我国研究人员在嵌入式存储器方面的研究工作。 第1章 绪论 1.1 什么是嵌入式存储器 存储器(Memory)是现代信息技术中用…

C语言 出现 “从属语句不能是声明”的情况和解决办法

C 出现 “从属语句不能是声明”的情况和解决办法 发blog的时候是六一儿童节!2023.6.1,过期的小朋友们都节日快乐! 笔者在遇到这个bug的时候的情况是这样的 在查阅了网上的一些资料后也没有发现对应的解决办法,最后发现是一个很基…

chatgpt赋能python:Python中交换变量值的几种方法

Python中交换变量值的几种方法 交换变量值是编程语言中的常见操作,也是Python中常见的操作之一。本文将介绍几种不同的方法来在Python中交换变量的值。 方法一:使用中间变量 最简单的交换变量值的方法之一是使用中间变量,如下所示&#xf…

chatgpt赋能python:Python交流群:分享经验、解决问题、结交朋友

Python 交流群:分享经验、解决问题、结交朋友 Python 是一种高级编程语言,被广泛使用于数据科学、机器学习、人工智能、网络开发、游戏开发等众多领域。作为一个有着10年 Python 编程经验的工程师,我深感 Python 社区的活力和创新力。其中&a…

亿发软件:生产制造供应链管理系统,建设中小型制造企业信息化

在中小型制造企业领域,高效的供应链管理是成功的关键。然而,中小企业所面临的有限的资源和市场需求,需要借助信息化建设,可以提升生产流程,优化供应链管理。亿发软件供应链信息化管理解决方案,优化中小企业…

前后端分离开发模式解决之道

你有没有遇到过: 前端代码刚写完,后端的接口又变了。接口文档永远都是不对的。测试工作永远只能临近上线才能开始。 为什么接口会频繁变动? 设计之初没有想好。 这需要提高需求的理解能力和接口设计能力。 变动的成本较低。 德国有句谚语…

【LeetCode】318. 最大单词长度乘积

318. 最大单词长度乘积(中等) 方法一 思路 这道题有两个要求: length(words[i]) * length(words[j]) 的最大值;这两个单词不含有公共字母。 首先我们考虑第一个条件:长度乘积的最大值。 是否需要将 words 中的单词按…

Zabbix与麒麟软件完成产品兼容互认证!

信创生态 | Zabbix与麒麟兼容性互认证 上海宏时数据系统有限公司作为Zabbix大中华区总代理,其Zabbix技术服务能力得到国内众多客户肯定。 同时,根据国内用户使用场景的需求,宏时数据自主研发的“UMOP统一监控运维平台”,并已成功…

校园导航小程序 开发指引 与 注意事项

🔬 注意事项 大部分数据存储在utils.js中的,页面通过引入utils.js方式渲染数据 图标全部存储在项目images文件夹里,均下载自 iconfont网站(自行替换) 部分图片引用自 免费图床 - CDN加速图床(自行替换) …

四维轻云是如何实现地理空间数据云管理的?

四维轻云是一款轻量化的地理空间数据网页管理平台,支持倾斜模型(.osgb)、激光点云(.las)、正射影像(dom)和数字高程模型(dem)等多种地理空间数据的在线管理、编辑及分享,其他类型地理空间数据也将陆续上线。 目前,平台具有项目管理、数据上传…

linux大作业

第1题 自学第10章10.1 Java开发的内容,在Ubuntu系统上安装Eclipse,搭建Java开发环境,并进行测试。 1、在终端输⼊以下命令:sudo apt update 2、运行以下命令安装Java开发工具包(JDK): sudo apt …

论文浅尝 | 一个具有动态记忆和自我反思的自主代理

笔记整理:乔硕斐,浙江大学硕士,研究方向为自然语言处理 链接:https://arxiv.org/abs/2303.11366 动机 本文探究了让大规模语言模型具备自我反思能力的方法,让大模型模拟人类的思考方式,自己发现推理过程中的…

ant 1.0 tree更改图标

设置 class"treeClass" show-icon <a-treev-if"treeData.length > 0":show-line"true":tree-data"treeData"show-iconref"tree"class"treeClass":defaultExpandAll"true":replace-fields"re…