统计学习算法——支持向量机的基本概念

embedded/2025/1/20 19:52:48/

内容来自B站Up主:FunInCode https://www.bilibili.com/video/BV16T4y1y7qj、风中摇曳的小萝卜https://www.bilibili.com/video/BV1vv4y1g721,仅为个人学习所用。

支持向量机中的复杂的数学推导本文不涉及,仅为概念理解。

超平面

若数据在一条直线上(一维),可以找到一个点将两种数据进行区分。
在这里插入图片描述
若数据在一个平面内(二维),可以找到一条直线将两种数据区分。
在这里插入图片描述
若数据在三维立体空间(三维)内,可以找到一个平面将两种数据区分。
在这里插入图片描述
也就是说,在n维空间中,存在一个n-1维的超平面将数据区分开来。

下面的讨论只讨论二维的情况。

支持向量机

引入

在这里插入图片描述
在二维空间中存在一些数据点,如何找到一条较好的直线将两类数据进行区分?
在这里插入图片描述

相关概念

决策边界线与(硬)间隔

决策边界线是在分类问题中,将不同类别的数据分开的边界。如上图中的蓝色、粉红色、绿色线,将两类数据作了区分。上述问题实际上是如何找到一条最佳的决策边界线的问题。

看图像上的蓝色决策边界线,发现某些点距离蓝色线非常近。若有一个新的数据同样在蓝色线附近,造成错误分类的概率很大。在这里插入图片描述
看图像上的粉红色决策边界线,两类数据中所有点都与该线保持了一定的距离,将这个距离称为间隔(没有容错率,也成为硬间隔)。
在这里插入图片描述
在这里插入图片描述
间隔越大,说明两类数据的差异越大,区分起来就较容易。因此,将寻找最佳决策边界线问题可以转化为求解两类数据的最大间隔问题。当有新数据需要判断时,根据其所在的决策边界的相对位置,就可以将其分类。

支持向量

假设决策边界的超平面方程为 w 1 x 1 + w 2 x 2 + b = 0 w_1x_1+w_2x_2+b=0 w1x1+w2x2+b=0(直线方程的一般式),将其移动 ± c \pm{c} ±c个距离,就会来到对应的上下边界。上下边界会经过一些样本数据点,这些点距离决策边界点最近,他们决定了间隔距离(图中打⭐的数据点),将图中打⭐的数据点称为支持向量
在这里插入图片描述
方程同时除以 c c c,使用上标撇来代替系数,就得到了新的直线方程(粉红色部分)。方程式右侧是 ± 1 \pm1 ±1,将这两个方程式定义为正负超平面。
在这里插入图片描述
由于 w ′ w' w b ′ b' b只是符号,故替换为 w w w b b b,有
在这里插入图片描述

注意,正负超平面在图上是虚线(二维空间的超平面是一维的),不是平面区域。

损失因子

假设数据中出现了一个异常的点黄点,需不需要因为该异常点缩短间隔距离?
在这里插入图片描述
因此引入损失因子的概念。这些异常点有其对应的损失值。接下来,同时考虑间隔和损失的条件下,如何最大化的去画决策边界线。该条件下形成的间隔称为软间隔
在这里插入图片描述
软间隔有一定的容错率,目的是在间隔距离和错误大小之间找到一个平衡值。
在这里插入图片描述

升维转换

有这样一些点,在二维平面下不能通过一维的直线很好的分类
在这里插入图片描述
但是引入新的维度,在三维空间中,可以使用一个超平面(该超平面是平面)对其进行区分。
在这里插入图片描述
对原来的二维平面上的数据,常规的做法是引入一个新的维度进行计算。但这样会大大增加数据存储需求和计算需求。因此,使用核技巧,可以避免将数据送入高纬度空间进行计算,但是又能够获得同样的分类效果。

核函数与核技巧

核函数

核函数是在支持向量机算法中广泛使用的函数。用于将低维空间中的数据映射到高维空间,而无需显式地计算高维空间中的数据点坐标。其主要目的是在高维空间中找到一个更适合分类或回归任务的决策边界。

在机器学习的分类任务中,比如识别图片是猫还是狗。原始的图片数据(像颜色、形状等简单特征组成的低维空间)可能很难区分猫和狗的图片。
核函数可以把这些图片数据进行一种复杂的变换(想象成提取更复杂的特征,像动物的神态、动作风格等,就好像把数据变到高维空间),然后通过比较这些变换后的数据之间的相似度,来更好地判断一张图片是猫还是狗。如果一张图片经过核函数计算后,计算的结果与已知的猫的特征向量的相似度很高(例如,核函数值接近 1),并且与狗的特征向量的相似度较低,那么模型就会倾向于判断这张图片是猫,反之会判断为狗。

核技巧

核技巧是一种利用核函数来高效地解决机器学习问题的方法。在支持向量机(SVM)中,通常需要计算数据点在高维空间中的内积。核技巧通过直接使用核函数来计算这个内积,而不是先将数据点映射到高维空间再计算内积,从而避免了高维空间中复杂的计算。

核技巧依赖于核函数。核函数提供了在低维空间中计算高维空间内积的工具,而核技巧是利用这个工具来优化机器学习算法的计算过程。没有核函数,核技巧就无法实现其高效计算高维空间内积的功能;而核技巧则是核函数在机器学习算法中的具体应用方式,使得算法能够在不显式处理高维空间数据的情况下,利用高维空间的优势来提高性能。

向量内积与相似度之间的关系:
内积的几何定义是一个向量在另一个向量方向上的投影长度与另一个向量长度的乘积。如果两个向量的夹角越小,那么一个向量在另一个向量方向上的投影长度就越长,内积的值就越大。
例如,对于单位向量 a → \overrightarrow{a} a b → \overrightarrow{b} b ,当它们同向时,夹角为0度, a → × b → = ∣ a → ∣ × ∣ b → ∣ × cos ⁡ 0 = 1 \overrightarrow{a} \times \overrightarrow{b} = \left|\overrightarrow{a}\right| \times\left|\overrightarrow{b}\right|\times\cos0=1 a ×b = a × b ×cos0=1,此时内积最大,表示它们最相似;当夹角为 90 90 90度时,结果为0,表示它们垂直,不相似;当夹角为180度时,结果为-1,表示它们方向相反,也不相似。
因此,若核技巧计算的内积结果为接近于1,说明很相似;接近于0,说明不相似。


http://www.ppmy.cn/embedded/155568.html

相关文章

MySQL 数据操作语言 (DML)

MySQL 数据操作语言 (DML) 详细介绍及代码示例 一、引言 MySQL 是一种广泛使用的开源关系型数据库管理系统。数据操作语言 (DML) 是 SQL 的一个子集,主要用于对数据库中的数据进行插入、更新和删除操作。本文将详细介绍 MySQL 中的 DML 语句,并提供相应…

图论1-问题 B: 算法7-4,7-5:图的遍历——深度优先搜索

题目描述 深度优先搜索遍历类似于树的先根遍历,是树的先根遍历的推广。其过程为:假设初始状态是图中所有顶点未曾被访问,则深度优先搜索可以从图中的某个顶点v出发,访问此顶点,然后依次从v的未被访问的邻接点出发深度优…

SpringMVC 实战指南:打造高效 Web 应用的秘籍

第一章:三层架构和MVC 三层架构: 开发服务器端,一般基于两种形式,一种 C/S 架构程序,一种 B/S 架构程序使用 Java 语言基本上都是开发 B/S 架构的程序,B/S 架构又分成了三层架构三层架构: 表现…

thinkphp:实现压缩文件上传、解压、文件更名、压缩包删除功能,增加trycatch

代码 public function upload_firstsure() {try {// 检查是否有文件上传if (!isset($_FILES[file]) || !is_uploaded_file($_FILES[file][tmp_name])) {throw new \Exception(未接收到文件或文件上传失败);}// 获取上传的文件$uploaded_file $_FILES[file][tmp_name];$file_t…

基于Java+Sql Server实现的(GUI)学籍管理系统

基于Java实现的学籍管理系统 1.运行环境 1.1服务器要求 sql server 2008 及以上 1.2客户端要求 装有jvm 并与服务器在同一内网内,可ping通即可 2.功能说明 简化了数据库的使用者,即没有根据用户名自动切换布局的功能,目标使用者即为管…

【JVM】总结篇之GC性能优化案例

文章目录 性能优化案例1:调整堆大小提高服务的吞吐量初始配置优化配置 性能优化案例2:JVM优化之JIT优化即时编译对代码的优化逃逸分析编译器优化栈上分配同步省略标量替换 性能优化案例3:合理配置堆内存推荐配置如何计算老年代存活对象结论你…

HTML元素新视角:置换元素与非置换元素的区分与理解

在HTML的广阔天地里,元素是构建网页的基本单元。它们不仅承载着内容,还通过不同的属性与样式,塑造着网页的外观与功能。在众多HTML元素中,置换元素与非置换元素是一对重要的分类,它们各自独特的特性和行为模式&#xf…

后端开发流程学习笔记

后端开发流程学习笔记 术语前瞻 分类英文中文解释研发模式Waterfall Model瀑布模型瀑布模型(Waterfall Model)最早强调软件或系统开发应有完整之周期,且必须完整的经历周期之每一开发阶段,并系统化的考量分析与设计的技术、时间…