Torch7 中的支持向量机

Support Vector Machine in Torch7

我的模型基于以下教程:

https://github.com/torch/tutorials/tree/master/2_supervised

在最后阶段,神经网络用于从 CNN 提取的特征。我想在最后一层使用 SVM。如何将其添加到我现有的模型中?

一些论文表明,作为 CNN 的最后一层,SVM 似乎比神经网络的功能更好,因此我想尝试一下它们以提高模型的准确性。 SVM 也可用于一个 class class 化,神经网络 lack.I 最后需要一个 class class 化器,因此需要添加一个SVM 到 CNN。

请帮忙

编辑: 自从你 cannot code a (linear) SVM as a complete module 以来,我的旧答案完全是垃圾。相反,您可以将 SVM 视为

a 1-layer NN with linear activation on the output node and trained via hinge loss

(查看已接受答案的评论。)

这意味着在 Torch 中,您可以使用类似

的东西模拟(线性)SVM
linearSVM = nn.Sequential()
linearSVM:add(nn.Linear(ninputs, 1))
criterion = nn.MarginCriterion()

请参阅 Torch7 google code mailing list...

中的以下问题