2012-11-19 43 views
1

我精心收集了我正在进行的概念证明研究的数据。数据由40个不同的主题组成,每个主题都有60个时间间隔测量的12个参数,1个输出参数为0或1.因此,我构建了一个二元分类器。神经网络,不支持SVM的好结果;值得关注?

我事先就知道有输入参数和输出之间的非线性关系,以便贝叶斯分类器的简单感知器将无法样品进行分类。这个假设在初始测试后证明是正确的

所以我去了神经网络和我希望的效果还不错。通常结果是约1-5%的误差。培训是通过使用70%作为培训和30%作为评估来完成的。通过模型再次运行完整的数据集(100%),我对结果非常满意。下面是一个典型的混淆矩阵(P =正,N =负):

P N 
P 13 2 
N 3 42 

因此,我很高兴,并与我使用的30%用于评价的概念我确信我不嵌合的噪声。

因此我决定支持向量机的双重检查和SVM无法收敛到一个很好的解决方案。大多数时候解决方案都很糟糕(比如90%的错误......)。也许我并不完全知道SVM或实现是不正确的,但它让我感到困扰,因为我认为当NN提供了一个好的解决方案时,由于它们的最大边界超平面,SVM在分离数据方面大部分时间更好。

这对我的结果有什么影响?我适合噪音吗?我怎么知道这是否是正确的结果?

我使用Encog进行计算,但NN效果媲美土生土长的NN模型我做了。

+0

我可以问你用于SVM的内核和参数吗?神经网络和支持向量机之间的巨大差异是非常不寻常的。 SVM不一定更好(很大程度上取决于所使用的内核),但无论如何,应该有一个内核可以与ANN产生可比较的结果(有时候更好,有时更糟) – Pedrom

+0

对不起......我忘了提及你,所以你会被通知。仍然习惯了这个stackoverflow的东西:) @avanwieringen – Pedrom

回答

1

如果这是您第一次使用SVM,我强烈建议您参阅着名的SVM包libsvm的作者A Practical Guide to Support Vector Classication。它给出了一系列建议来训练您的SVM分类器。

  • 变换数据到一个SVM包的格式
  • 行为简单的缩放的数据
  • 考虑RBF核
  • 使用交叉验证来ND的最佳参数C和γ
  • 使用最佳参数C和γ
  • 训练整套训练集
  • 测试

总之,尝试缩放数据并仔细选择内核和参数。

+1

我读过它,它真的很有帮助。我能够正确地训练我的模型,以达到与NN相当的结果。 – avanwieringen