全面理解SVM

本文深入浅出地介绍了支持向量机(SVM)的概念,包括分离超平面、最大边缘超平面、软边缘和核函数。SVM通过寻找最优超平面以最大化分类边界,解决线性可分与不可分问题。通过核函数实现非线性映射,以应对复杂分类任务。此外,还讨论了SVM的参数选择、优缺点及其在实际应用中的优势,如鲁棒性和避免过拟合。文章最后简要提及了SVM在多分类问题和实现上的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

支持向量机

看了JULY君的博客和文档后,个人对SVM的理解和总结,欢迎交流和指正。其理论部分可以查看下面文档链接,通俗易懂。

支持向量机通俗导论(理解SVM的三层境界)



第一篇:从四个关键词理解SVM

第二篇:SVM的原理(全面理解SVM

第三篇:SVM的特点与不足

第四篇:SVM实现

第五篇:从应用上理解SVM

第一篇:从四个关键词理解SVM

理解支持向量机SVMSupport Vector Machine有四个关键名词:分离超平面、最大边缘超平面、软边缘、核函数

  • 分离超平面(separating hyperplane):处理分类问题的时候需要一个决策边界,类似楚河汉界,在界这边我们判别A,在界那边我们判别B。这种决策边界将两类事物相分离,而线性的决策边界就是分离超平面。
  • 最大边缘超平面(Maximal Margin Hyperplane):分离超平面可以有很多个,怎么找最好的那个呢,SVM的作法是找一个“最中间”的。换句话说,就是这个平面要尽量和两边保持距离,以留足余量,减小泛化误差,保证稳健性。或者用中国人的话讲叫做“执中”。以江河为国界的时候,就是以航道中心线为界,这个就是最大边缘超平面的体现。在数学上找到这个最大边缘超平面的方法是一个二次规划问题。
  • 软边缘(Soft Margin):但世界上没这么美的事,很多情况下都是“你中有我,我中有你”的混杂状态。不大可能用一个平面完美的分离两个类别。在线性不可分情况下就要考虑软边缘。软边缘可以破例允许个别样本跑到其它类别的地盘上去。但要使用参数来权衡两端,一个是要保持最大边缘的分离,另一个要使这种破例不能太离谱。这种参数就是对错误分类的惩罚程度C
  • 核函数(Kernel Function),为了解决完美分离的问题,SVM还提出一种思路,就是将原始数据映射到高维空间中去,直觉上可以感觉高维空间中的数据变的稀疏,有利于“分清敌我”。那么映射的方法就是使用“核函数”。如果这种“核技术”选择得当,高维空间中的数据就变得容易线性分离了。而且可以证明,总是存在一种核函数能将数据集映射成可分离的高维数据。看到这里各位不要过于兴奋,映射到高维空间中并非是有百利而无一害的,维数过高的弊端就是会出现过度拟合

所以选择合适的核函数以及软边缘参数C就是训练SVM的重要因素。一般来讲,核函数越复杂,模型越偏向于拟合过度。在参数C方面,它可以看作是LASSO算法中的lambda的倒数,C越大模型越偏向于拟合过度,反之则拟合不足。实际问题中怎么选呢?用人类最古老的办法,试错。常用的核函数有如下种类:

  • Linear:使用它的话就成为线性向量机,效果基本等价于Logistic回归。但它可以处理变量极多的情况,例如文本挖掘。
  • polynomial:多项式核函数,适用于图像处理问题。
  • Radial basis,高斯核函数,最流行易用的选择。参数包括了sigma,其值若设置过小,会有过度拟合出现。
  • sigmoid:反曲核函数,多用于神经网络的激活函数。

R语言中可以用e1071中的svm函数建模,而另一个kernlab中则包括了更多的核方法函数,本例用其中的ksvm函数,来说明参数C的作用和核函数的选择。我们先人为构造一个线性不可分的数据,先用线性核函数来建模,其参数C取值为1。然后我们用图形来观察建模结果,下图是根据线性SVM得到各样本的判别值等高线图(判别值decision value相当于Logistic回归中的

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值