我试图在Andrew Ng深度学习课程中为编程作业实现成本函数,这需要我自己的原创作品。我也不允许在未经许可的情况下复制作业代码,但无论如何我都是这样做的。
成本的预期结果= 6.000064773192205,但是使用此代码,我的结果成本= 4.50006477319。有没有人知道我在这段代码中做错了什么?
删除了代码
答案 0 :(得分:2)
你的sigmoid函数有错误。你应该计算np.dot(np.transpose(w), X) + b)
的负数。
这是我用过的那个
A = 1 / (1 + np.exp(-(np.dot(np.transpose(w), X) + b)))
答案 1 :(得分:1)
np.sum(np.multiply(Y, np.log(A)) + np.multiply((1-Y), np.log(1-A))) /m
答案 2 :(得分:0)
万一你发现它很有用(并且我正在做相同的源码),你也可以通过使用它来调用你在expandate()中定义的上一步中定义的sigmoid()函数:
A = sigmoid(np.dot(w.T,X) + b)
您的工作证明没有必要,但它有点清洁。