SVM分类总是产生唯一的解决方案吗?

Posted

技术标签:

【中文标题】SVM分类总是产生唯一的解决方案吗?【英文标题】:Does SVM classification always produces unique solution? 【发布时间】:2012-09-18 09:16:11 【问题描述】:

可分离的线性分类器可以有多个数据分类边界。这就是我们让 SVM 选择具有最大边距的边界的原因(对未见数据的泛化误差最小)。

SVM 分类是否总是产生唯一的解决方案(我们不会在所有可能的数据中得到两个最大边距边界)?

答案是否取决于硬边距 SVM 和软边距 SVM?

【问题讨论】:

您可以稍微重构一下这个问题。 SMO(顺序最小优化)算法是否保证全局最优结果?***在这方面没有太大帮助...... SMO 与是否存在全局最优无关。这是优化问题本身的一个属性(例如,它是否是凸的)。 SMO 只是在给定目标函数和约束的情况下获得某些解决方案的数值方法。您可以为 SMO 提供具有许多局部最优值的非凸问题,然后对其找到的解决方案毫无把握。 【参考方案1】:

是的,标准 SVM 的软和硬公式都是凸优化问题,因此具有唯一的全局最优解。我想如果问题非常大,近似方法会足够简洁,以至于您将使用它们而不是精确求解器,然后您的数值求解技术可能无法找到全局最优值,因为它的权衡好处是减少搜索时间。

解决这些问题的典型方法是顺序最小优化 - 固定一些变量并优化一小部分变量,然后反复使用不同的变量重复,直到无法改进目标函数。鉴于此,我认为任何人都无法以不会产生全局最优的方式解决这些问题。

当然,您找到的全局最优值实际上可能并不适合您的数据;这取决于您的模型、嘈杂的类别标签等代表数据生成过程的程度。所以解决这个问题并不能保证你找到了绝对正确的分类器或任何东西。

以下是我通过粗略搜索找到的一些讲义:(link)

这是关于凸性声明的更直接链接:(link)

【讨论】:

凸优化问题没有唯一解。为此,您需要严格的凸性。 这似乎无关紧要。 对于凸问题,每个局部最小值都是全局最小值,但可能有多个最小值(例如,函数 f(x)=0 是凸的,并且处处被最小值)。在严格凸的情况下,任何局部最小化器也是唯一的全局最小化器。但即使是严格凸的目标函数也可能根本没有最小化器,例如f(x)=1/x。对于硬边距 SVM,如果我们只有一个类别的数据,则没有解决方案。 (但如果数据是可分离的,则存在并且是唯一的。)对于软边距,如果存在非正则化偏差 b,您可以获得多个解决方案。 这些考虑在数学上是有效的,只是与手头的实际问题无关。 抱歉 - 我不知道这是一个实际问题。我正在寻找理论问题的答案(可以用同样的方式写出来),我很沮丧,因为我没有找到它。【参考方案2】:

对于没有正则化的硬边距分类器,SVM 问题可以转换为具有线性约束的强制二次规划问题(假设存在解/正边距)。具有线性约束的强制二次规划问题具有独特的全局最小值,并且简单的优化方法(如梯度下降或感知器算法)可以保证收敛到全局最小值。参见示例

http://optimization-online.org/DB_FILE/2007/05/1662.pdf

对于软边距 SVM 和带有正则化项的 SVM,我认为存在唯一的全局最小值,并且通常的技术会收敛到全局最小值,但我不知道有任何证明可以涵盖所有可能性。

【讨论】:

以上是关于SVM分类总是产生唯一的解决方案吗?的主要内容,如果未能解决你的问题,请参考以下文章

SVM 可以增量学习吗?

在 OpencV 中训练 SVM 分类器?

机器学习05:SVM支持向量机的学习和应用SVM解决猫狗图像分类问题

SVM实现多分类的三种方案

支持向量机

线性 SVM 用于线性分离具有两个特征的数据