在支持向量机(SVM)中,目标函数设定为最大化间隔(margin),这通常通过最小化法向量W的模(即最小化||W||或等价地最小化1/2 * ||W||^2)来实现,而不是直接最大化2/||W||的模。不过,为了解答您的疑问,我们可以从SVM的核心概念和数学推导角度来探讨为什么这样做。
SVM的核心概念
SVM是一种监督学习算法,用于分类问题,特别是二分类问题。它的目标是找到一个超平面,将不同类别的数据点分开,并且使得这个超平面到两类数据点中最近点的距离(即间隔)最大化。这样做的目的是提高模型的泛化能力,即模型对新样本的分类能力。
数学推导
-
超平面定义:在n维空间中,超平面可以由方程w^T * x + b = 0定义,其中w是法向量,决定了超平面的方向;b是位移项,决定了超平面与原点之间的距离。
-
间隔的定义:对于任意一点x到超平面的距离d,可以表示为d = |w^T * x + b| / ||w||。对于支持向量(即距离超平面最近的点),这个距离是间隔的一半。
-
最大化间隔:为了最大化间隔,我们需要最大化2 / ||w||(即间隔的两倍除以法向量的模)。但是,在优化问题中,我们通常更喜欢最小化目标函数而不是最大化。因此,我们将问题转化为最小化||w||(或等价地最小化1/2 * ||w||^2,因为这是一个凸函数,更易于优化)。
-
优化问题:SVM的优化问题可以表述为在满足一定约束条件(即所有样本点都被正确分类)下,最小化1/2 * ||w||^2。这是一个二次规划问题,可以通过拉格朗日乘子法等方法求解。
为什么选择最小化||W||
- 计算简便:最小化||w||(或1/2 * ||w||^2)是一个凸优化问题,有全局最优解,且易于求解。
- 几何意义:最小化||w||等价于最大化间隔,这有助于提高模型的泛化能力。
- 数值稳定性:使用二次项(1/2 * ||w||^2)作为目标函数可以减少数值计算中的不稳定性。
综上所述,虽然问题中提到了最大化2/||W||的模,但在SVM的实际应用中,我们更倾向于通过最小化||W||(或1/2 * ||W||^2)来实现间隔最大化的目标。
最终优化的函数如下
最后的优化目标
f(x) = wx+b 其中x是支持向量的时候,f(x) = 1
SVM划分的超平面:f(x) = 0,w为法向量,决定超平面方向,
假设超平面将样本正确划分
f(x) ≥ 1,y = +1
f(x) ≤ −1,y = −1
间隔:r=2/|w|
约束条件:
支持向量不是一开始确定的,首先要满足约束,然后优化的过程中w和b会改变,但仍然要满足约束,优化到最后,wx+b 在x是支持向量的时候等于1