支持向量机的软间隔与正则化
时间: 2023-10-08 22:07:17 浏览: 157
支持向量机(SVM)是一种二分类模型,它的核心思想是找到一个最优的划分超平面,使得离该超平面最近的样本点距离最大,从而实现对样本进行分类。
然而,在实际应用中,数据往往是带有噪声的,可能存在一些离群点(outliers)或者数据点不可避免地分布在错误的一侧。因此,当数据存在一定的噪声时,划分超平面很难完美地将所有样本点正确划分。这时,我们需要引入软间隔(Soft Margin)的概念。
软间隔允许一定程度上的分类误差,即允许一些样本点位于超平面错误的一侧。为了实现软间隔,我们需要对原始的SVM模型进行一些扩展。即在原始的约束条件中增加一个松弛变量(slack variable) $\xi_i$,使得样本点 $x_i$ 可以位于超平面的错误侧。
$$y_i(w\cdot x_i+b)\geq 1-\xi_i, \xi_i \geq 0, i=1,2,\cdots,m$$
其中,$\xi_i$ 表示样本点 $x_i$ 到正确的分类超平面的距离,$m$ 是样本点的数量。目标是最小化误差 $\sum_{i=1}^m{\xi_i}$,同时也要最大化超平面到样本点的最小距离。
$$\min_{w,b,\xi}\frac{1}{2}\|w\|^2+C\sum_{i=1}^m{\xi_i}$$
其中,$C$ 是一个超参数,用来平衡最小化误差和最大化距离两个目标之间的关系。$C$ 越大,对误差的容忍度越小,模型的复杂度越高,可能会导致过拟合;$C$ 越小,对误差的容忍度越大,模型的复杂度越低,可能会导致欠拟合。
除了软间隔之外,正则化(regularization)也是SVM中常用的一种技术,用来防止模型过拟合。在SVM中,正则化通常采用L2范数或L1范数,将其加入到目标函数中,形成新的目标函数。
$$\min_{w,b}\frac{1}{2}\|w\|^2+C\sum_{i=1}^m{L(y_i(w\cdot x_i+b))}$$
其中,$L(y_i(w\cdot x_i+b))$ 是损失函数,用来度量样本点 $x_i$ 的预测值和真实值之间的差异。常用的损失函数有Hinge Loss和Squared Hinge Loss。
正则化的作用是通过对模型参数进行约束,来避免模型过拟合。正则化的一般思想是在目标函数中加入一个惩罚项,对模型参数进行惩罚,使得模型更加简单,更具有泛化能力。在SVM中,正则化的作用是通过对分界面的斜率进行限制,来使得分界面更加平滑,更容易被推广到新的数据上。
阅读全文