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

限制条件:

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

凸优化问题的例子

根据梯度不断试探。

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

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

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

相关推荐
封步宇AIGC4 分钟前
量化交易系统开发-实时行情自动化交易-3.4.1.2.A股交易数据
人工智能·python·机器学习·数据挖掘
何曾参静谧4 分钟前
「Py」Python基础篇 之 Python都可以做哪些自动化?
开发语言·python·自动化
m0_523674216 分钟前
技术前沿:从强化学习到Prompt Engineering,业务流程管理的创新之路
人工智能·深度学习·目标检测·机器学习·语言模型·自然语言处理·数据挖掘
Prejudices8 分钟前
C++如何调用Python脚本
开发语言·c++·python
SoraLuna18 分钟前
「Mac玩转仓颉内测版7」入门篇7 - Cangjie控制结构(下)
算法·macos·动态规划·cangjie
我狠狠地刷刷刷刷刷21 分钟前
中文分词模拟器
开发语言·python·算法
鸽鸽程序猿22 分钟前
【算法】【优选算法】前缀和(上)
java·算法·前缀和
九圣残炎28 分钟前
【从零开始的LeetCode-算法】2559. 统计范围内的元音字符串数
java·算法·leetcode
Jam-Young34 分钟前
Python的装饰器
开发语言·python
YSRM40 分钟前
Experimental Analysis of Dedicated GPU in Virtual Framework using vGPU 论文分析
算法·gpu算力·vgpu·pci直通