SVM 和 GD/SGD 的区别?

数据挖掘 分类 支持向量机 梯度下降 文本分类
2022-02-19 14:08:09

我的同事提到一个数据科学项目正在使用 SGD 分类器。

因此,我开始阅读有关 GD/SGD 的内容,并偶然发现了一篇关于使用 SVM 和 GD 进行文本分类的好文章。

作者在文章的最后提到:

我们从一堆文件开始训练。然后我们将每个文档表示为数字向量,您可以选择将它们拆分为 n-gram 并使用 TF-IDF 对这些 n-gram 进行加权。现在我们有了数字表示,我们可以给程序训练数据并让它每次都猜测。根据程序的错误程度,程序会根据错误进行调整,以便在下次使用梯度下降时做出更好的预测。它使用 SVM 跟踪其学习,并通过在图中“绘制”新数据点并查看它是在决策边界的右侧还是左侧,使用 SVM 模型进行预测。

这篇文章没有提到 SGD,但从互联网研究中我了解到 SGD 是 GD 的一种变体,其中参数在每次迭代时立即调整,而不是在整个训练集结束时调整。

所以在我看来,SVM 是实际的分类器,而 GD(或 SGD)是一个函数,它告诉分类器它根据 SVM 分类器改进自身的预测正确地完成了预测。

回到我最初的问题:我对 SGD 不是分类器的理解正确吗?

1个回答

是的,梯度下降 (GD) 和随机梯度下降 (SGD) 是优化函数。优化函数的目标是为我们的算法提供最佳的参数组合,使误差最小化。支持向量机是分类算法和 GD/SGD是用于寻找最佳超平面(分离器)的优化函数。

梯度下降的成本函数(训练集的总误差)迭代所有训练样本

随机梯度下降的成本函数只考虑一个训练样本,随机选择