【第7周:支持向量机】

本文详细介绍了支持向量机(SVM)的基本概念,包括不带核函数的线性SVM及其与逻辑回归的对比,代价函数的作用,以及大间隔思想。此外,文章重点讨论了带核函数的SVM,特别是高斯核函数的应用,提供了解决非线性分类问题的方法。最后,根据数据规模给出了选择SVM和逻辑回归的指导原则。
摘要由CSDN通过智能技术生成

1. 不带核函数的支持向量机

支持向量机可以不使用核函数,不使用核函数又称为线性核函数。当我们不采用非常复杂的函数,或者我们的训练集特征非常多而样本非常少的时候(一般线性可分),可以采用这种不带核函数的支持向量机。

1.1 逻辑回归与SVM的对比

①假设函数

逻辑回归的假设函数与SVM的假设函数相同:
在这里插入图片描述不同的是:
在逻辑回归中,当θx≥0时, 预测y=1,θx<0时, 预测y=0。
在SVM中,当θx≥1时, 预测y=1,θx≤-1时, 预测y=0。

②代价函数

逻辑回归与SVM的目标函数:
在这里插入图片描述

其中逻辑回归中蓝色框的部分的函数关于θx的图像如下:
在这里插入图片描述
分别用紫色直线段去逼近y=1和y=0对应的代价函数作为我们SVM的代价函数:

  1. If y=1(want θx≥1)当z=θx≥1时,代价函数才为0
    在这里插入图片描述
  2. If y=0(want θx≤-1)当z=θx≤-1时,代价函数才为0
    在这里插入图片描述所以利用新的代价函数我们会得到更倾向 θx≥1、θx≤-1的参数以及更宽的决策边界(如下)。
    在这里插入图片描述

1.2 代价函数中的C的作用

在这里插入图片描述
回顾SVM目标函数,C相当于逻辑回归里的1/λ:
𝐶 较大时,相当于 𝜆 较小,可能会导致过拟合,高方差。
𝐶 较小时,相当于 𝜆 较大,可能会导致低拟合,高偏差。
如果将正则项C设置很大的常数,则优化后第一项为0,此时的目标函数为第二项:
在这里插入图片描述
如果此时有一个异常点,将会得到红色的分类器,这是因为我们正则化参数C很大导致的结果,如果C设置的不要太大,最终会得到黑色分类器。所以当𝐶不是非常非常大的时候,它可以忽略掉一些异常点的影响,得到更好的决策界。
在这里插入图片描述

1.3 大间隔的直观理解

如果有一个正样本𝑦 = 1,其实我们仅仅要求𝜃𝑥≥0,就能用逻辑回归将该样本恰当分出。但是支持向量机的要求更高,不仅仅要能正确分开输入的样本𝜃𝑥≥0,我们还希望它远远大于0,比如𝜃𝑥≥1,这就相当于在支持向量机中嵌入了一个额外的安全因子,或者说安全的间距因子。

①支持向量机的间距

下图中存在许多直线可以将正负样本区分开,但明显黑色直线效果最好,这条黑线离样本有更大的距离,这个距离叫做间距。支持向量机的原理就是努力用一个最大间距来分离样本,因此支持向量机有时被称为大间距分类器。
在这里插入图片描述

②间距的产生

向量内积

间距的产生过程就是支持向量机的工作原理,首先引入向量内积的概念:
在这里插入图片描述
其中P是v在u上的投影(标量),k是u在v上的投影,当uv之间夹角小于90°,P、K为负值,反之为正。
在这里插入图片描述
uv内积的物理意义:v在u上的投影P与u的长度的乘积,内积越大,表明两向量的方向越相似。

工作原理

为了简化,还是将C设为很大的数,有目标函数:
在这里插入图片描述再令X0=0(决策边界的截距为0)、n=2(只有两个特征X1、X2)
在这里插入图片描述
对θX做内积变换有:
在这里插入图片描述
由上述约束条件,对比下图两个决策边界,SVM为什么会得到(b)的边界?
在这里插入图片描述

2. 带核函数的支持向量机

利用支持向量机的原理和核函数,可以建立复杂的非线性分类器,来解决无法用直线进行分隔的非线性分类问题。

2.1 核函数

回顾逻辑回归中的非直线分类,往往是构造新的更高阶的特征:
在这里插入图片描述
SVM也可以使用上述方法,但除了对原有的特征进行组合以外,有没有更好的方法来构造新的特征?
答:核函数,核函数的作用就是来计算出新的特征。将原始输入空间映射到新的特征空间,使原本线性不可分的样本在核空间可分。
核函数种类:多项式核函数,高斯核函数,Sigmoid核函数,字符串核函数等等,这些核函数的目标都是根据训练集和地标𝑙之间的距离来构建新特征f的。
实际应用中根据先验知识选择有效的核函数,若无先验知识,优先使用高斯核函数。

2.2 高斯核函数的SVM

高斯核函数:与正态分布没有关系。
在这里插入图片描述
由高斯核函数得到的新特征f1、f2、f3……为:
在这里插入图片描述
𝑙是选取的地标,当地标与X很近:f≈exp(0)=1;当地标与X很远:f≈exp(-∞)=0。

在这里插入图片描述
图中水平面的坐标为x1 x2,而垂直坐标轴代表f,σ²为方差。由上图可看出:只有当x与地标𝑙重合时𝑓才具有最大。随着x的改变𝑓值改变的速率受到σ²的控制。
𝜎较大时,特征𝑓改变缓慢,导致预测值变化慢,可能会导致低方差,高偏差;
𝜎较小时,特征𝑓改变快,导致预测值变化也快,可能会导致低偏差,高方差。

2.3 高斯核SVM步骤

在这里插入图片描述
如上是一个n=2,样本数m=3的训练集。给出模型学习步骤:

  1. 选择地标,根据训练集样本的数量选择地标的数量3,并且就令地标等于样本值,𝑙(3)是故意选取的远离x(3)的地标。有m个地标就会有m个𝑓,SVM的假设函数就变为𝜃𝑓,加上第一项𝑓0=1,所以θ和𝑓都是m+1维。
  2. 根据核函数计算出新的特征𝑓
  3. 当𝜃𝑓 >= 0 时,预测 𝑦 = 1,反之为0。

解:假设初始参数θ=[-0.5,1,1,0]有在这里插入图片描述
4. 将新的假设函数带入目标函数中进行最小化,MATLAB中有现有的软件包可以直接调用(如liblinear,libsvm 等)。
在这里插入图片描述

2.4 如何选择SVM与逻辑回归

𝑛为特征数,𝑚为训练样本数。

  1. 如果相较于𝑚而言,𝑛要大许多(一般线性可分),即训练集数据量不够支持我们训练一个复杂的非线性模型,我们选用逻辑回归模型或者不带核函数的支持向量机。
  2. 如果𝑛较小,而且𝑚大小中等,例如𝑛在 1-1000 之间,而𝑚在 10-10000 之间,使用高斯核函数的支持向量机。
  3. 如果𝑛较小,而𝑚较大,例如𝑛在 1-1000 之间,而𝑚大于 50000,计算f太多,使用支持向量机会非常慢,解决方案是创造、增加更多的特征,然后使用逻辑回归或不带核函数的支持向量机。
  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值