什么是支持向量机?

机器算法验证 机器学习 分类 支持向量机 参考 监督学习
2022-01-30 23:51:55

什么是支持向量机?有人可以澄清我的困惑吗?

可能的答案:

  1. 支持向量机是问题所在:给定数据(xn,yn),n=1,,N

minw,b12||w||2
 subject to: yn(wxn+b)1,n=1,...,N

请参阅使用许多示例求解支持向量机 Paweł Białoń,“...介绍并比较了处理具有大量示例的线性支持向量机 (SVM) 问题的各种方法...”

请参阅 http://www.cs.tau.ac.il/~mansour/ml-course-10/scribe9.pdf “我们从构建 SVM 背后的直觉开始,继续将 SVM 定义为优化问题


  1. SVM是解决问题的算法

    给定数据(xn,yn),n=1,,N

minw,b12||w||2
 subject to: yn(wxn+b)1,n=1,...,N

“SVM 是最好的(许多人认为确实是最好的)‘现成的’监督学习算法。” - 吴恩达

请参阅参考资料,“SVM 是一种监督学习算法”

但这意味着 QP 求解器是 SVM ......


  1. SVM是解决以下问题的方法:

    给定数据(xn,yn),n=1,,N

minw,b12||w||2
 subject to: yn(wxn+b)1,n=1,...,N

见, https://cel.archives-ouvertes.fr/cel-01003007/file/Lecture1_Linear_SVM_Primal.pdf(第22页)“SVM是解决问题的方法......”(但随后作者立即通过调用自相矛盾SVM 是一个二次规划问题 - 那么它是解决方案还是问题??)

参见,参考“SVM 是一个判别分类器”

2个回答

一开始,我认为值得注意的是,术语有很多变化,不仅在术语“支持向量机”的指称方面,而且在更通用的术语“机器”方面也是如此。通常,术语“机器”用于指代执行特定优化的算法。但是,正如您从问题中的各种引号中看到的那样,它通常更宽松地用于指代优化问题、解决方案或计算该解决方案的算法(甚至是所有这三个元素的组合) . 这有点自然,因为所有这三件事都是同一个统计预测问题的方面,并且通过描述直接区分问题的这些方面很简单。

考虑到这一点,在确定术语“支持向量机”的正确指称时,值得通过最初的文献追溯该术语。一个很好的起点是Moguerza 和 Munoz (2006),它概述了支持向量机及其应用。根据这个来源,术语“支持向量”首先在Cortez 和 Vapnik (1995)中使用,其中作者将“支持向量网络”称为“学习机”。在页。在后一篇论文的 275 中,作者解释说,“支持向量”是指训练数据中的少数向量,它们确定了方法中最优超平面的边界。“支持向量网络”(一种“学习机”)的描述在第 10 页给出。276,这显然是指一种方法——即一种算法——用于计算最优超平面。此外,该论文的实质性贡献显然与构建算法以解决长期存在的优化问题有关。

该术语与使用术语“机器”(或“学习机器”)来指代解决特定学习/优化问题的算法的更普遍的做法是一致的。这可以追溯到图灵机和其他类型的概念计算机,它们一直被视为计算问题输出的工具。后来关于“支持向量机”的文献似乎采用了 Cortez 和 Vapnik (1995) 命名法的简化版本,其中作为“学习机”的“支持向量网络”的术语被简单地连接到“支持向量机器”。术语的这种历史演变,以及在那篇论文中所做的实质性分析,执行优化的算法当然,正如您所观察到的,有些作者松散地使用这个术语,要么指代优化问题本身,它的解决方案点,甚至是问题/解决方案/算法的整个三重奏。

这是另一个不错的教程,其中包含 python 代码和从头开始的数学推导......

http://www.adeveloperdiary.com/data-science/machine-learning/support-vector-machines-for-beginners-linear-svm/

在此处输入图像描述