支持向量机

什么叫支持向量机?

欲找到具有"最大|间隔" (maximum margin) 的划分超平面,也就是要找到能满足式中约束的参数 wb使得γ最大,即:

这也等价于:

这就是支持向量机(Support Vector Machine ,简称 SVM) 的基本型。

使用拉格朗日子乘法来求解,可得到"对偶问题":

从对偶问题 解出的α是拉格朗日乘子,它恰对应着训练样本 (Xi Yi)。

支持向量机的一个重要性质:训练完成后,大部分的训练样本都不需保留,最终模型仅与支持向量有关。

由于推导有点复杂,这里简单说明一下:对于线性可分的数据集,SVM的目标是最小化权重向量w的范数,同时最大化分类间隔。这可以通过求解一个凸二次规划问题来完成。

在现实世界中,数据往往不是线性可分的。对这样的问题,可以将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。

幸运的是,如果原始空间是有限维,即属性数有限。那么一定存在一个高维特征空间使样本可分。

在不知道特征映射的形式时,我们并不知道什么样的核函数是合适的,而核函数也仅是隐式地定义了这个特征空间.于是,"核函数选择"成为支持向量机的最大变数.若核函数的选择不合适,则意味着将样本映射到了一个不合适的特征空间,很可能导致性能不佳。

核函数还可以通过线性组合得到。

SVM通过引入松弛变量(slack variables)和惩罚参数。松弛变量允许一些数据点跨越决策边界,而惩罚参数则控制着对这些错误分类的容忍程度。

映射函数的输出相乘并计算内积的原因是,内积是衡量两个向量方向一致性的标准方式。在高维特征空间中,两个向量的方向一致性反映了它们在该空间中的相对位置。通过计算内积,SVM能够判断一个数据点相对于决策超平面的位置,这是分类决策的关键。而核函数允许我们在原始空间中直接计算映射后的内积,而无需执行实际的映射操作,这大大减少了计算复杂度。

几个要点:

  • SVM的决策函数只由少数的支持向量所决定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了维数灾难
  • 支持向量机(SVM)本质上是非线性方法,在样本量比较少的时候,容易抓住数据与特征之间的非线性关系,因此可以解决非线性问题、可以避免神经网络结构选择和局部极小值点问题、可以提高泛化能力、可以解决高维问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值