LIBSVM 对未经训练的 class 样本给出相同的预测。为什么?

LIBSVM gives same prediction for samples of untrained class. Why?

我已经在两个 classes 上训练了 SVM。一种是真实用户样本。第二个是许多与真实用户样本大小相等的负样本。我已经在 class 上测试了这个系统, 没有 被用于训练。结果很有趣,我无法解释;我不知道这是否符合预期,SVM 问题或其他问题。

(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)
(0:0.9104172110162648)(1:0.08958278898373527)(Actual:1.0 Prediction:0.0)

以上是我针对未经训练和未见过的 class 的不同样本获得的输出类型示例。每个样本都完全相同。我希望它们更接近 class 1.0,我也希望至少概率会发生变化!

您是否完全交叉验证了模型的性能?您是否对超参数进行了网格搜索?

您的输出可能很容易解释为机器学习执行不佳。如果您使用的是 RBF 内核,并且它的宽度太小,那么影响分类决策的唯一因素就是偏差项。就其性质而言,偏置项对于所有输入都是相同的。因此,对于所有看不见的测试数据(除非它非常接近训练数据),您将获得完全(或几乎)相同的输出。

在不了解有关您的数据和您实际执行的操作的更多详细信息的情况下,我不能肯定地说这就是发生的事情。但这似乎是一种可能的情况。