我有一个37个数据点的数据集和大约1300个功能。有4个不同的类,每个类具有大约相同数量的数据点。我已经训练了一个神经网络,准确度为60%,两个隐藏层也不错(机会等级为25%)。
现在问题在于p值。我正在用置换测试计算p值。我正在对标签进行1000次置换,并且对于每个排列,我正在计算准确度。我将p值计算为相对于原始精度的置换精度的百分比。
对于标签的所有排列,我获得与原始标签相同的精确度,即神经网络似乎不包括学习中的标签。
如果我使用SVM,我会得到所有排列的不同精度(最终像高斯分布)。
为什么会这样?
顺便说一下,我正在使用DeepLearnToolbox for Matlab。
答案 0 :(得分:2)
培训数据或您预留的验证数据集的成功率是60%吗?
如果您仅仅根据训练数据计算成功率,那么即使在置换标签后您也可以获得高精度。这是因为您的分类器将过度拟合数据(1300个特征到37个数据点)并在训练数据上获得良好的性能。