机器学习-SVM(支持向量机)

news2024/10/6 10:42:55

推荐课程:【机器学习实战】第5期 支持向量机 |数据分析|机器学习|算法|菊安酱_哔哩哔哩_bilibili

赞美菊神ヾ ( ゜ⅴ゜)ノ 

一、什么是支持向量机?

支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。

  

1.1 举个例子 

在桌子上似乎有规律地放了两种颜色的球,要求你用一根棍子分离开他们,并且尽量再放更多的球之后,仍然适用。

  

SVM就是试图把棍放在最佳位置,好让在棍的两边有尽可能大的间隙(这被认为是最佳求解)。 

  

并且,现在即使再放入更多的球,棍子仍然是一个很好的分界线。

  

但是,现在增加难度,如果将球散乱地放在桌子上,又该怎样进行划分呢?很明显,此时在二维平面中,这变成了一个线性不可分的问题,我们没有方法再用一根棍子将这些球分开了,那么怎么解决这样一个问题呢?

  

解决方法也很简单,我们可以使用一个核函数,将二维平面中的 '小球' 投影到三维空间,也许就可以三维空间中,有可能找到这样一个平面将其分隔开来(可以想象一下,用力拍向桌子,然后桌子上的球就被震到空中,瞬间抓起一张纸,插到两种球的中间。)

(话说,如果3维空间依旧找不到这样一个平面呢?没关系,我继续投四维呀╮(๑•́ ₃•̀๑)╭,总能找到一个维度解决线性不可分的问题。)

可以通过视频,更为直观地感受一下这个过程:支持向量机 SVM在线性不可分情况下进行分类 可视化直观展示 高维空间映射_哔哩哔哩_bilibili

  

而在二维平面的角度看这些球,这些球像是被一条曲线分开了。

更为规范的,我们把这些球叫做「data」,把棍子叫做「classififier」, 最大间隙 trick 叫做「optimization」,拍桌子叫做「kernelling」, 那张纸叫做「hyperplane」。

    

1.2 概述一下

当一个分类问题,数据是线性可分(linearly separable)的,也就是用一根棍就可以将两种小球分开的时候,我们只要将棍的位置放在让小球距离棍的距离最大化的位置即可,寻找这个最大间隔的过程,就叫做最优化。但是,一般的数据是线性不可分的,也就是找不到一个棍将两种小球很好的类。这个时候,我们就需要使用核函数 (kernel)将小球投影到多维空间(想象一下,将小球拍飞到空中,瞬间抓起一张纸,插到两种球的中间),而在多维空间中切分小球的平面,就是超平面(hyperplane)。如果数据集是N维的,那么超平面就是N-1维的

Q:什么是支持向量?

A:把一个数据集正确分开的超平面可能有多个,而那个具有“最大间隔”的超平面就是SVM要寻找的最优解。而这个真正的最优解对应的两侧虚线所穿过的样本点,就是SVM中的支持样本点,称为“支持向量(support vector)”。支持向量到超平面的距离被称为间隔(margin)。 

    

二、线性支持向量机

1)目标函数

2)优化对象:超平面方程。

 

2.1 超平面方程

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

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

相关文章

python学习——对大疆御3E拍摄照片赋予坐标系并旋转

对大疆御3E拍摄照片赋予坐标系并旋转 问题描述 进行植被覆盖度验证时,需采集验证点的植被覆盖情况,但无人机拍摄的照片缺少坐标系,无法进行对比验证。 解决方案 赋予照片坐标系 在gdal中对影像赋予坐标系主要参数为仿射六参数&#xff1…

深度解析TCP协议:特点、应用场景及市面上常见软件案例

目录 引言 TCP的特点 TCP的应用场景 市面上使用TCP的软件案例 引言 TCP(Transmission Control Protocol)是计算机网络中一种基于连接的、可靠的传输层协议。它具有一系列独特的特点,适用于广泛的应用场景。本文将深入研究TCP的特点、应用…

VSCode SSH登录服务器 提示XHR failed

设置->搜索“代理” 把图中的√去掉 重启 即可

全面覆盖,无所不包:C++ 编程必备指南 | 开源日报 No.99

fffaraz/awesome-cpp Stars: 51.0k License: MIT 这个项目是一个精心策划的 C(或者 C) 框架、库、资源和其他有趣东西的列表。它收集了各种标准库,如 STL 容器和算法;不同领域的框架,比如人工智能、异步事件循环等;以及一系列功…

【Linux】cat 命令使用

cat 命令 cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。 可以使用cat连接多个文件、创建新文件、将内容附加到现有文件、查看文件内容以及重定向终端或文件中的输出。 cat可用于在不同选项的帮助下格式化文件的输出…

应用商店ASO优化提升APP排名的6大策略

ASO优化基操你了解多少? ASO优化对于APP推广运营来说是必不可少的一个方法。在当今竞争激烈的应用程序市场中,ASO(App Store Optimization)优化已成为提升APP排名和曝光度的关键因素。 一、ASO优化的重要性 ASO优化有助于提高AP…

如何为 3D 模型制作纹理的最佳方法

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 您可以通过不同的方式为 3D 模型创建 3D 纹理。下面我们将介绍为 3D …

UML图的各种类型以及软件设计师考试考察的方式

UML建模 前言 常见的UML的类型 UML 比前两题是更难的(略高,但是学会就可以了。前两题是:数据流图,数据库的设计),因为UML图有很多类型:用例图,类图与对象图,顺序图&…

免费网页抓取工具大全【附下载和工具使用教程】

在当今信息爆炸的时代,获取准确而丰富的数据对于企业决策和个人研究至关重要。而网页抓取工具作为一种高效获取互联网数据的方式,正逐渐成为大家解决数据需求的得力助手。本文将深入探讨网页抓取工具的种类,并为大家提供简单实用的页面采集教…

springboot3 liquibase SQL执行失败自动回滚,及自动打tag

一&#xff1a; 自动执行回滚&#xff0c; 已执行成功的忽略&#xff0c;新sql执行失败则执行新sql文件中的回滚sql pom.xml <dependency> <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> <version>4.25.0&…

2023.2版idea安装教程,现在jdk8已经过去式了,不同idea支持的jdk不同。升级jdk后idea也要随之升级

下载idea2023.2版本&#xff0c;下载之前需要删除之前的版本&#xff0c;一定要删除干净&#xff0c;删除程序要勾选那两个delete 下载路径&#xff1a;其他版本 - IntelliJ IDEA (jetbrains.com.cn) 选择2023.2版本 下载后进入安装程序&#xff0c;选择安装目录&#xff0c;然…

关于我自己搭建了一个完整的 网站 - 从零开始(服务器购买选型,域名备案,wordpress 主题,各种支付插件)

这篇博客主要介绍是如何在华为云上搭建一个 WordPress 网站。我将详细介绍从购买服务器到推广网站的整个过程&#xff0c;包括域名主机的备案。无论您是技术新手还是有一定经验的开发者&#xff0c;这篇文章都能为您提供有价值的指导。 第一步&#xff1a;选择云服务器 我选择…

计算一组x和y(一维数组)

输入30个整数a1,a2,a3,…,a30&#xff0c;计算所有的x与y。已知&#xff1a; 输入格式: 30个整数 输出格式: 计算得到的x1, x2,.......,x10 计算得到的y1, y2,.......,y10 所有输出精确到小数点后3位。 注意&#xff1a; 1、输出的每个“”左右各有一个空格&#xff0c;输出…

TrustZone之Translation Look aside Buffer(TLB)

TLB缓存最近使用的地址转换。处理器具有多个独立的translation regimes。TLB记录了一个条目表示的translation regime&#xff0c;包括安全状态。虽然TLBs的结构是由实现定义的&#xff0c;但以下图表显示了一个示例&#xff1a; 当软件在EL1或EL2中发出TLB失效操作&#xff08…

亚马逊运营推荐数仓项目实战

亚马逊运营推荐数仓项目实战 项目技术栈 HadoopSpark (Python)Scala SparkSQLSparkStreaming MongoDB Redis Kafka Flume ( SpringMVC vue) 1 项目介绍 1.1 项目系统架构 项目以推荐系统建设领域知名的经过修改过的中文亚马逊电商数据集作为依托&#xff0c;以某电商…

设置网络发现,合理利用共享,让自己在准确的地方出现或隐藏

本文介绍如何在Windows 11中打开或关闭网络发现。它还解释了网络发现的用途以及你可能想使用&#xff08;或不使用&#xff09;它的时间。 如何在Windows 11中切换网络发现 可以在“设置”中打开和关闭网络发现。 1、使用WINI快捷方式打开“设置”或从任务栏中搜索。 2、选…

【数据结构】——队列实现二叉树的功能

前言&#xff1a;二叉树的实现方式多种多样&#xff0c;有数组实现满二叉树&#xff0c;有链表实现完全二叉树&#xff0c;今天我们就用队列来实现二叉树。 创建二叉树&#xff1a; typedef int BTDataType; typedef struct BinaryTreeNode {BTDataType data;struct BinaryTre…

长城之上的无人机:文化遗产的守护者

长城之上的无人机&#xff1a;文化遗产的守护者 在八达岭长城景区&#xff0c;两架无人机分别部署在了长城的南、北楼两点。根据当前的保护焦点和需求&#xff0c;制定了5条无人机综合巡查航线&#xff0c;以确保长城景区的所有开放区域都能得到有效监管。每天&#xff0c;无人…

【C++】:搜索二叉树

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关多态的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数据结…

xml文本转Java对象

Java对象转String public static String toData(Object object) throws Exception {JAXBContext jc JAXBContext.newInstance(object.getClass());Marshaller m jc.createMarshaller();StringWriter output new StringWriter(2048);m.marshal(object, output);String data …