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

限制条件:

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

凸优化问题的例子

根据梯度不断试探。

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

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

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

相关推荐
柳鲲鹏25 分钟前
地图影像匹配:基于特征匹配的视觉定位2,python
开发语言·python
yunhuibin1 小时前
LeNet
人工智能·python
一个不知名程序员www7 小时前
算法学习入门 --- 哈希表和unordered_map、unordered_set(C++)
c++·算法
jaray8 小时前
PyCharm 2024.3.2 Professional 如何更换 PyPI 镜像源
ide·python·pycharm·pypi 镜像源
Psycho_MrZhang8 小时前
Neo4j Python SDK手册
开发语言·python·neo4j
Sarvartha8 小时前
C++ STL 栈的便捷使用
c++·算法
Quintus五等升8 小时前
深度学习④|分类任务—VGG13
人工智能·经验分享·深度学习·神经网络·学习·机器学习·分类
web3.08889998 小时前
1688图片搜索API,相似商品精准推荐
开发语言·python
少云清8 小时前
【性能测试】15_JMeter _JMeter插件安装使用
开发语言·python·jmeter
夏鹏今天学习了吗9 小时前
【LeetCode热题100(92/100)】多数元素
算法·leetcode·职场和发展