SVM 在哪些领域仍然是最先进的?

人工智能 机器学习 支持向量机 最先进的
2021-11-02 21:53:18

似乎深度神经网络和其他基于神经网络的模型正在主导许多当前领域,如计算机视觉、对象分类、强化学习等。

是否存在 SVM(或其他模型)仍在产生最先进结果的领域?

4个回答

最先进的技术是一个艰难的标准,因为不清楚应该如何衡量它。另一种类似于最先进技术的标准是询问您何时可能更愿意尝试 SVM。

SVM 有几个优点:

  1. 通过内核技巧,如果您想在许多非线性特征组合而不是原始特征集上学习模式,SVM 的运行时间不会显着增加。相比之下,像深度神经网络这样的更现代的方法需要更深或更宽才能对相同的模式进行建模,这将增加其训练时间。
  2. SVM 对选择“保守”假设具有固有的偏见,这些假设不太可能过度拟合数据,因为它们试图找到最大边际假设。从某种意义上说,他们“烘烤”了奥卡姆剃刀。
  3. SVM 只有两个超参数(内核的选择和正则化常数),因此它们很容易针对特定问题进行调整。通常通过对参数空间执行简单的网格搜索来调整它们就足够了,这可以自动完成。

SVM 也有一些缺点:

  1. SVM 有一个运行时,可以在您要训练的数据点数量上进行三次缩放(即O(n3)运行时)1 . 这与运行在O(wne)时间,地点n是数据点的数量,e是训练 epoch 的数量,并且w是网络中权重的数量。一般来说w,e<<n.
  2. 为了利用内核技巧,SVM 为任意两对点之间的内核化“距离”缓存一个值。这意味着他们需要O(n2)记忆。这比大多数现实世界场景中的三次运行时要麻烦得多。超过几千个数据点将使大多数现代服务器抖动,从而将有效运行时间提高几个数量级。与第 1 点一起,这意味着对于超过 5,000-10,000 个数据点(在上限)的集合,SVM 往往会变得异常缓慢。

所有这些因素都表明 SVM 仅与一个用例相关:目标模式被认为是先验的小型数据集,是大量特征的一些规则但高度非线性的函数。这个用例实际上经常出现。在最近的一个示例应用程序中,我发现 SVM 是一种自然的方法,它为目标函数构建预测模型,该模型已知是特征对之间交互的结果(特别是代理对之间的通信)。因此,具有二次核的 SVM 可以有效地学习保守、合理的猜测。


1如其他答案中所述,有一些近似算法可以比这更快地求解 SVM。

由于该领域的最新进展,深度学习和神经网络得到了大部分关注,大多数专家认为它是解决机器学习问题的未来。

但是不要误会,经典模型仍然会产生出色的结果,并且在某些问题上,它们可以产生比深度学习更好的结果。

到目前为止,线性回归仍然是世界上使用最多的机器学习算法。

很难确定经典模型总是表现更好的特定领域,因为准确性在很大程度上取决于输入数据的形状和质量。

所以算法和模型选择总是一个权衡。使经典模型在较小的数据集上仍然表现更好,这是一个有点准确的说法。然而,很多研究都在致力于在更少的数据上提高深度学习模型的性能。

大多数经典模型需要较少的计算资源,因此如果您的目标是速度,那么它会好得多。

此外,经典模型更易于实现和可视化,这可能是另一个性能指标,但这取决于您的目标。

如果您拥有无限的资源,一个经过适当标记的大量可观察数据集,并且您在问题域中正确实施它,那么深度学习在大多数情况下可能会给您带来更好的结果。

但根据我的经验,现实世界的条件从未如此完美

完全同意@John 的回答。将尝试用更多的点来补充它。

SVM 的一些优点:

a) SVM 由凸优化问题定义,有有效的方法可以解决,例如 SMO

b) 在高维空间以及维数大于样本数的情况下有效。

c) 在决策函数中使用训练点的子集(称为支持向量),因此它也具有内存效率。

d)可以为决策函数指定不同的内核函数。. 在最简单的形式中,内核技巧意味着将数据转换为另一个维度,该维度在数据类别之间具有明确的划分边界。

支持向量机的缺点包括:

a) 如果特征数量远大于样本数量,在选择核函数和正则化项时避免过度拟合至关重要。内核模型对模型选择标准的过度拟合非常敏感

b) SVM 不直接提供概率估计。在许多分类问题中,您实际上需要类成员的概率,因此最好使用 Logistic Regression 之类的方法,而不是对 SVM 的输出进行后处理以获得概率。

对于低维表格数据的数据集。由于巨大的过度参数化,DNN 在低维输入上效率不高。因此,即使数据集很大,但每个样本都是低维的,SVM 也会击败 DNN。

更一般地说,如果数据是表格的并且样本字段之间的相关性很弱且嘈杂,即使对于高维数据,SVM 仍可能优于 DNN,但这取决于数据的具体情况。

不幸的是,我不记得任何关于该主题的具体论文,所以这主要是常识推理,你不必相信它。