这里给了官网的简单分析,时间有限我贴图说道。
Week1
Week2
这题:Convert the entries of a into 0 (if activation <= 0.5) or 1 (if activation > 0.5), stores the predictions in a vector Y_prediction. If you wish, you can use an if/else statement in a for loop (though there is also a way to vectorize this). 我的答案如下:
for i in range(A.shape[1]):
# Convert probabilities A[0,i] to actual predictions p[0,i]
### START CODE HERE ### (≈ 4 lines of code)
if A[0,i] > 0.5:
Y_prediction[0,i] = 1
else:
Y_prediction[0,i] = 0
### END CODE HERE ###
我不是很熟悉python的技巧,看了一下网友的答案,原来可以一句代码搞定。
for i in range(A.shape[1]):
# Convert probabilities a[0,i] to actual predictions p[0,i]
### START CODE HERE ### (≈ 4 lines of code)
Y_prediction[0, i] = 1 if A[0, i] > 0.5 else 0
### END CODE HERE ###
嘻嘻嘻。
图片太大了可能会失败。
ValueError: total size of new array must be unchanged
Week3
n_x = X.shape[0] # size of input layer
n_h = 4
n_y = Y.shape[0] # size of output layer
initialize_parameters(n_x, n_h, n_y)
A2, cache = forward_propagation(X_assess, parameters)
compute_cost(A2, Y_assess, parameters)
grads = backward_propagation(parameters, cache, X_assess, Y_assess)
parameters = update_parameters(parameters, grads)
predictions = (A2 > 0.5)
Week4
这题我以为是激活函数,选错了。g(z)才是激活函数。
不要把输入层算入,最后一层输出层不是隐藏层。所以L=4,hidden layer = 3