我对一份数据集构建了一个两层的baseline和一个深层的网络,两份模型在验证集上的表现是相同的acc 67左右,但是在测试集上两层的网络acc 37,后面这个深层的63,为什么会这样?
同样的训练集、验证集和测试集
是我程序的问题。。测试集我shuffle了数据,计算出来的结果也是shuffle过的。。跟标注的完全对不上,63的那个模型写的很早,测试集是没置乱的。。。。。
具体要看你的程序了。
我说的可能和你的问题没关系,但是你可以打开下思路。
在一个手写数字识别算法里,acc是10%,说明什么呢?说明实际上根本什么也没有学会。因为10个数字分类,随便猜一个也是1/10的正确率。所以说如果你的正确率正好一个37一个63,加起来100,你看看是不是存在根本没有学到有意义的权重。