我尝试使用MNIST数据集仅对数字“1”和“5”进行二元分类,但准确性并不理想。以下程序是否有问题?如果您发现了什么,请给我一些建议。
损失值:-9.9190e+04
准确性:0.5599
回答:
您的y_train和y_test中充满了类别标签1和5,但您最后一层的sigmoid激活函数将输出压缩在0到1之间。
如果您将y中的5改为0,您将获得非常高的准确性:
y_train = np.where(y_train == 5, 0, y_train)y_test = np.where(y_test == 5, 0, y_test)
结果:
64/64 - 0s - loss: 0.0087 - accuracy: 0.9990