OpenCV-Python 理解SVM | 五十五

本文介绍了SVM的概念,包括线性和非线性可分数据的分类。在线性可分情况下,SVM寻找最大化间隔的决策边界,利用支撑向量确定超平面。非线性可分数据可通过映射到高维空间使其线性可分。文章还讨论了核函数的作用以及分类错误与参数C的影响,并提供了附加学习资源。
摘要由CSDN通过智能技术生成

目标

在这一章中

  • 我们将对SVM有一个直观的了解

理论

线性可分数据

考虑下面的图像,它具有两种数据类型,红色和蓝色。在kNN中,对于测试数据,我们用来测量其与所有训练样本的距离,并以最小的距离作为样本。测量所有距离都需要花费大量时间,并且需要大量内存来存储所有训练样本。但是考虑到图像中给出的数据,我们是否需要那么多?

考虑另一个想法。我们找到一条线 f ( x ) = a x 1 + b x 2 + c f(x)=ax_1 + bx_2+c f(x)=ax1+bx2+c,它将两条数据都分为两个区域。当我们得到一个新的test_data X X X时,只需将其替换为 f ( x ) f(x) f(x)即可。如果 f ( X ) > 0 f(X)> 0 f(X)>0,则属于蓝色组,否则属于红色组。我们可以将此行称为“决策边界”。它非常简单且内存高效。可以将这些数据用直线(或高维超平面)一分为二的数据称为线性可分离数据。

因此,在上图中,你可以看到很多这样的行都是可能的。我们会选哪一个?非常直观地,我们可以说直线应该从所有点尽可能远地经过。为什么?因为传入的数据中可能会有噪音。此数据不应影响分类准确性。因此,走最远的分离线将提供更大的抗干扰能力。因此,SVM要做的是找到到训练样本的最小距离最大的直线(或超平面)。请参阅下面图像中穿过中心的粗线。

因此,要找到此决策边界,你需要训练数据。那么需要全部吗?并不用。仅接近相反组的那些就足够了。在我们的图像中,它们是一个蓝色填充的圆圈和两个红色填充的正方形。我们可以称其为支撑向量,通过它们的线称为支撑平面。它们足以找到我们的决策边界。我们不必担心所有数据。它有助于减少数据量。

接下来,找到了最能代表数据的前两个超平面。例如,蓝色数据由 w T x + b 0 > − 1 w^Tx+b_0>-1 wTx+b0>1表示,红色数据由 w T x + b 0 < − 1 wTx+b_0<-1 wTx+b0<1表示,其中 w w w权重向量( w = [ w 1 , w 2 , . . . , w n ] w=[w_1,w_2,...,w_n] w=[w1,w2,...,wn]), x x x是特征向量( x = [ x 1 , x 2 , . . . , x n ] x =[x_1,x_2,...,x_n] x=[x1,x2,...,xn])。 b 0 b_0 b0偏置。权重矢量确定决策边界的方向,而偏置点确定其位置。现在,将决策边界定义为这些超平面之间的中间,因此表示为 w T x + b 0 = 0 w^Tx + b_0 = 0 wTx+b0=<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值