Machine learning SVM的怪异现象:负面例子得分更高
我使用VL Feat和LIBLINEAR来处理2类分类。训练集的#(-)/#(+)为35.01,每个特征向量的维数为3.6e5。我有大约15000个例子 我已将正面示例的权重设置为35.01,将负面示例的权重设置为1作为默认值。但我得到的结果是测试数据集的性能非常差 因此,为了找出原因,我设置了培训示例作为输入。我看到的是,消极的例子比积极的例子得到的决策值略高。这真的很奇怪,对吧?我已经检查了输入,以确保没有错误标记示例。我已经对直方图向量进行了标准化 以前有人遇到过这种情况吗 以下是经过训练的模型的参数。我对偏差、正则化器和dualityGap等参数感到奇怪,因为它们太小了,很容易失去准确性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作为默认值。但我得到的结果是测试数据集的性能非常差 因此,为了找出原因,我设置了培训示例作为输入。我看到的是,消极的例子比积极的例子得到的决策值略高。这真的很奇怪,对吧?我已经检查了输入,以确保没有错误标记示例。我已经对直方图向量进行了标准化 以前有人遇到过这种情况吗 以下是经过训练
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不太熟悉): (搜索反向)