我在Rapidminer中尝试实现一个SVM。然而,我遇到了几种SVM实现,包括libsvm、mysvm、JMySVM、基于粒子群优化的SVM和进化SVM。我了解这些实现的基本区别,但我想知道它们的优缺点,以便决定使用哪一种?
我在网上找不到太多相关信息,我希望避免逐一尝试以查看哪个效果最好。因此,我想知道在什么情况下应该使用它们。
回答:
从你的描述来看,你似乎混淆了不同的实现和算法。据我所知,libsvm、mysvm和JmySVM是通过诸如顺序最小优化等算法来解决SVM优化问题的标准实现。
相反,你提到的其他SVM(额外地)使用了不太常见的优化方法,如粒子群优化或进化算法。这些方法通常能以较小的努力提供良好的近似,这对于大规模问题可能是有利的(——但我承认我不清楚它们发明的具体动机)。
如果你正在寻找在机器学习及相关领域中常见的SVM模型,我建议你尝试使用libsvm
库。或者,你也可以查看这里的集合。