机器学习西瓜书+南瓜书吃瓜教程学习笔记第六章支持向量机

视频来源:b站直播
+周志华老师机器学习西瓜树+南瓜书
以下是我的学习笔记:
在这里插入图片描述
支持向量机(support vector machines,SVM)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,通过对偶问题,最终转化为一个凸二次规划问题来求解。由简至繁的模型包括:

  • 当训练样本线性可分时,通过硬间隔最大化,学习一个线性可分支持向量机
  • 当训练样本近似线性可分时,通过软间隔最大化,学习一个线性支持向量机
  • 当训练样本线性不可分时,通过核技巧和软间隔最大化,学习一个非线性支持向量机

算法原理:从几何角度,对于线性可分数据集,支持向量机就是找距离正负样本都最远的超平面,相比于感知机,其解是唯一的,且不偏不倚,泛化性能更好。

三个重点“间隔(margin)” “对偶(duality)” “核技巧(kernel trick)”
以下是第一个证明:在这里插入图片描述

最大间隔超平面

超平面是分割输入变量空间的线。
从二维扩展到多维空间中时,将和完全正确地划分开的就成了一个超平面。为了使这个超平面更具鲁棒性,我们会去找最佳超平面,以最大间隔把两类样本分开的超平面,也称之为最大间隔超平面。
在这里插入图片描述

  • 两类样本分别分割在该超平面的两侧;
  • 两侧距离超平面最近的样本点到超平面的距离被最大化了

边距是最近类点上两条线之间的间隙。这被计算为从线到支持向量或最近点的垂直距离。如果类之间的边距较大,则认为是好的边距,较小的边距是差的边距。

处理非线性和不可分的平面

有些问题不能使用线性超平面解决,在这种情况下,SVM 使用内核技巧将输入空间转换为更高维空间,数据点绘制在 x 轴和 z 轴上(Z 是 x 和 y 的平方和:z=x2=y2)。现在,您可以使用线性分离轻松分离这些点。

 显然,支持向量机(SVM)的目标函数是关于\boldsymbol{w}的凸函数,
  (海塞矩阵是半正定的)且其约束函数仍然为一个凸函数,
  因此支持向量机是一个凸优化问题。

我们现在面对的是不等式优化问题,针对这种情况其主要思想是将不等式约束条件转变为等式约束条件,引入松弛变量,将松弛变量也是为优化变量。

为什么支持向量机通常都采用拉格朗日对偶求解呢?
1.无论主问题是何种优化问题,对偶问题恒为凸优化问题,因此更容易求解(尽管支持向量机的主问题本就是凸优化问题),而且原始问题的时间复杂度和特征维数呈正比(因为未知量是w),而对偶问题和数据量成正比(因为未知量是),当特征维数远高于数据量的时候拉格朗日对偶更高效;
2.对偶问题能很自然地引入核函数,进而推广到非线性分类问题(最主要的原因)

核函数

在这里插入图片描述在这里插入图片描述
这里的函数K(.,.)就是核函数。只要一个对称矩阵所对应的核矩阵半正定,他就能作为一个核函数使用。
常用核函数:
在这里插入图片描述

强对偶性

在这里插入图片描述

非线性支持向量机

在这里插入图片描述
在这里插入图片描述

软间隔

算法原理:在现实任务中,线性不可分的情形才是最常见的,因此需要允许支持向量机犯错。
我们一直假定训练样本在样本空间或特征空间中是“线性可分”的,即存在一个超平面能将不同类样本完全划分开,这称为“硬间隔”。然而,在现实任务中,往往很难确定合适的核函数使得训练样本在特征空间中线性可分。即便恰好找到了某个核函数使训练集在特征空间中线性可分,也很难断定这个貌似线性可分的结果不是由于“过拟合”所造成的。为此,我们引入“软间隔”的概念,允许支持向量机在一些样本上出错。
在这里插入图片描述
从数学角度来说,软间隔就是允许部分样本(但要尽可能少)不满足下式中的约束条件
在这里插入图片描述
因此,可以将必须严格执行的约束条件转化为具有一定灵活性的“损失”,合格的损失函数要求如下:

  • 当满足约束条件时,损失为0;
  • 当不满足约束条件时,损失不为0,
  • (可选)当不满足约束条件时,损失与其违反约束条件的程度成正比
    只有满足以上要求,才能保证在最小化(min)损失的过程中,保证不满足约束条件的,样本尽可能的少。
    在这里插入图片描述
    其中,L0/1是“0/1损失函数”
    在这里插入图片描述
    C>0是一个常数,用来调节损失的权重,显然当C趋于无穷时,会迫使所有样本的损失为0,进而退化为严格执行的约束条件,退化为硬间隔,因此,本式子可以看作支持向量机的一般化形式。

落在带子上的样本不计算损失(类比线性回归在线上的点预测误差为0),不在带子上的则以偏离带子的距离作为损失(类比线性回归的均方误差),然后以最小化损失的方式迫使间隔带从样本最密集的地方
(中心地带)穿过,进而达到拟合训练样本的目的。
在这里插入图片描述

优缺点

1、优点
与朴素贝叶斯算法相比,SVM 分类器提供了良好的准确性并执行更快的预测。它们还使用较少的内存,因为它在决策阶段使用训练点的子集。支持向量机在具有明显分离边距和高维空间的情况下效果很好。
具体如下:

  • 可以解决高维问题,即大型特征空间;

  • 解决小样本下机器学习问题;

  • 能够处理非线性特征的相互作用;

  • 无局部极小值问题;(相对于神经网络等算法)

  • 无需依赖整个数据;

  • 泛化能力比较强。
    2、缺点
    支持向量机不适合大型数据集,因为它的训练时间长,而且与朴素贝叶斯相比,它也需要更多的训练时
    间。它在重叠类中效果不佳,并且对使用的内核类型也很敏感。
    具体如下:

  • 当观测样本很多时,效率并不是很高;

  • 对非线性问题没有通用解决方案,有时候很难找到一个合适的核函数;

  • 对于核函数的高维映射解释力不强,尤其是径向基函数;

  • 常规SVM只支持二分类;

  • 对缺失数据敏感。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unicornlyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值