编写代码来计算反向传播,Andrew NG 的深度学习课程

问题描述

所以我参加了 Andrew NG 在 coursera 上的深度学习 AI 课程。 我目前正在完成第 2 周的最后一项任务。 我到了必须编写前向和后向传播函数的部分。 我设法编写了相当简单的 fwd_propagate 函数。 这是下面的代码

interface A {
    key: string;
}

function doSomething(arg: A | A[]) {
    //
}

doSomething({
    key: 'someValue',invalid: 'invalid',// <-- this does not throw error,do not allow non-existing properties
});

现在我必须编写 bwd_propagation 函数,但我不知道从哪里开始以及如何开始。 有人可以帮我解释一下我应该写什么吗。

这是我到目前为止编写的所有测试内容

def fwd_propagate(w,b,X,y):
    m = X.shape[1]
    A = sigmoid(np.dot(w.T,X)+b)
    J = (-1/m)*np.sum(y * np.log(A) + (1-y) * np.log(1-A))
    return J

解决方法

下一步是计算反向传播的导数:

dw = 1/m*(np.dot(X,((A-Y).T)))
db = 1/m*(np.sum(A-Y))