支持向量机算法中的最优解

我在《数据挖掘理论与实践洞察》一书中学习了支持向量机算法。

Page 253 Example 10.1

书中提到,算法在找到Wtranspose X -gama后停止,并发现有3个误分类

书中还提到,分类器在训练集上的准确率70%。那么,这是否是最终最优解,还是说在支持向量机中进行了迭代?如果有迭代,请告诉我从哪里开始迭代,以及应该从哪些数据开始迭代。


回答:

支持向量机以迭代方式进行训练,以寻找全局最优解。因此,它不会像神经网络那样陷入次优解,但仍然是以迭代方式进行训练,因为此类问题没有闭合形式的解。需要注意的是,这个最优解是通过最小化支持向量机的优化项来定义的,该优化项包含了边界大小和误分类数量的加权和,这与实际优化准确率(或任何其他评估指标)相去甚远。尽管你可以通过使用RBF核以及非常大的C和gamma值来人为地训练一个模型,使其在训练集上达到100%的准确率,但这会导致你的支持向量机过拟合数据(这将退化为一个简单的记忆训练集的无用模型,但你会看到“100%”的分数)。所以,是的,训练的结果是模型的“最终形式”,低于100%的准确率是预期的。

第二个问题“从哪里开始迭代”没有意义。在经典方法中,问题被转换为其对偶解释,其中运行SMO算法以在拉格朗日乘数的线性有界子空间上找到凸函数的最优解。迭代通过违反KKT最优性条件的点进行,因此这些是“开始”的点。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注