我如何在python中找到softmax的导数

时间:2018-09-21 13:08:58

标签: python numpy neural-network deep-learning calculus

对于CIFAR10数据集的多类别分类,我难以实现反向传播

我的神经网络有2层

前向传播

X-> L1-> L2

权重w2初始化为随机

np.random.randn(L1.shape[0], X.shape[0]) * 0.01

X是大小的输入(no_features *示例数)

Z1 = (w1 * x) + b1

A1 = relu(Z1)

L1具有ReLu激活

Z2 = (w2 * A1) + b2

A2 = softmax(Z1)

L2具有softmax激活

使用此等式计算成本

cost = -(1/m)*np.sum((Y * np.log(A2) ) + ((1 - Y)*np.log(1-A2)))

向后传播

计算成本导数

dA2 = -(1/m)*(np.divide(Y, A2) - np.divide(1 - Y, 1 - A2))

dA2 = A2的导数

Y =一个热编码的True值

现在如何从这里开始

我如何使用dA2找到dZ2(Z2的衍生物)

0 个答案:

没有答案