机器学习面试必知:SVM中解决泛化问题

在前面SVM一文中,我们解得的支持向量机在原始空间中是对训练数据能精确划分的如下图所示。可想而知,有大概率会出现过拟合的问题。这样的支持向量机的泛化能力较差。
在这里插入图片描述因此我们需要一种方式修改支持向量机,允许一些训练数据点被误分类,从而获得一个更好的泛化能力。我们允许数据点在边缘边界的错误侧,同时增加一个惩罚项,这个惩罚项随着与决策边界的距离的增大而增大。我们令这个惩罚项是距离的线性函数,为了实现它我们引入了松弛变量 ξ n ≥ 0 \xi_{n}\geq0 ξn0,这样每个训练数据点都有一个松弛变量。对于位于正确的边缘边界内部的点或者边缘上的点 ξ n = 0 \xi_{n}=0 ξn=0。对于其他的点, ξ n = ∣ t n − y ( x n ) ∣ \xi_{n}=|t_{n}-y(x_{n})| ξn=tny(xn)。因此对于位于决策边界 y ( x n ) = 0 y(x_{n})=0 y(xn)=0上的点, ξ n = 1 \xi_{n}=1 ξn=1,并且 ξ n > 1 \xi_{n}>1 ξn>1就是被误分类的点,所以被精确分类的点满足 t n y ( x n ) ≥ 1 − ξ n , n = 1 , . . . , N t_{n}y(x_{n})\geq 1-\xi_{n},\quad n=1,...,N tny(xn)1ξn,n=1,...,N

从上图中我们可以看到 ξ n = 0 \xi_{n}=0 ξn=0的数据点被正确分类,要么位于边缘上,要么在边缘正确的一侧。 0 &lt; ξ n &lt; = 1 0&lt;\xi_{n}&lt;=1 0<ξn<=1的数据点位于边缘内部,但还是在决策边界的正确一侧。 ξ n &gt; 1 \xi_{n}&gt;1 ξn>1的数据点位于决策边界的错误一侧,是被错误分类的点。

所以这种方法有时被描述成放宽边缘的硬限制,得到一个软边缘,并且能允许一些训练数据点被错分。同时这种方法对异常点很敏感,因为误分类的惩罚随着 ξ \xi ξ线性增加。最终我们得到这样一个误差函数 C ∑ n = 1 N ξ n + 1 2 ∣ ∣ w ∣ ∣ 2 C\sum_{n=1}^{N}\xi _{n}+\frac{1}{2}||w||^{2} Cn=1Nξn+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值