机器学习笔记:支持向量机SVM
创始人
2024-04-15 05:15:46
0

1 一些概念

1.1 线性可分

  • 在二维空间上,两类点被一条直线完全分开叫做线性可分。
  • 严谨的说法是:
    • D0和 D1 是 n 维欧氏空间中的两个点集。
    • 如果存在 n 维向量 w 和实数 b,使得所有属于 D0 的点 xi 都有 wxi+b>0 ,而对于所有属于 D1 的点 xj 则有 wxj+b<0 ,则我们称 D0 和 D1 线性可分。

 1.2 最大间隔超平面

但是,问题来了,如果有很多的超平面可以分割这两类点,那么应该选择哪一条呢

 答案是找最佳超平面,以最大间隔把两类样本分开的超平面,也称之为最大间隔超平面。

  • 两类样本分别分割在该超平面的两侧;
  • 两侧距离超平面最近的样本点到超平面的距离被最大化了。

1.3 支持向量

  •  样本中距离超平面最近的一些点,这些点叫做支持向量

1.4 点到直线的距离

二维空间点 (x,y) 到直线 Ax+By+C=0 的距离为:\frac{|Ax+By+C|}{\sqrt{A^2+B^2}}

2 SVM

2.1 最优化问题

2.1.1 支持向量到超平面距离推导

  • SVM 希望找到各类样本点到超平面的距离最远,也就是找到最大间隔超平面
  • 我们记某一超平面为:w^Tx+b=0

    • 则点x=(x_1,x_2,\cdots,x_n)到超平面w^Tx+b=0的距离为:\frac{|w^Tx+b|}{||w||}
    • ||w||=\sqrt{w_1^2+\cdots+w_n^2}
  • 于是我们有:

  • 即: 

  • ||w||d是正数,且令其为任何值都不会对优化结果有影响

    • ——>不妨令||w||d=1

    • 所以有 

  • 将方程组合并,有:y(w^Tx+b) \ge 1(等于1的地方就是支持向量)

 2.1.2  最优化问题目标函数

通过上一小节我们知道:

  • 支持向量处w^Tx+b=1
  •  点x=(x_1,x_2,\cdots,x_n)到直线w^Tx+b=0的距离为:\frac{|w^Tx+b|}{||w||}

  • ——>支持向量到超平面的距离是\frac{1}{||w||}

  • ——>margin=\frac{2}{||w||}

我们希望最大化margin,即max \frac{2}{||w||};

分子分母调换位置,有:min \frac{1}{2}||w||

此时计算||w||时要带根号,为了方便计算,我们将上式改写成min \frac{1}{2} ||w||^2

所以最优化问题是

 2.2 最优化问题求解

目前SVM问题是一个带不等式的最优化问题

数学知识笔记:拉格朗日乘子_UQI-LIUWJ的博客-CSDN博客

根据KKT条件,我们有

2.3 最优化问题对偶问题

根据数学知识笔记:拉格朗日乘子_UQI-LIUWJ的博客-CSDN博客

 我们可以写出原始问题的对偶形式:

(λ≥0)

 2.3.1 求解过程

  • 先看里面 min 部分,对w和b求偏导:
  • 得到:
  • 带回到L(w,b,λ)中,有:

——>去掉min一层,对偶问题就转化为:

 之后利用SMO(Sequential Minimal Optimization) 算法求解各个λ,然后通过λ求W

W求得后,可以求解b:(S为支持向量的集合)

 3 软间隔

3.1 不完全线性可分问题

完全线性可分的样本是很少的,如果遇到了不能够完全线性可分的样本,应该怎么办?

 3.2 软间隔

相比于硬间隔的苛刻条件,软间隔允许个别样本点出现在间隔带里面

引入松弛变量\xi_i从原来硬间隔的y_i(w^Tx_i+b) \ge 1变成 y_i(w^Tx_i+b) \ge 1-\xi_i

 

3.2.1 软间隔优化问题

  •  增加软间隔后,优化目标变成了:
  • C 是一个大于 0 的常数,可以理解为错误样本的惩罚程度
    • 若 C 为无穷大, ξi 必然无穷小,如此一来就又变成了线性可分 SVM
    • 当 C 为有限值的时候,会允许部分样本不遵循约束条件。

3.2.2 软间隔拉格朗日函数

3.2.3 软间隔对偶问题

 

 分别对主问题参数w、b 和 ξi 求偏导数,并令偏导数为 0,得出如下关系:

 将这些关系带入拉格朗日函数中,得到:

最小化结果只有 λ 而没有 μ ,所以现在只需要最大化 λ 就好: 

这个和硬间隔的一样,只是多了个约束条件。

同样地, 之后利用SMO(Sequential Minimal Optimization) 算法求解各个λ,然后通过λ求W

W求得后,可以求解b:(S为支持向量的集合,这里间隔内的那部分样本也是支持向量

4 非线性SVM

前面讨论的硬间隔和软间隔都是在说样本的完全线性可分或者大部分样本点的线性可分。

但我们可能会碰到的一种情况是样本点不是线性可分的,比如:

 这种情况的解决方法就是:将二维线性不可分样本映射到高维空间中,让样本点在高维空间线性可分,比如:

对于在有限维度向量空间中线性不可分的样本,我们将其映射到更高维度的向量空间里,再通过间隔最大化的方式,学习得到支持向量机,就是非线性 SVM。 

我们用 x 表示原来的样本点,用 ϕ(x) 表示 x 映射到特征新的特征空间后到新向量。那么分割超平面可以表示为: f(x)=wϕ(x)+b 。

对于非线性 SVM 的对偶问题就变成了:

 可以看到与线性 SVM 唯一的不同就是:之前的 (xi⋅xj) 变成了 (ϕ(xi)⋅ϕ(xj)) 。

4.1 非线性SVM VS 线性SVM

  •  不难发现,如果不使用对偶形式的话,映射关系的计算和存储也是一个大问题

5 多分类问题

参考内容:【机器学习】支持向量机 SVM(非常详细) - 知乎 (zhihu.com)

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...