当前位置:网站首页>机器学习——支持向量机(SVM)
机器学习——支持向量机(SVM)
2022-07-13 19:17:00 【孤独之风。】
支持向量机(Support Vector Machine,SVM)是一种用于分类问题的监督算法。支持向量机试图在数据点之间绘制两条线,它们之间的边距最大。为此,我们将数据项绘制为 n 维空间中的点,其中,n 是输入特征的数量。在此基础上,支持向量机找到一个最优边界,称为超平面(Hyperplane),它通过类标签将可能的输出进行最佳分离。
首先来了解一下什么是支持向量,下面举一个简单的例子。

如上图,对于一个二分类场景,可以有无数线将其分开。被虚线截到的一个或者多个样本就叫做支持向量。
1.1 线性可分的SVM
如果有一个线性函数能够将样本分开,就称这些数据样本是线性可分的。线性函数,简单说来,在二维空间中就是一条直线,三维空间中就是一个平面。高于三维,我们统称为 超平面。
关于上面图中存在的一个问题:就是可以有无数条直线将样本分开,所以需要找出一条可以正确分开样本并且结果是最优的。
最优化的原则就是所有的样本能正确分类并且不同样本之间的间隔要最大。转化为所有的支持向量到线性函数(超平面)的距离最大,这样就能保证最优结果,并且此结果下只可能有一条最优线将样本分开。

接下来应该要怎样计算间隔呢?
用如下线性方程来描述超平面 WT x+b=0; 其中W为法向量,决定了超平面的方向,b为位移量,决定了超平面与原点的距离。假设对于样本(xi,yi),用yi =+1来表示正样本,yi =-1来表示负样本。(当然可以的+1,-1不是肯定的,你也可以取2,3,4… -2,-3,-4…).说明一下:yi 是标签值。可以得到如下图结果:
通过放缩,可以使在支持向量x0上有|wTx0+b| = 1,而在非支持向量上有|wTx0+b| >1.
所有有一个支持向量点x0到超平面的距离:
d = ∣ w T x 0 + b ∣ ∣ ∣ w ∣ ∣ = 1 ∣ ∣ w ∣ ∣ d=\frac{|wTx0+b|}{||w||} = \frac{1}{||w||} d=∣∣w∣∣∣wTx0+b∣=∣∣w∣∣1
所 以 r = 2 d = 2 ∣ ∣ w ∣ ∣ 这 里 的 ∣ ∣ w ∣ ∣ 是 2 范 数 , 关 于 范 数 , 不 懂 的 地 方 可 以 搜 索 一 下 。 所以r = 2d = \frac{2}{||w||} 这里的||w||是2范数,关于范数,不懂的地方可以搜索一下。 所以r=2d=∣∣w∣∣2这里的∣∣w∣∣是2范数,关于范数,不懂的地方可以搜索一下。
最终最大化支持向量到超平面的距离就等价于最小化||w||,为了放方便求导等原因,最小化||w||转化为最小化1/2||w||2 。此时可以写出支持向量机的限制条件 :
argmin 1/2||w||2 st. yi(wTxi+b)>=1
1.2 线性不可分的SVM
线性不可分意味着某些样本点(xi,yi)不能满足间隔大于等于1的条件。如下图:

一种思路是对每个样本点引入一个松弛变量δi>0,使得间隔加上松弛变量大于等于1,最优化问题变为求解1/2||w||2 +C*Σδi,其中C>0为惩罚一个参数;约束条件就变为 yi(wTxi+b) > 1 - δi 。这样将非线性问题转而和线性可分问题的一样求解过程。
处理非线性问题的另外一种思路就是利用核函数,通过将数据映射到高维空间来解决原视空间线性不可分的情况。在线性不可分的情况下,SVM首先在低纬空间中完成计算,然后通过核函数将输入空间映射到高维特征空间,最后在高维特征空间中构造出最优分离超平面,从而把平面上本身不好分的非线性数据分开。

如上,对于异或问题线性不可分,通过选择合适的核函数将二维映射到三维,找到一个超平面是其线性可分。

最优化问题和受限条件转化为如上式子

下面是一些常见的核函数
边栏推荐
- babylon.js高度图
- Hcip third day notes
- 音视频学习(六)——PCM音频基础
- Web security - DOS regular expression denial of service attack
- Shell script learning record
- Flink SQL 求上一个月 是哪个函数?
- CloudCompare&PCL 点云最小二乘法拟合平面
- Hcip second experiment
- 程序的运行过程
- [day 2] machine reading comprehension -- common machine reading comprehension models (Part 1)
猜你喜欢
![[Go]二、RESTful API介绍和API流程和代码结构](/img/fd/8ae3d6a4c0d0c973ce81672c1c529c.png)
[Go]二、RESTful API介绍和API流程和代码结构

Huawei switch SEP double half ring design scheme and detailed configuration steps
![[Go]二、RESTful API介紹和API流程和代碼結構](/img/fd/8ae3d6a4c0d0c973ce81672c1c529c.png)
[Go]二、RESTful API介紹和API流程和代碼結構

LeetCode 2155. All subscripts with the highest score in the group

Memory mapping principle and detailed explanation (very practical)

密码密钥硬编码检查

Interprocess communication (very practical)

LeetCode 1584. 连接所有点的最小费用

Hcip day 5 notes

HCIP静态路由
随机推荐
不刷新页面内容,改变浏览器访问地址url
【无标题】
HCIP第二个实验
一文带你读懂深度学习中的张量(tensor)是什么,它的运算是怎样的,如何理解张量,张量的维度,浅显易懂
天田AMADA数控折弯机触摸屏维修RGM21003主机电路板维修
Detailed explanation and use of interface mock
Is there a completely independent localization database technology
匿名管道原理及详解(非常实用)
内存映射原理及详解(非常实用)
Séquence de traversée de l'ordre initial et de l'ordre moyen pour déterminer un arbre binaire (restauration de l'arbre binaire)
How to solve the problem that the computer shared file cannot be opened
[play with fpga8 in simple terms ----- metastable]
[Go]二、RESTful API介紹和API流程和代碼結構
Huawei switch SEP double half ring design scheme and detailed configuration steps
Hcip static routing
Flutter RenderFlex overflowed by pixels on the bottom键盘弹出警告异常
HCIP第三天笔记
Burpsite v2.1 Chinese version
Hcip second experiment
Development of management