Matlab多维特征SVM

Matlab multidimensional feature SVM

我在 Matlab 中使用 SVM classifier 有点问题。我有一个 61200x59 的特征矩阵,其中每一行代表一组从图像中提取的特征(所有双精度值)。所有这些特征都与包含 2 个标签的 61200x1 矩阵相关联:0 和 1(作为双变量)。现在我想训练一个线性 classifier 并且我使用了以下函数:

SVM_Model = fitcsvm(train_features, train_labels, 'KernelFunction', 'linear')

如果我查看此行的详细信息,我会得到以下结果:

SVM_Model = 
  ClassificationSVM
             ResponseName: 'Y'
    CategoricalPredictors: []
               ClassNames: [0 1]
           ScoreTransform: 'none'
          NumObservations: 61200
                    Alpha: [40956×1 double]
                     Bias: 0.9998
         KernelParameters: [1×1 struct]
           BoxConstraints: [61200×1 double]
          ConvergenceInfo: [1×1 struct]
          IsSupportVector: [61200×1 logical]
                   Solver: 'SMO'

但是当我在测试集 ([label, score] = predict(SVM_Model, test_features(i, :));) 上调用预测函数时,它总是预测标签 1(超过 15000 次测试,所以看起来有点可疑)和所有 class 0 对象我有一个 class 化错误。谁能告诉我可能是什么问题? SVM 无法处理高维点,是否需要重新缩放特征?或者存在另一个问题(比如 SVM 学习配置错误)?

使用 HIK 内核一切正常。同样使用 RBF 内核在这个问题上给出了很好的结果。