如何通俗地理解支持向量机?

支持向量机

一、支持向量机(SVM)的原理

1、引言

如图0所示,对于数据点,H1根本就分不开两类数据,于是它不是一个很好的决策边界;H2能将两类分开,但是它和两类数据之间的距离太小了,对于看不见的点或者验证数据集,他就不一定能很好地分隔两类了,这就有可能造成数据的过拟合,即在训练集上表现良好,但是在验证集和测试集上表现欠佳;而对于H3,它既能将两类很好的分隔开来,而且还保持了两个类的最极端点之间的最宽距离。他是最佳的决策边界。支持向量机(SVM)就是为了寻找这样的决策边界。

 

图0:几种边界示意图

2、什么是支持向量

支持向量机(SVM)本质上是尝试拟合两个类别之间最宽的间距,使得图1中的两条虚线之间的距离最大,那么分布在虚线上的点就叫支持向量。也可以说,支持向量决定了虚线的位置,非支持向量,即图1中不在虚线上的点不会影响决策边界的位置。

图1:支持向量

二、支持向量机存在的问题

1、容易被异常值影响

如图2所示,红色的点是一个极端异常点,但是硬边界(非要将每一个数据点都正确分类)把它作为了支持向量。因为硬边界寻找的是支持向量之间的最大距离,这会导致决策边界非常不合理,引起过拟合。

图2:异常值

2、他只对线性可分的数据有效

如图3所示,线性分类器不可能将图3很好地分隔开来。

图3:线性不可分

三、支持向量机如何处理异常值和非线性数据

1、软边界用于处理处理异常值

为了平衡两个目标:

1、最大化决策边界和支持向量之间的距离;

2、最大化决策边界正确分类的点数。

可以设置软边界,即控制sklearn中超参数C的大小,如图4所示:

如图4所示,C越小,距离越大,分错的点越多(欠拟合);C越大,距离越小,分错的点越少(过拟合);

 

图4 支持向量机示意图

2、核函数的作用(处理非线性可分数据)

2.1 为什么需要核函数?

虽然线性svm在大多数时候很有效,但是却很难找到一个数据集是线性可分的。为了解决这个问题,我们就要将线性不可分的数据,通过添加多项式特征等方法,将特征从低纬度映射到高纬度如图5,图6所示。在特征从图5低纬度被映射到图6 的高纬度之后(经过20次幂的转化),我们就可以找到一个超平面来将数据有效地分割开来。

图5:低维线性不可分的情况

图6:高维线性可分

2.2 核函数是如何做的?

然而对于由于多项式变换所需要的计算复杂度和时间成本都太高,这在大型数据集上会使得模型训练速度过慢。这时候,就到了支持向量机的核函数展示它的内核技术之美了。

核函数可以将非线性可分数据点的特征从相对较低的维度映射到相对较高的维度,并计算他们之间的关系。但是在这个过程中,核函数只是将特征进行了映射,并没有作实际地转换或者添加任何的特征,但我们仍然可以获得相同的结果。计算数据点之间的高维关系而不实际创建或转换它们被称为内核技巧。惊不惊喜,意不意外,我好像转换了,但我又没有真的转换,就是玩儿。简而言之,核函数通过避免将特征从低维转换为高维的数学运算来降低 SVM 的计算复杂度。

2.3 常见的核函数

(1)多项式核

多项式核计算数据点之间的高维关系,并且在不添加任何特征的前提下将数据映射到更高的维度。多项式的公式为:

这里的d是一个超参数,指的是函数应该使用的多项式的次数。

举个栗子,图7的数据是低维的线性不可分的,但是我们使用多项式核的SVM转化后,我们就得到了如图8所示的高维线性可分的映射。再说一遍,多项式内核只是把数据从低维映射到高维,并计算高维之间的关系,并不转化或者新增特征。另外,多项式次数越高,拟合能力越强,如果感觉模型过拟合了,可以适当减小多项式的次数。

图7:低维线性不可分数据

图8:映射后的高维线性可分数据

(2)高斯核

高斯核也是拔高特征的维度,将低纬度的特征映射到高纬度,只不过映射方式使用的是高斯函数。高斯函数的公式如下:

其中,x表示样本点,x'表示地标。地标本质上是也是样本中的点,我们用来计算和其他样本点之间的相似性。如图9所示,是一个1维的图,图中有两个地标(红色的点),对于样本x=-1,它距离第一个地标1个距离,距离第二个地标 2个距离。

图9:1维图

因此,将图9根据高斯公式被映射过后的特征如图10所示。我们可以很轻松的使用图中红线将样本点分为两类(蓝色和绿色)。

图10:被映射过后的图

 

  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值