如何在 Excel 中设置线性支持向量机?

机器算法验证 分类 支持向量机 擅长
2022-03-24 06:26:12

在过去的一年里,我一直在使用支持向量机来完成二进制文本分类任务。使用过 R 和 Rapidminer 等软件后,我并没有花太多时间来了解支持向量机内部的实际情况。我现在已经开始研究这个,希望能更好地理解这种分类/回归方法。

我花了很多时间寻找计算示例,因为如果我可以在 Excel 中实际设置问题,它往往会很好地增强我对概念的理解。因此,我希望通过在这里提出这个问题来获得指导,因为我无法找到任何逐步计算的示例。人们可以很容易地找到需要理解和计算解决的数学和优化问题的描述,但我一直无法找到一个逐步计算的示例。

如果论坛批准我制作这样一个示例的想法,我将进行编辑,最后制作一个漂亮而清晰的 Excel 表格和一份指南以供将来使用。

我建议我们使用Iris数据集(即使它是一个多类数据集)并尝试将Iris setosaIris versicolor分开。

我提供三个链接。链接一是我认为可以用作支架的 SVM 应用理论。链接二提供了一个回归示例,说明我认为我们的产品最终会是什么样子。链接三将带您进入Iris数据集。

支持向量机的理论与应用

回归指南

鸢尾花数据集的链接

下面我将尝试更巧妙地表述这个问题。

问题描述:

如何应用 Excel 和具有软边距的线性支持向量机技术来解决通过使用所有可用特征Iris数据集中分离Iris setosaIris versicolor给出的二项式分类任务?

4个回答

老实说,我不确定您为什么要在 Excel 中执行此操作。尽管如此, ...

线性 SVM 需要求解具有多个线性约束的二次程序。您可以查看此答案 [1] 以了解二次程序的设置方式。一旦你设置了二次程序并找到了一个可以帮助你在 Excel 中求解它的求解器,那么你就可以开始了。

另一方面,相应的二次规划有一个产生核概念的对偶。对偶的目标函数可以在这里找到[2]。如果你能在 Excel 中找到二次程序求解器,你不妨解对偶,这将允许你解决线性核之外的问题。

如果您手头没有 QP 求解器,那么您可以编写求解 SVM 对偶的 SMO 算法 [3]。提供的链接为您提供了一个伪代码。SMO 是求解 SVM 对偶的最简单的算法之一,但也是最慢的。然而,对于少量的训练数据,它应该是相当快的。

[1]给定二维空间中的一组点,如何为 SVM 设计决策函数?

[2]使用 RBF 核的非线性 SVM 分类

[3] http://cs229.stanford.edu/materials/smo.pdf

这看起来像一个很好的教程,并有一个可下载的 Excel 示例: http: //people.revoledu.com/kardi/tutorial/Regression/KernelRegression/KernelRegression.htm

如果您想以 excel 格式组织数据,您可以尝试使用 Excel2SVM。 http://www.bioinformatics.org/Excel2SVM/可能会有所帮助

您可以在此处找到教程,它使用 Excel(无宏)并以直观的方式解释所有内容(注意:大多数部分都在付费墙后面,但价格合理):

http://people.revoledu.com/kardi/tutorial/SVM/index.html