使用神经网络中使用softmax函数的反向传播算法

时间:2020-04-18 09:51:49

标签: python python-3.x math neural-network backpropagation

我正在从头开始为MNIST数据创建一个神经网络,所以我在输出层有10个类。我需要执行反向传播,为此,我需要为最后一层计算dA*dZ,其中dA是损失函数L的导数,其中包括softmax激活函数A dZ是softmax激活函数A wrt到z的派生形式,其中z=wx+b。为dA获得的大小为10*1,而从dZ获得的大小为10*10

对吗?如果是,我将dA*dZ乘以谁,因为它们的维数不同。

1 个答案:

答案 0 :(得分:2)

您快到了。但是,您需要转置dA,例如与numpy.transpose(dA)。 然后,您将拥有dAdZ的正确尺寸以执行矩阵乘法。