机器学习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)限制条件是一次项。

限制条件:

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

凸优化问题的例子

根据梯度不断试探。

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

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

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

相关推荐
小尤笔记5 分钟前
利用Python编写简单登录系统
开发语言·python·数据分析·python基础
FreedomLeo111 分钟前
Python数据分析NumPy和pandas(四十、Python 中的建模库statsmodels 和 scikit-learn)
python·机器学习·数据分析·scikit-learn·statsmodels·numpy和pandas
风间琉璃""32 分钟前
二进制与网络安全的关系
安全·机器学习·网络安全·逆向·二进制
trueEve38 分钟前
SQL,力扣题目1369,获取最近第二次的活动
算法·leetcode·职场和发展
007php00739 分钟前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang
Tech Synapse41 分钟前
Python网络爬虫实践案例:爬取猫眼电影Top100
开发语言·爬虫·python
天若有情67341 分钟前
c++框架设计展示---提高开发效率!
java·c++·算法
ahadee1 小时前
蓝桥杯每日真题 - 第19天
c语言·vscode·算法·蓝桥杯
Reese_Cool1 小时前
【数据结构与算法】排序
java·c语言·开发语言·数据结构·c++·算法·排序算法
加密新世界1 小时前
优化 Solana 程序
人工智能·算法·计算机视觉