hard margin SVM 的损失函数是什么?

机器算法验证 支持向量机 损失函数
2022-01-29 04:03:56

人们说软边距 SVM 使用铰链损失函数:max(0,1yi(wxi+b)). 然而,soft margin SVM 试图最小化的实际目标函数是

12w2+Cimax(0,1yi(wxi+b))
一些作者称w2术语正则化器和max(0,1yi(wxi+b))术语损失函数。

然而,对于硬边距 SVM,整个目标函数只是

12w2
这是否意味着硬边距 SVM 只最小化正则化器而没有任何损失函数?这听起来很奇怪。

那么,如果12w2是这种情况下的损失函数,我们可以称之为二次损失函数吗?如果是这样,为什么硬边距支持向量机的损失函数在软边距支持向量机中成为正则化器,并从二次损失变为铰链损失?

3个回答

soft margin SVM 中的铰链损失项imax(0,1yi(wxi+b))会惩罚错误分类根据定义,在硬边距 SVM 中,没有错误分类。

这确实意味着硬边距 SVM 试图最小化w2由于 SVM 问题的公式化,边距为2/w. 因此,最小化w的范数在几何上等同于最大化边距。正是我们想要的!

正则化是一种通过惩罚解向量中的大系数来避免过度拟合的技术。在硬边距 SVM 中既是损失函数正则化器。w2L2

在软边距 SVM 中,铰链损失项像正则化器一样,但在松弛变量而不是而不是中。正则化会导致稀疏性,这就是标准 SVM 在支持向量方面稀疏的原因(与最小二乘 SVM 相比)。wL1L2L1

硬边距 SVM 没有“损失函数”,但是当我们解决软边距 SVM 时,发现损失是存在的。

现在是详细解释:

当我们谈论损失函数时,我们真正的意思是我们想要最小化的训练目标。

在硬边距 SVM 设置中,“目标”是最大化每个训练样本位于分离超平面之外的几何边距 st,即 注意这是一个二次规划问题,所以我们不能使用直接梯度下降法在数值上求解它,也就是说,硬边距 SVM 没有分析“损失函数”。

maxγ,w,b1ws.ty(wTx+b)1

但是,在软边距 SVM 设置中,我们添加了一个松弛变量以允许我们的 SVM 出错。我们现在尝试解决 这与我们尝试惩罚错误分类的训练相同通过将添加到我们要最小化的目标中。回想一下铰链损失: 因为如果训练示例位于边距之外

minw,b,ξ12w22+Cξis.tyi(wTxi+b)1ξiξ0
xiCξi
hinge(z)=max{0,1z},
ξi将为零,并且仅当训练示例落入边缘区域时才为非零,并且由于铰链损失始终是非负的,因此我们可以将问题改写为 我们知道铰链损失是凸的,并且它的导数是已知的,因此我们可以直接通过梯度下降来求解软边距 SVM。
min12w22+Chinge(yi(wTxi)).

所以松弛变量只是变相的铰链损失,铰链损失的性质恰好包含了我们的优化约束(即非负性并在小于1时激活输入)。

澄清一下, 在点是线性可分的约束下被最小化(即,可以绘制一个将两者完美分开的超平面)。换句话说,我们可以考虑作为解决方案的唯一允许的 w 值是那些将两组点分开的值。

12w2

现在,人们认为硬边距 SVM 比软边距更容易“过拟合”。的 RBF SVM 更容易想象,它可以创建(过度)复杂和(可能)过度拟合的决策边界。边距越硬(用更高的“C”不精确地模拟),搜索将越难找到完美分类两组点的决策边界。γ

当我们转向“软边距”时,通过引入“松弛”来放松约束并用约束代替。这个松弛变量是用“铰链损失”术语定义的。简化后,我们得到了每个人都与 SVM 相关联的铰链 + l2 类损失项。FWIW,我更喜欢将 SVM 视为一个优化问题,而不是无所不在的“跟随梯度”问题。