机器学习—支持向量机(SVM)

介绍

支持向量机(SVM)作为机器学习中的一种强大工具,主要用于解决分类和回归问题。

分类:在SVM中,我们的目标是找到一个(最优)划分超平面,将不同类别的数据点分隔开。它通过最大化不同类别数据点之间的间隔,同时最小化分类错误来找到最佳的超平面,SVM在处理分类问题时表现出色。支持向量机可以处理线性可分和线性不可分的情况,以及通过核函数处理非线性问题。

回归:在回归问题中,SVM的目标是找到一个函数,尽可能拟合训练数据,并且使得预测误差最小化。

通过深入理解支持向量机在机器学习中的定位和其解决的问题类型,我们可以更好地掌握这一强大工具的应用和优势。在接下来的部分,我们将深入研究支持向量机的基本概念和工作原理。

2 分类

2.1 线性可分支持向量机

1.超平面

在样本空间中找到一个划分超平面,将不同类别的样本分开,以至两类别数据之间的间隔最大,同时这个最优超平面所产生的分类结果是最具鲁棒性的。

 划分超平面可通过线性方程来描述:

w^{T}x+b=0

 其中w为法向量,b为位移项(截距)。

这个划分超平面由w和b决定,想要找到划分超平面就需要找到最合适的w和b值。

2.支持向量

样本空间中任意点x到超平面的距离为:

 若超平面可以正确分类样本,令:

训练数据中距离超平面最近的几个特殊点(图中的红点和红圈)使等号成立,它们就是“支持向量”(support vector)。这些支持向量决定了超平面的位置和方向,因此它们在分类问题中具有重要的意义。

两个异类支持向量到超平面的距离之和为:

被称为“间隔”。 如图:

 3.寻找最大间隔(划分超平面)

也就是要找参数w和b,使得间隔\gamma最大。

 可以看出,最大化间隔就是最大化\left \| w \right \|^{-1},等价于最小化\left \| w \right \|^{2}

(这是一个规划问题。)

这就是支持向量机(SVM)的基本型。 

4.对偶问题求解超平面

 最大间隔划分超平面对应的模型为:

对求最小化\left \| w \right \|^{2}的式子,将目标函数和约束条件结合,引入拉格朗日乘子 α,定义 Lagrange 函数:

 其中,α_i​ 是拉格朗日乘子。

 将它们代入Lagrange函数,消去w和b,得到规划问题的对偶问题:

解出α,再求解w和b,得到模型:

 上述过程需要满足条件以下条件,具体可见西瓜书:

2.2  核函数与非线性支持向量机

1.核函数

前面的叙述解决的是训练样本为线性可分的情况(存在一个划分超平面能正确分类训练样本)。对于非线性不可分的情况需要引入核函数。

核函数是支持向量机(SVM)中的关键概念之一,它允许 SVM 在更高维度的特征空间中进行非线性映射,从而处理复杂的数据集。核函数的引入使得 SVM 在解决非线性问题时更加灵活和强大。

假设原始特征空间中的特征向量为 x,映射后的特征向量为 ϕ(x),则对于在样本空间中划分超平面对应的模型为:

求解过程与前述一样。对偶问题为:


由于直接计算\phi (x_{i})^{T}\phi (x_{j})通常很困难,则设想一个核函数。在支持向量机中,核函数是一个将输入数据从原始特征空间映射到更高维度的函数。核函数可以表示为: 

K(x_{i},x_{j})= <\phi (x_{i}),\phi(x_{j})> =\phi (x_{i})^{T}\phi (x_{j})

其中,K是核函数,<,>表示内积。即 x_i与x_j在特征空间的内积等于它们在原始样本空间中通过函数k(x_i,x_j)计算的结果。

 2.核函数的作用

  • 处理非线性问题: 核函数使得 SVM 能够处理原始特征空间中线性不可分的问题,通过映射到更高维度的空间使得数据在新空间中变得线性可分。

  • 避免显式特征映射: 在高维度空间中进行显式的特征映射可能会导致计算复杂度的增加,而核函数允许在不显式计算映射的情况下进行非线性变换。

  • 提高计算效率: 使用核函数可以避免在高维度空间中进行大量的计算,通过核技巧(kernel trick)直接在原始特征空间中计算核函数值。

3.常见的核函数

2.3  硬间隔和软间隔

硬间隔和软间隔是支持向量机(Support Vector Machine,SVM)中用于处理线性不可分数据的概念。它们涉及到对数据集中的噪声和异常值的容忍度,以及对模型复杂度的不同处理。

1. 硬间隔(Hard Margin)SVM

硬间隔 SVM 是指在训练数据集中,要求所有样本点都严格位于类别之间的间隔之外。简而言之,它期望在特征空间中找到一个超平面,能够完美地将不同类别的样本分隔开。硬间隔 SVM 的优化目标是最大化间隔,同时确保所有的训练样本都被正确分类。这对于线性可分的情况是适用的。

硬间隔 SVM 的优点是它在满足线性可分条件下能够得到最优的分类结果。然而,它对于数据中的噪声和异常值非常敏感,因为它要求所有的样本都必须被正确分类。在实际应用中,数据往往不是完全线性可分的,因此硬间隔 SVM 的使用受到了一定的限制。

2. 软间隔(Soft Margin)SVM

软间隔 SVM 引入了对误分类的容忍,允许一些样本点位于间隔之内或甚至在错误的一侧。这是为了处理现实中存在噪声或不可避免的一些异常值的情况。软间隔 SVM 的优化目标是最大化间隔的同时,最小化误分类的样本点数目。

软间隔 SVM 的优点在于对于一些噪声或异常值,它能够更具鲁棒性。它能够处理一些线性不可分的情况,并且允许在最优化过程中有一些样本点被错误分类。

算法原理:

软间隔就是对于我们的最优化问题中允许部分样本(尽可能地少)不满足约束条件:

 将这个严格的约束条件转化为灵活的“损失”,损失函数要求:满足约束时,损失为0;不满足约束时,损失不为0,且损失与违反约束条件的程度成正比。

 

软间隔 SVM 它引入了一个新的参数(惩罚参数 C),用于平衡最大化间隔和最小化误分类的权衡。选择合适的 C 对于模型的性能至关重要,需要通过交叉验证等方法来调优。 

 0/1损失函数非凸、非连续,最小化损失函数不易求解,通常用其他函数代替(代替损失函数):

 

 令

 

 求解:

 

 具体见西瓜书:

 

总体而言,在处理实际数据时,通常会选择软间隔 SVM,因为它更灵活,对于一些噪声和异常值有更好的鲁棒性。

3 回归

 

类似软间隔。计算损失:

 

(待补充内容)

参数调优与模型评估

  • SVM 的参数:核函数的选择、惩罚参数等。
  • 交叉验证:介绍如何使用交叉验证调整参数。
  • 性能度量:解释如何评估支持向量机的性能,如准确率、召回率等。

实际应用与案例研究

  • 提供一些实际应用场景,如图像识别、文本分类等。
  • 引入一些经典的支持向量机案例,解释如何应用和调整参数。

本篇文章为学习笔记,具体的内容和解释可参考西瓜书、软间隔与支持向量回归

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值