机器学习算法——支持向量机SVM1(超平面)

2023-11-05

支持向量机(Support Vector Machines, SVM)是一种基于统计学习理论的机器学习算法,是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器。

SVM学习的基本思想是求解能够正确划分训练数据集并且几何间隔最大的超平面。

那何为超平面?

很多讲解支持向量机的文章及视频一开始就讲超平面及其方程,对于没有基础的人来说很难理解。

首先先说明什么是超平面,超平面是一种数学上的概念,它是线上的一个点,也是平面上的一条直线,也是三维空间的一张平面。点、线、面都可以是超平面,但一般都不叫超平面,因为超平面是点、线、平面的推广,即大于三维的才叫超平面。

下面从点分割、线分割及面分割引出超平面表示方程。

· 点分割(一维划分)

下面是一个只有x轴的一维坐标轴,该轴同样存在圆点,x轴正方向和x轴反方向,且该轴上分布了很多点:

其中,红色的圆圈和绿色的菱形表示该坐标轴的样本点,那么如何在坐标轴上找一个分割点,来分割样本点,并要求此点的分割效果最好?寻找分割点很容易,但是如何去衡量该点就是最好的呢?

从坐标轴上看,要分的绿色的菱形和红色的圆圈在菱形坐标=-1和圆圈坐标=2就开始分了,那么在[-1,2]任取一点都可以将两个样本分开,要是找到最好的分割点,应该取两者中间的位置,即(-1+2)/2=0.5处。举个例子好理解,如果在村庄A和村庄B之间修公路,那么就需要选在两个村庄之间最靠近的那两户人间的中间修公路,这样既能保证两个村庄之间修一条公路而且不能干涉两村庄的生活。

·线分割(二维划分)

已知有5个红色的正例样本点x,坐标分别为D(0,1)、A(0,2)、E(1,1)、B(1,2)、C(2,2);3个绿色的负例样本点o,坐标为G(2,1)、H(3,1)、F(3,2)

 现在要在两类样本点之间找一条直线将两类样本点分开,要求划分效果最好,如何做呢?

借鉴点分割的思想,将问题转化为求两点之间的距离,根据两点距离公式:

\left | AB \right | =\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}

得出:

|AF|2=9、|BF|2=4、|CF|2=1、|DF|2=10、|EF|2=5、|AG|2=5、|BG|2=2、|CG|2=1、|DG|2=4、|EG|2=1、|AH|2=10、|BH|2=5、|CH|2=2、|DH|2=9、|EH|2=4

则两点之间最短的距离为1,相关的点为C(2,2)、E(1,1)、F(3,2)、G(2,1)。然后需要找到一条直线,使得样本点到此直线的距离相等且尽量最大。并且,由于要把两类样本分开,所以必然一部分样本点在直线上方,一部分在直线下方,根据直线的规律可知(斜率大于0),若(x0,y0)在直线上方,则满足AX0+By0+C>0,若(X0,y0)在直线下方,则满足Ax0+By0+C<0。具体步骤如下:

第一步,求点到直线的距离公式。

d=\left | \frac{Ax_0+By_0+C}{\sqrt{A^2+B^2}}\right |

第二步,求这条直线的具体方程了。

假设该方程为Ax+By+C=0,则得到如下联立公式:

\left | \frac{A+B+C}{\sqrt{A^2+B^2}}\right | = \left | \frac{3A+2B+C}{\sqrt{A^2+B^2}}\right | = \left | \frac{2A+2B+C}{\sqrt{A^2+B^2}}\right | = \left | \frac{2A+B+C}{\sqrt{A^2+B^2}}\right |

\left | \frac{A+B+C}{\sqrt{A^2+B^2}} \right | = \frac{A+B+C}{\sqrt{A^2+B^2}}>0  E、C点代入大于0(因为E和C为正例)

\left | \frac{3A+2B+C}{\sqrt{A^2+B^2}} \right |=-\frac{3A+2B+C}{\sqrt{A^2+B^2}}>0 F、G点带入小于0(因为F和G为负例)

这样推导得出

A+B=0, A+2C=0

由于A、B均不为0,所以可以赋值A=1,则B=-1,C=-0.5,最终求得直线x-y-0.5=0,即下面这条蓝色直线。

·超平面分割(n维分割)

从一维到二维已经理解如何划分样本点了 ,但在实际问题中,导致一个时间发生的因素不会是单一因素或简单的两个因素(一个因素对应一个维度或一个特征),对于多个特征的情况,在数学上的表示就不再是二维直角坐标系可以表达的,有可能是三维坐标系、四维坐标系或者更高维度坐标系。此时划分样本的不再是一维里面的一个点,二维里面的一条直线,有可能是三维里面的一个平面,四维里面的一个超平面,此时可以把之前将的二维方程过渡到更高维度:

二维空间里,一条直线的方程为:Ax+By+C=0

三维空间里,平面的方程为:Ax+By+Cz+D=0,注意,平面的法向量为n=(A,B,C)

依次推广,n维空间的超平面方面表示为Ax_1+Bx_2+Cx_3+Dx_4+.....+K=0

x1,x2,x3,...,xn表示n维坐标系,各个维度的系统可以用w1,w2,w3,...,wn来表示,所以n维空间里面的超平面方程写成如下格式:

w_1x_1+w_2x_2+....+w_nx_n+b=0

这里补充一个内积的概念:

设有n维向量

x=\begin{pmatrix} x_1\\ x_2\\ x_3\\ ...\\ x_n \end{pmatrix} y=\begin{pmatrix} y_1\\ y_2\\ y_3\\ ...\\ y_n \end{pmatrix}

[x,y]=x_1y_1+x_2y_2+....+x_ny_n=x^Ty,则称[x,y]为向量x与y的内积。

回归正题,将超平面方程可以变成[w,x]+b=0,即

W^T+b=0

所以,在样本空间中,任何一个超平面都可以用上述方程进行标识。其中,w=(w1,w2,...,wn)为法向量,b为位移项,也可以认为是截距,该超平面可以唯一的由此方程决定。并将该超平面记为(w,b)

参考:干货 | 从超平面到SVM(一)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习算法——支持向量机SVM1(超平面) 的相关文章

随机推荐

  • java 中int String类型转换

    int gt String int i 12345 String s 第一种方法 s i 第二种方法 s String valueOf i 这两种方法有什么区别呢 作用是不是一样的呢 是不是在任何下都能互换呢 String gt int s
  • 最好用的 8 款 React Datepicker 时间日期选择器测评推荐

    本文完整版 最好用的 8 款 React Datepicker 时间日期选择器测评推荐 React Date Time Picker 时间选择器 1 React Datepicker 经典中的经典 常规场景闭眼选它 2 Material U
  • keepalived启停脚本+配置文件

    keepalived启停脚本 bin bash keepalived 家目录 KP HOME xxx xxx keepalived keepalived 运行脚本路径 KP CMM HOME KP HOME sbin keepalived
  • MySQL运行SQL文件时(全面,改成time):check the manual that corresponds to your MySQL server version for the righ

    参考 Mysql错误 check the manual that corresponds to your MySQL server version for the right syntax 加 符号 修改有冲突的字段名 check the
  • Unity实现文本点击事件

    写在前面的一些碎碎念 好久没有来写文章了 主要是这一两年找了一份不错的工作 进入了舒适区 工作上的功能没有什么创新 都是以前做过的功能 这不 最近开发一款类似传奇的手游 需要实现聊天栏文字点击的效果 今天就来分享一下 直接上代码 组件用的是
  • 超详细

    Hello 大家好 我是starz 这是本系列的第二篇 概率基础 虽说是概率基础 但作为过渡 它开始以图为载体 这节的主要内容有 贝叶斯网络 三种结构 D 划分 贝叶斯球 马尔科夫毯 应用例子 总结 让我们开始吧 3 贝叶斯网络 概率图模型
  • React 从零开始学习(十四)—— 类组件 VS 函数式组件

    类组件 Class Components VS 函数式组件 Functional Components React 定义组件 类组件 Class Components 函数式组件 Functional Components React 定义
  • 铨顺宏RFID工具跟踪管理系统,快速完成工具查找

    一 应用背景 RFID工具管理系统 快速完成工具查找 在各行各业中工具其实是一项重要不可或缺的资产 相关作业人员每天都要与工具打交道 怎么快捷便利的领用 归还 查找和保护这些工具 对企业管理来说是非常重要的工作 基于RFID工具管理系统可以
  • LDAP--OpenLDAP

    首先说下标题LDAP OpenLDAP 他们并不是一个东西 LDAP Lightweight directory access protocol 轻量级目录访问协议 是美国密歇根大学推出的基于X 500标准的一种简化的目录访问协议 属于目录
  • Mac安装redis与后台启动

    使用 brew install redis Mac安装brew请参考 https blog csdn net weixin 35757704 article details 108880008 安装后的目录是 usr local Cella
  • 数据结构之单链表

    前言 在前面我们了解了线性表中的顺序表优点 顺序表可以将数放到一片连续的内存里且存储效率高 但是增加和删除效率很低 不可以增加长度 而今天的链表刚好解决了这些问题 链表在增加和删除中有着很高的效率 而且不像顺序表那样每删一个要顺序的移动 定
  • 无卷积骨干网络:金字塔Transformer,提升目标检测/分割等任务精度(附源代码)

    论文地址 https arxiv org pdf 2102 12122 pdf 源代码地址 https github com whai362 PVT 具有自注意力的Transformer引发了自然语言处理领域的革命 最近还激发了Transf
  • Pecemaker+Corosync+Haproxy高可用Openstack集群实战

    一 DRBD简介 DRBD的全称为 Distributed Replicated Block Device DRBD 分布式块设备复制 DRBD是由内核模块和相关脚本而构成 用以构建高可用性的集群 其实现方式是通过网络来镜像整个设备 它允许
  • 编译实验 lr c语言代码,编译原理-实验5-LR(1)分析法

    编译原理 实验5 LR 1 分析法 由会员分享 可在线阅读 更多相关 编译原理 实验5 LR 1 分析法 6页珍藏版 请在人人文库网上搜索 1 编译原理实验报告项目名称 LR 1 分析法设计与实现 专业班级 学 号 姓 名 实验成绩 批阅教
  • 旋风十一人 观后感

    旋风十一人是一部讲足球题材的电视剧 用了两天多 熬着眼看玩了 看完之后很久不能平静 不可否认这部电视有bug 毕竟不是现实 在圆满也不会和真的一模一样 但是他的魅力完全掩盖了他的瑕疵 穆帅之所以帅 因为他的责任感和他的执着 说实话他的责任感
  • Windows下编译Chromium

    一 系统要求 1 Windows 7或更新的64位系统 至少有8GB内存 强烈推荐超过16GB 2 源码必须存放在NTFS格式的驱动器上 至少有100GB的空闲磁盘空间 3 安装合适版本的Visual Studio二 配置Visual St
  • redis源码之:扩容后的dictScan遍历顺序与JDK的concurrentHashMap 扩容机制

    进入正题前 先来复习下关于2次幂的mod运算 设n为2次幂 数a mod n 等价于 a n 1 从二进制来看 相当于余数为a省去n最高位左侧的所有位 含最高位 保留n右侧所有低位即为余数 如 a 7 0000 0111 n 4 0000
  • Android13 SystemUI 切换深色主题时出现状态栏电池图标闪动的问题

    SystemUI电池图标控件是BatteryMeterView com android systemui battery BatteryMeterView 在这个控件里监听了配置文件变化的消息 在onConfigurationChanged
  • 美团面试之Hr面,不会套路把我坑惨了......

    作为技术类的测试工程师面试 往往要经过多次面试才能拿到心仪的offer 这里面有技术一面 二面 甚至总监面等 还有一个必不可少的就是HR面 一般HR会出现在你面试的最前面和最后面 前面是了解你的基本情况 后面就是你已经通过了技术面试 他是来
  • 机器学习算法——支持向量机SVM1(超平面)

    支持向量机 Support Vector Machines SVM 是一种基于统计学习理论的机器学习算法 是一种二分类模型 它的基本模型是定义在特征空间上的间隔最大的线性分类器 SVM学习的基本思想是求解能够正确划分训练数据集并且几何间隔最