2017-08-21 96 views
0

我想初始化以下神经网络模型初始化1层的神经网络参数

enter image description here

高清initialize_parameters(n_x,N_H,n_y):

W1 = np.random.randn(4,2) *0.01 
b1 = np.zeros((4,1)) 
W2 = np.random.randn(1,4) * 0.01 
b2 = np.zeros((1,1)) 


assert (W1.shape == (n_h, n_x)) 
assert (b1.shape == (n_h, 1)) 
assert (W2.shape == (n_y, n_h)) 
assert (b2.shape == (n_y, 1)) 

parameters = {"W1": W1, 
       "b1": b1, 
       "W2": W2, 
       "b2": b2} 

return parameters 

我输出出来的:

W1 = [[-0.00416758 -0.00056267] 
[-0.02136196 0.01640271] 
[-0.01793436 -0.00841747] 
[ 0.00502881 -0.01245288]] 
b1 = [[ 0.] 
[ 0.] 
[ 0.] 
[ 0.]] 
W2 = [[-0.01057952 -0.00909008 0.00551454 0.02292208]] 
b2 = [[ 0.]] 

鉴于正确答案应该是:

W1 [[-0.00416758 -0.00056267] [-0.02136196 0.01640271] [-0.01793436 -0.00841747] [ 0.00502881 -0.01245288]] 
b1 [[ 0.] [ 0.] [ 0.] [ 0.]] 
W2 [[-0.01057952 -0.00909008 0.00551454 0.02292208]] 
b2 [[ 0.]] 

W1和b1显然是错的,但我不能让它以任何其他方式工作。新手在这里。提前致谢!

+0

这些值看起来是正确的。您是否正在查看输出中的格式差异,即您的预期结果和实际结果之间的差异? – saopayne

+0

那么我在做Andrew NG新的深度学习课程,当我提交这个答案时,它不会被评分。我认为W1和B1尺寸是错的? – kyttcar

回答

0

它不接受,因为你硬编码f.ex的所有值。 4和2在np.random.randn(4,2)* 0.01。而是使用参数n_h,n_x。