我从零开始创建了一个神经网络。它对于一些基准数据集(如Iris、Make Moons等)工作正常,但对于MNIST数据集则失败。我已经检查了几次代码,没有找到任何错误
我尝试过不同的激活函数组合以及非常高的学习率-500,1000等,我也尝试过不同的架构;多层的有许多神经元的多层的。他们都没用
请注意,计算△final和softmax函数的导数可能有点奇怪,这是因为我试图同时促进均方误差和分类交叉熵。 因为softmax的dZL直接是(Y\u hat-Y),所以我返回1表示softmax导数,尽管softmax的导数不是1
不幸的是,我分享了整个笔记本,因为我不知道是什么原因造成的问题。笔记本链接如下:
https://github.com/mcagriardic/Andrew-NG-Coursera/blob/master/ex4/NeuralNetwork_class.ipynb
我已经解决了这个问题。问题的起因是我初始化体重的方式:
initialise_weights()函数的上一个代码是:
用np.sqrt(self.dimensions[layer-1])项划分初始权值后,问题得到了解决
相关问题 更多 >
编程相关推荐