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

限制条件:

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

凸优化问题的例子

根据梯度不断试探。

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

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

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

相关推荐
A懿轩A28 分钟前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
古希腊掌管学习的神29 分钟前
[搜广推]王树森推荐系统——矩阵补充&最近邻查找
python·算法·机器学习·矩阵
云边有个稻草人33 分钟前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
半盏茶香34 分钟前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
martian66536 分钟前
【人工智能数学基础篇】——深入详解多变量微积分:在机器学习模型中优化损失函数时应用
人工智能·机器学习·微积分·数学基础
忘梓.1 小时前
解锁动态规划的奥秘:从零到精通的创新思维解析(3)
算法·动态规划
人机与认知实验室1 小时前
人、机、环境中各有其神经网络系统
人工智能·深度学习·神经网络·机器学习
LucianaiB1 小时前
探索CSDN博客数据:使用Python爬虫技术
开发语言·爬虫·python
PieroPc4 小时前
Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
开发语言·python·excel
tinker在coding4 小时前
Coding Caprice - Linked-List 1
算法·leetcode