为什么神经网络对置换标签给出相同的精度?

Why does Neural Network give same accuracies for permuted labels?

我有一个包含 37 个数据点和大约 1300 个特征的数据集。有 4 个不同的 classes,每个 class 具有大约相同数量的数据点。我已经训练了一个神经网络,并通过两个隐藏层获得了 60% 的准确率,这还不错(机会水平 25%)。

现在问题出在 p 值上。我正在用排列检验计算 p 值。我将标签排列 1000 次,并为每个排列计算准确性。我计算的 p 值是置换精度相对于原始精度的百分比。

对于标签的所有排列,我获得了与原始标签相同的准确度,即神经网络似乎不包括学习中的标签。

如果我用 SVM 来做,我会得到所有排列的不同精度(最终就像高斯分布)。

为什么会这样?

顺便说一下,我正在使用 DeepLearnToolbox for Matlab。

60%的成功率是在训练数据上还是在你预留的验证数据集上?

如果您只计算训练数据的成功率,那么即使在排列标签后,您也会期望有很高的准确率。这是因为您的分类器会过度拟合数据(1300 个特征到 37 个数据点)并在训练数据上取得良好的性能。