机器学习2_支持向量机_线性可分——MOOC

目录

定义

[线性可分(Linear Separable)](#线性可分(Linear Separable))

[线性不可分(Nonlinear Separable)](#线性不可分(Nonlinear Separable))

数学化定义

问题描述

优化问题

线性可分定义

假定训练样本集是线性可分的

1、最小化(Minimize):

2、限制条件:

[已知:训练样本集 , ;](#已知:训练样本集 , ;)

待求:

事实1:

事实2:

支持向量机优化问题推导中最难理解的部分

优化问题定为:

限制条件:

总结

二次规划的定义:

凸优化问题的例子


定义

线性可分(Linear Separable)

二维

三维

特征空间维度 四维 时,二维的情况下分割圆圈和叉的直线。

线性不可分(Nonlinear Separable)

不存在一条直线

二维

三维

特征空间维度 四维 时,三维的情况下,分割圆圈和叉的平面将会变成超平面(Hyperplane)。由于人眼对空间的感知仅仅局限于三维,所以说我们无法直观的画出一个图。

数学化定义

在四维以及四维以上的情况说明线性和线性不可分的情况,必须借助数学对线性可分和线性不可分给出一个精确的定义。

假设: ,则

用数学严格定义训练样本以及他们的标签

**假设:**我们有N个训练样本和他们的标签

其中 ,

是向量, 是 的标签。

我们规定 属于 ,则 ; 属于 ,则 。

线性可分的严格定义:一个训练样本集 ,在 线性可分,是指存在 ,使得对 ,有:

(1)若 ,则

(2)若 ,则

假设:

(1)若 ,则

(2)若 ,则

线性可分定义的最简化形式

如果 或 ,则上面两个公式可以合为一个。

一个训练样本集 ,在 线性可分,是指存在 ,似的对 ,有:


问题描述

支持向量机算法

1、解决线性可分问题

2、再将线性可分问题中获得的结论推广到线性不可分情况

如何解决线性可分问题?

二维特征空间中的二分类问题

如图,哪条线更好?

2号线更能抵御训练样本位置的误差。

基于最优化的理论,将寻找2号线的过程变成了一个最优化的问题。

Veapick给出的回答:

假设对于任意一条分开圆圈和叉这两类的直线,把这条直线朝一侧平行的移动,直到它插到或几个训练样本位置。同时,也把这条直线朝另外一侧平行的移动,直到它插到或几个训练样本位置。

我们定义这两条虚线,它也都是平行的。

我们定义这两条平行线插到的训练样本叫做这个数据集的支持向量(Support Vectors),把这两条平行线之间的距离叫做间隔(Margin Vipic)。

断言我们想要求的2号线是使间隔margin最大的一条线。需要比较1、2、3号3条件的间隔margin。

显然2号线的margin间隔比1号线、3号线都要大。支持向量机要找的是使间隔margin最大的那一条直线。

为了让找到的直线唯一,还需要定义这条线应该再多上下两条平行线,就是图中的两条虚线所示,++这条线在上下两个平行线的正中间++ ,也就是这条线到左右两边所有的支持向量距离应该相等。

总结

在线性可分的条件下,支持向量机寻找的最优的分类直线应该满足下面三个条件:

  1. 该直线分开了两类;
  2. 该直线最大化间隔(margin);
  3. 该直线处于间隔的中间,到所有支持向量距离相等。

上述的结果,都是基于二维特征空间的结果。在高维的特征空间中,直线将变成超平面。但以上的结论却是一致的。


优化问题

线性可分定义

一个训练样本集 ,在 线性可分,是指存在 使:

(1)若 ,则

(2)若 ,则

假定训练样本集是线性可分的

支持向量机需要寻找的是最大化 **间隔(Margin)**的超平面。

可以写出如下形式:

1、最小化(Minimize):
2、限制条件:

已知: 训练样本集 , ;

待求:

回顾【问题描述】

支持向量机 需要找一个超平面,使它的间隔最大;

离两边所有支持向量的距离相等 。

事实1:

是同一个超平面。

事实2:

一个点 到超平面 的距离

点到超平面的距离公式

一个点 到超平面 的距离

支持向量机优化问题推导中最难理解的部分

用 去缩放

最终使在支持向量 上有 ,而在非支持向量上

根据【事实1】 表示的超平面和 表示的超平面是同一个平面。

参数 去缩放

根据【事实2】,支持向量 到超平面的距离将会变为:

最大化支持向量机到超平面的距离 等价于最小化

优化问题定为:

最小化 :

最小化 :

限制条件:

支持向量到超平面的距离为:

在非支持向量上

其中 协调超平面的左右

如果把 限制条件改成: ,那么会跟原来的相差一个 ,根据【事实1】,他们代表的是用一个平面。

总结

线性可分的情况下,支持向量机寻找最佳超平面的优化问题可以表示为:

凸优化(Convex Optimization) 只有唯一一个全局极值

最小化(Minimize) :

限制条件:

在这个训练数据以及 是已知的,而 是待求的。

二次规划的定义:

(1)目标函数(Objective Function)是二次项。

目标函数:

(2)限制条件是一次项。

限制条件:

要么无解,要么只有唯一的最小值。

凸优化问题的例子

根据梯度不断试探。

先找到一个 和对应的 ,然后在 的旁边再找到一个 和对应的

一个优化问题是凸的 总能找到高效快速算法去解决它

用凸优化解出的支持向量机最佳分类超平面的例子:

相关推荐
倒头就睡的小比特3 天前
算法竞赛C++常用的STL
c++·算法
默_笙3 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_426003963 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技3 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
猎头南楼3 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
只睡四小时3 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
高洁013 天前
未来三年,AI 落地的五个确定性判断一
人工智能·深度学习·机器学习·transformer·知识图谱