热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

一起学西瓜书06支持向量机(基本概念+间隔)

一起学西瓜书06支持向量机这部分内容是我以前接触比较少的,接下来将从线性分类器开始介绍支持向量机SVM推荐一个支持向量机的理解视频:支持向量机最清晰简单的解释一看就懂Maxim
一起学西瓜书06 支持向量机

这部分内容是我以前接触比较少的,接下来将从线性分类器开始介绍支持向量机SVM
推荐一个支持向量机的理解视频:支持向量机@最清晰简单的解释@一看就懂

Maximal margin classifier

对于一组一维的数据,线性分类器的目的就是找到一个超平面(阈值),也就是图中橙色的那条线把它们分成2类
而我们之后的数据如果落在阈值左边就判断它属于红色那类的,如果落在阈值右边就属于绿色那类
在这里插入图片描述
在最普通的情况下,我们所选择的阈值的是红和绿的两个边界点的中间位置
而边界点到阈值的举例之和,也就是绿色的虚线和红色的虚线之和称为margin,可能在一维的数据里看的不太清楚,但是在二维空间中,我们就可以很清晰的看到margin的大小,而Maximal margin classifier 顾名思义就是margin取最大值的时候来确定阈值的方法
在这里插入图片描述
当然这个方法对异常值过于敏感,如下图所示,异常值会让它的分类不够准确在这里插入图片描述
为了解决Maximal margin classifier的异常值敏感问题,Soft Margin就随之诞生了

Soft Margin

Soft Margin允许存在异常点,如下图,是它在异常点存在时的选择
在这里插入图片描述
那么它是如何在异常点存在的时候决定选择哪两个点作为衡量阈值标准的呢?
视频里说到它使用了交叉验证的方法(后文会介绍)来衡量如何确定两个点作为边界点
在这里插入图片描述
而在这两个确定下来的点中间的那些数据就称为Support Vectors 支持向量在这里插入图片描述
下面展示不同维度的数据

一维数据

在这里插入图片描述

三维数据

在这里插入图片描述

局限性

我们可以看到下面的这组数据如果用上面的办法是无法得到一个较好的阈值的,这个时候便需要引入SVM的概念
在这里插入图片描述
下面就进入SVM的介绍

Support Vector Machines 支持向量机

对上面的数据,我们可以将它升维到二维,用二维的手段处理一维的数据,如下图
在这里插入图片描述
就很容易的可以找到我们想要的那个超平面在这里插入图片描述

1.间隔与支持向量

书上的D={(x1,y1),...}D=\{(x_1,y_1),...\}D={(x1,y1),...}
首先,这里y的取值要么是1要么是-1,也就是一个二分类的问题
x1x_1x1代表的一个向量(x11,x12,x13…)它不是一个数

划分超平面

这段话该如何理解呢,他将我们所求的那个阈值(超平面)转化为一个通用的表达式,下面我举几个例子来说明
在这里插入图片描述
对于一维的数据来说,阈值其实就是x = 一个值
对于二维的数据来说,阈值是一条直线
由下图我们可以看出,阈值(划分超平面)可以由法向量w和b来决定

在这里插入图片描述

距离公式

在这里插入图片描述
在这里插入图片描述

间隔

根据上面的公式,我们已经确认出了划分超平面,在此基础上,下图给出了间隔的定义
在这里插入图片描述
我们首先看图,很好看出,对于直线上方的点,我们都把它划分为正类,对直线下方的点,我们都把它分为负类,而我们认为距离划分超平面直线最近的那两个点为 +1/-1 也就是图中圈出的三个点,其他的样本点都大于1或者小于-1
而间隔的定义就是两个临界点到划分超平面的距离
在这里插入图片描述
距离公式已经给出了,而临界点(也就是距离超平面最近的训练样本点).它们的wx+b=1/-1,所以我们很好看出,间隔的值就是两倍的r
r=2∣∣w∣∣r = \frac{2}{||w||}r=w2
我们的目的是使间隔最大,间隔刚刚我们已经求了是r=2∣∣w∣∣r = \frac{2}{||w||}r=w2,下图中将其倒数了一下,就变成了求r=∣∣w∣∣2r = \frac{||w||}{2}r=2w的最小值
公式中满足的条件是
在这里插入图片描述
很显然,因为yi要么是1要么是-1,而wx+b的最小值是-1,最大值是1,所以这个条件的意思就是符合之前图中的超平面划分
在这里插入图片描述


推荐阅读
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 几何画板展示电场线与等势面的交互关系
    几何画板是一款功能强大的物理教学软件,具备丰富的绘图和度量工具。它不仅能够模拟物理实验过程,还能通过定量分析揭示物理现象背后的规律,尤其适用于难以在实际实验中展示的内容。本文将介绍如何使用几何画板演示电场线与等势面之间的关系。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细探讨了在Android 8.0设备上使用ChinaCock的TCCBarcodeScanner进行扫码时出现的应用闪退问题,并提供了解决方案。通过调整配置文件,可以有效避免这一问题。 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • MongoDB集群配置:副本集与分片详解
    本文详细介绍了如何在MongoDB中配置副本集(Replica Sets)和分片(Sharding),并提供了具体的步骤和命令,帮助读者理解并实现高可用性和水平扩展的MongoDB集群。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 本文详细介绍了 Apache Jena 库中的 Txn.executeWrite 方法,通过多个实际代码示例展示了其在不同场景下的应用,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 高效解决应用崩溃问题!友盟新版错误分析工具全面升级
    友盟推出的最新版错误分析工具,专为移动开发者设计,提供强大的Crash收集与分析功能。该工具能够实时监控App运行状态,快速发现并修复错误,显著提升应用的稳定性和用户体验。 ... [详细]
author-avatar
蘑菇-2166_315
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有