【发布时间】:2014-10-31 12:37:41
【问题描述】:
我必须训练一个能够识别 6 种可能的输入样本类别的分类器。我还有一个成本矩阵来估计分类器在考虑和不考虑拒绝选项的情况下的性能。
到目前为止,使用交叉验证(leave-one-out),我将数据集拆分为训练集和验证集,因此我可以测量分类器的表现。我在准确性方面达到了这些结果:
- 多层感知器:57.69% 没有拒绝选项,48.26% 有拒绝选项
- 支持向量机:61.99% 没有拒绝选项,35.09% 有拒绝选项
根据成本(这些是使用最小风险分类规则获得的估计值):
- MLP:2,0028 没有拒绝选项,1,4965 有拒绝选项
- SVM:1,6089 没有拒绝选项,0,8502 有拒绝选项
所以我已经到了不知道哪个分类器更好的地步。
当然,SVM 的成本低得离谱,但是当您考虑拒绝选项时,您会突然发现它的准确性非常差(比 MLP 低 -13%)。
就准确度而言,我会说 MLP 比 SVM 更好,因为它的平均准确度(考虑有/没有拒绝选项): 52.97%(MLP)与 48.54%(SVM)。
但 SVM 在平均成本方面更好:1,74965 (MLP) vs 1,22955 (SVM)。
是否有任何指导方针来促进这一决定?
编辑(根据要求提供更多信息):数据集有约 700 个样本和约 1250 个特征。然而,通过特征选择,我将特征减少到 81 个。
测试集(我没有)将有大约 700 个样本。
【问题讨论】:
-
没有任何通用规则。 SVM 可能比简单的 MLP 更好,但这完全取决于 MLP 的架构、训练算法和您的数据集。
标签: neural-network classification svm libsvm knime