Machine learning SVM的怪异现象:负面例子得分更高

Machine learning SVM的怪异现象:负面例子得分更高,machine-learning,svm,vlfeat,regularized,Machine Learning,Svm,Vlfeat,Regularized,我使用VL Feat和LIBLINEAR来处理2类分类。训练集的#(-)/#(+)为35.01,每个特征向量的维数为3.6e5。我有大约15000个例子 我已将正面示例的权重设置为35.01,将负面示例的权重设置为1作为默认值。但我得到的结果是测试数据集的性能非常差 因此,为了找出原因,我设置了培训示例作为输入。我看到的是,消极的例子比积极的例子得到的决策值略高。这真的很奇怪,对吧?我已经检查了输入,以确保没有错误标记示例。我已经对直方图向量进行了标准化 以前有人遇到过这种情况吗 以下是经过训练

我使用VL Feat和LIBLINEAR来处理2类分类。训练集的#(-)/#(+)为35.01,每个特征向量的维数为3.6e5。我有大约15000个例子

我已将正面示例的权重设置为35.01,将负面示例的权重设置为1作为默认值。但我得到的结果是测试数据集的性能非常差

因此,为了找出原因,我设置了培训示例作为输入。我看到的是,消极的例子比积极的例子得到的决策值略高。这真的很奇怪,对吧?我已经检查了输入,以确保没有错误标记示例。我已经对直方图向量进行了标准化

以前有人遇到过这种情况吗

以下是经过训练的模型的参数。我对偏差、正则化器和dualityGap等参数感到奇怪,因为它们太小了,很容易失去准确性

model.info = 
            solver: 'sdca'
            lambda: 0.0100
    biasMultiplier: 1
              bias: -1.6573e-14
         objective: 1.9439
       regularizer: 6.1651e-04
              loss: 1.9432
     dualObjective: 1.9439
          dualLoss: 1.9445
        dualityGap: -2.6645e-15
         iteration: 43868
             epoch: 2
       elapsedTime: 228.9374

可能发生的一件事是,LIBSVM将数据集中的第一个示例作为正类,而将负类作为非数据集中的第一个示例。所以可能是因为你的否定比肯定多35倍,你的第一个例子是否定的,你的类被颠倒了。如何检查这个?确保训练集中的第一个数据点为正类

我查看了LIBLINEAR的常见问题解答,它似乎也发生在LIBLINEAR中(我对LIBLINEAR不太熟悉): (搜索反向)