2012-08-27 70 views
1

     我想学习一般SVM实现它采用QP问题进行培训。最初,我不想学习序列最小优化(SMO)类型的算法,它超出了QP矩阵大小问题。任何人都可以给我一些参考,学习纯粹的通用SVM实现的任何编程语言,如C,C++或Java。这样我就可以理解SVM中的基本问题,它会帮助我学习其他一些SVM优化算法。一般SVM实现

回答

6

这个blog post by Mathieu Blondel解释了如何在Python中使用通用QP解算器(在这种情况下,他使用的是CVXOPT)解决带或不带内核的SVM问题。

源代码发布在gist上,并且由于n维数组的numpy数组符号(在这种情况下,主要是2D矩阵和1D矢量),非常容易理解。

1

您可以查看一些提到的资源here。查看现有代码也是可取的。其中一个最流行的实现是LIBSVM,它是开源的,所以你可以研究实现。

+0

嗨Qnan,我已经提到了LIBSVM,正如你所建议的那样......在LIBSVM中,我可以看到SMO类型的分解方法(使用训练支持向量机的二阶信息的工作集选择)。这是一般的SVM实施吗? –

+0

LIBSVM正在实现OP不感兴趣的特定于SVM的优化器,即顺序最小优化(SMO)。 – ogrisel

+1

@ogrisel它确实在那里说“最初” – Qnan