【机器学习】——支持向量机

news2024/11/15 11:03:35

文章目录

  • 支持向量机(Support Vector Machine, SVM)概述
  • SVM 的工作原理
  • 线性不可分数据:软间隔与核技巧
  • SVM 的数学形式
  • SVM 的优势
  • SVM 的缺点
  • SVM 的应用

支持向量机(Support Vector Machine, SVM)概述

支持向量机(SVM)是一种用于分类和回归分析的监督学习算法,尤其在分类问题上表现出色。SVM的核心思想是通过在特征空间中寻找一个最佳超平面,将不同类别的样本点尽可能地分开。这个超平面与训练数据点的距离最大化,从而使得分类器对未知数据具有良好的泛化能力。

SVM 的工作原理

1.线性可分数据:对于线性可分的数据,SVM通过寻找一个超平面将数据分为两类。假设有两类数据点(+1类和-1类),SVM的目标是找到一个能够最大化两个类别之间间隔的超平面。
**超平面:**在二维空间中,超平面就是一条直线;在三维空间中,它是一个平面;在更高维的空间中,它是一个超平面。数学上,超平面可以表示为
𝑤^𝑇*𝑥+𝑏=0其中 w 是法向量,定义了超平面的方向,b 是偏置,决定超平面与原点的距离。
**间隔(Margin):**超平面与数据点之间的最小距离称为间隔。SVM的目标是找到使这个间隔最大化的超平面。数据点距离超平面越远,分类结果越可靠。

2.支持向量:那些位于边界上的数据点称为支持向量。支持向量是定义超平面的关键数据点,因为它们决定了最优超平面的具体位置。移除其他数据点不会影响分类结果。

3.优化问题:SVM的核心是一个凸优化问题,其目标是最大化分类间隔。这个问题可以表示为一个约束优化问题:在这里插入图片描述

约束条件是:在这里插入图片描述
其中,𝑥𝑖是输入样本,𝑦𝑖 是类别标签(+1或-1),w 是权重向量,b 是偏置。

线性不可分数据:软间隔与核技巧

现实数据往往是线性不可分的,因此我们需要对SVM进行扩展。

1.软间隔(Soft Margin):当数据不可完全线性分离时,SVM引入松弛变量
𝜉𝑖 ,允许部分数据点出现在错误的边界一侧。这样,优化问题变为在最大化间隔的同时,允许一定的分类错误。目标函数更新为:
在这里插入图片描述
其中,𝐶 是一个超参数,控制分类错误和间隔大小之间的权衡。

核技巧(Kernel Trick):当数据在低维空间不可分时,可以通过核技巧将数据映射到高维空间,从而使其线性可分。SVM不需要显式地计算映射后的数据点坐标,而是通过核函数在低维空间中进行高维空间的运算。常见的核函数包括:

线性核:适用于线性可分的数据。
多项式核:处理多项式关系的数据。
高斯核(RBF核):适用于数据分布较复杂的情况。其形式为:
在这里插入图片描述
Sigmoid核:类似神经网络的激活函数,适合某些特定任务。

SVM 的数学形式

通过对偶问题的求解,SVM可以表达为拉格朗日乘子的形式。目标变成了求解下列拉格朗日函数:
在这里插入图片描述
其中,αi是拉格朗日乘子。优化后,最终分类器的决策函数可以表示为:
在这里插入图片描述
通过核函数 𝐾(𝑥𝑖,𝑥)SVM能够高效处理高维特征空间的计算。

SVM 的优势

强大的泛化能力:SVM通过最大化分类间隔,能有效提升对未知数据的预测准确性。
适应高维数据:SVM能够处理高维特征空间的数据,且在特征数远大于样本数时仍然有效。
使用核技巧:通过核函数,SVM可以处理非线性问题,而无需显式进行高维映射

SVM 的缺点

计算复杂度高:SVM的计算成本较高,尤其在样本数量很大时(因为其复杂度与样本数量呈平方关系)。
超参数调优困难:SVM的性能高度依赖于超参数(如核函数类型、𝐶 参数和 𝛾 参数等)的选择,通常需要交叉验证来确定最佳参数。
不适合大型数据集:在大规模数据集上,SVM的计算效率不如其他算法(如随机森林、神经网络等)。

SVM 的应用

SVM广泛应用于以下领域:

文本分类:如垃圾邮件检测、情感分析等。
图像识别:如人脸识别、手写数字识别等。
基因数据分类:用于生物信息学中的基因数据分析。
时间序列预测:尽管SVM本质上是一种分类算法,但在特定情况下也可用于回归任务。
总结
支持向量机是一种功能强大且理论坚实的分类算法,尤其在处理高维数据和小样本数据上有着显著的优势。SVM通过核函数扩展,能够处理复杂的非线性分类问题。虽然在处理大型数据集时效率较低,但通过合适的参数调整和核函数选择,SVM在许多应用场景中表现出色。

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

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

相关文章

JavaSE高级(3)——lombok、juint单元测试、断言

一、lombok的使用 默认jvm不解析第三方注解,需要手动开启 链式调用 二、juint单元测试 下载juint包 public class TestDemo {// 在每一个单元测试方法执行之前执行Beforepublic void before() {// 例如可以在before部分创建IO流System.out.println("befor…

荣耀手机AI搜索革新体验:一键总结归纳,让信息获取更高效

在信息爆炸的时代,我们每天都被海量的数据包围,如何快速、准确地获取所需信息成为了现代人的一大挑战。 近日,荣耀手机宣布其AI搜索功能正式上线,这一创新举措不仅为使用者带来了前所未有的便捷体验,更在智能手机领域…

栈:只允许在一端进行插入或删除操作的线性表

一、重要术语: 栈顶、栈底、空栈 二、线性表的基本操作 三、栈的相关操作: 把线性表中的list改成stack insert改成 push delete 改成 pop 总结:“后进先出” 四、顺序栈: 缺点:栈的大小不可变 1.定义: …

生物反馈治疗仪——精神患者治疗方案

生物反馈治疗仪标准型由治疗仪主机、专用软件、电极帽(含脑电放大器、电极线)套装、电源适配器与显示器配套使用,终身免费软件升级。 与显示配套使用,对儿童多动症有辅助治疗作用。建议每周训练2~3次,每次训…

CSS的表格属性

border属性 规定CSS表格边框。 table,td{border: 1px solid green;/*1px表示设置边框的大小,solid表示边框为实线,green表示边框的颜*/} border-collpapse属性 设置表格的边框是否被折叠成一个单一的边框或隔开。 table{border-collapse: collapse;} wi…

2024从传统到智能,AI做PPT软件的崛起之路

随着AI技术的飞速进步,它已悄然渗透至我们的工作与学习之中,不仅助力写作与绘画创作,就连PPT制作这一传统办公领域也迎来了AI的革新。我最近有幸探索了一系列AI驱动的PPT制作工具,亲身体验后深感震撼——合理利用这些ai做ppt工具&…

Windows11系统安装,配置CUDA、cuDNN等

已经有大几年没有安装过 Windows 的系统了,今天因为黑神话悟空,准备把 Win 11 装一台,玩玩游戏,顺便把一些 CUDA 相关的异步解析项目也安装到 Window 上。 下载安装 PE 因为十几年前,只会用 PE 装系统,所…

OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【Trace调测】

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 基本概念 Trace调测旨在帮助开发者获取内核的运行流程&#xff0c…

java项目之基于springboot框架开发的景区民宿预约系统的设计与实现(源码+文档)

项目简介 基于springboot框架开发的景区民宿预约系统的设计与实现的主要使用者分为: 管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,根据公告信息进行新增、修改、查询操作等等。。 &#x1…

英伟达NVIDIA数字IC后端笔试真题(ASIC Physical Design Engineer)

今天小编给大家分享下英伟达NVIDIA近两年数字IC后端笔试真题(ASIC Physical Design) 请使用OR门和INV反相器来搭建下面所示F逻辑表达式的电路图。 数字IC后端设计如何从零基础快速入门?(内附数字IC后端学习视频) 2024届IC秋招兆…

Vue3学习---【API】【从零开始的Vue3学习!!!】

目录 应用实例API app.mount() unmount() 常规API version nextTick() 状态选项API data() 注意: methods() 生命周期选项 beforeCreate()和Created() beforeCreate() created() beforeCreate()和created()的区别 beforeMount()和mounted() beforeM…

统信服务器操作系统【targetcli部署】

targetcli部署方案 文章目录 功能概述功能介绍1.安装targetcli2.targetcli语法及参数说明3.示例1. 配置2.访问功能概述 SCSI 即小型计算机系统接口(Small Computer System Interface;简写:SCSI) iSCSI,internet SCSI 网络磁盘 ,提供一对一的网络存储, 主机A 提供xx存储设…

数据包签名校验的Web安全测试实践

01 测试场景 在金融类的Web安全测试中,经常可以见到Web请求和响应数据包加密和签名保护,由于参数不可见,不能重放请求包,这类应用通常不能直接进行有效的安全测试,爬虫也爬不到数据。 02 解决思路 对于这类应用&am…

内存和管理

在 C 中,对象拷贝时编译器可能会进行一些优化,以提高程序的性能。 一种常见的优化是“返回值优化(Return Value Optimization,RVO)”和“具名返回值优化(Named Return Value Optimization,NRV…

记某学校小程序漏洞挖掘

前言: 遇到一个学校小程序的站点,只在前端登录口做了校验,后端没有任何校验,奇葩弱口令离谱进去,站点里面越权泄露敏感信息,接管账号等漏洞!!! 渗透思路 1.绕过前端 …

【学习笔记】TLS/SSL握手之Records

TLS / SSL会话是由记录(Records)所组成,有4种records HandshakeAlertChange Cipher SpecApplication DataHandshake和Alert Records被分为子类型(Subtypes): Handshake:Client HelloHandshake&a…

新手教学系列——Nginx静态文件访问优化,提升加载速度与用户体验

在构建现代Web应用时,静态文件的优化往往被初学者所忽略。静态文件,包括CSS样式、JavaScript脚本和图片等,是构建用户界面的关键元素。然而,随着应用规模的扩大,静态文件的数量和大小也随之增加,页面加载速度因此可能受到严重影响,进而影响用户体验。为了应对这种情况,…

01——springboot2基础知识

一、springboot的快速入门 springboot的作用:用来简化Spring应用的初始搭建以及开发过程 一、idea创建springboot工程——运行的步骤 选择Spring Initializr进行创建(现在基本上没有jdk1.8选了,都是jdk17了,需要的话&#xff0c…

使用四叉树碰撞的游戏 显微镜RPG

实现四叉树碰撞检测 //author bilibili 民用级脑的研发记录 // 开发环境 小熊猫c 2.25.1 raylib 版本 4.5 // 2024-7-14 // AABB 碰撞检测 在拖拽,绘制,放大缩小中 // 2024-7-20 // 直线改每帧打印一个点,生长的直线,直线炮弹 /…

Matplotlib-数据可视化详解

1. 数据可视化简介 可视化介绍 数据可视化是指直观展现数据,它是数据处理过程的一部分。 把数值绘制出来更方便比较。借助数据可视化,能更直观地理解数据,这是直接查看数据表做不到的 数据可视化有助于揭示数据中隐藏的模式,数据…