SVM 成本函数:新旧定义

机器算法验证 机器学习 分类 支持向量机 数据挖掘 损失函数
2022-03-26 20:59:26

我试图以原始形式协调软保证金 SVM 成本/损失函数的不同定义。有一个我不明白的“max()”运算符。

多年前,我从Tan、Steinbach 和 Kumar 于 2006 年编写的本科级教科书《数据挖掘概论》中了解到 SVM。它在第 5 章第 5 页中描述了软边距原始形式 SVM 成本函数。267-268。请注意,没有提到 max() 运算符。

这可以通过引入正值松弛变量(ξ) 转化为优化问题的约束。...修改后的目标函数由以下等式给出:

f(w)=w22+C(i=1Nξ)k

其中是用户指定的参数,表示对训练实例进行错误分类的惩罚。对于本节的其余部分,我们假设 = 1 以简化问题。可以根据模型在验证集上的表现来选择参数CkkC

因此,这个有约束的优化问题的拉格朗日可以写成如下:

Lp=w22+C(i=1Nξ)ki=1Nλi(yi(wxi+b)1+ξi)i=1Nμiξi

的值的非负性要求的结果ξi

这是2006年的教科书。

现在(2016 年),我开始阅读更多关于 SVM 的最新材料。斯坦福的图像识别课程中,软边距原始形式的表述方式截然不同:

与二进制支持向量机的关系。您可能会带着以前使用二元支持向量机的经验来参加本课程,其中第 i 个示例的损失可以写为:

斯坦福支持向量机

同样,在Wikipedia 关于 SVM 的文章中,损失函数为:

在此处输入图像描述

这个“最大”功能来自哪里?它是否包含在“数据挖掘入门”版本的前两个公式中?如何调和新旧配方?那本教科书只是过时了吗?

1个回答

松弛变量定义如下(图片来自 Pattern Recognition and Machine Learning)。ξ

在此处输入图像描述

ξi=1yi(ωxi+b)如果在边距的错误一侧(即), xi1yi(ωxi+b)>0ξi=0

因此ξi=max(0,1yi(ωxi+b))(1)

所以最小化第一个定义受约束 (1)等价于最小化第二个定义(正则化器+铰链损失)

f(w)=w22+C(i=1Nξ)k
R(w)+Cmax(0,1yi(ωxi+b)).

还有另一个问题可能与在不可分离情况下理解 SVM 的约束有关?.