这次作业其实总的来说花费了很长时间,主要是自己不能集中去写代码,第二是基础知识很多不扎实,很多需要查,但是我查也不是深究,我就简单记录一下用法,主要还是需要多用。每次都小结一下。
前面一些错误的点:
s["dW" + str(l+1)] = beta2 * s["dW" + str(l+1)] + (1-beta2)* np.square(grads["dW" + str(l+1)])
#s["db" + str(l+1)] = beta2 * s["db" + str(l+1)] + (1-beta2)* math.pow(grads["db" + str(l+1)],2) 错啦
v_corrected["dW" + str(l+1)] = v["dW" + str(l+1)] / (1 - np.power(beta1,t))
#v_corrected["db" + str(l+1)] = v["db" + str(l+1)] / (1 - math.pow(beta1,l)) 错啦
新的写法:
s["dW"+str(l+1)]=np.zeros((parameters["W"+str(l+1)].shape[0],parameters["W"+str(l+1)].shape[1]))
s["db" + str(l+1)] = np.zeros_like(parameters['b'+ str(l+1)])
新学的函数:
numpy中的ravel()、flatten()、squeeze()的用法与区别 https://blog.csdn.net/tymatlab/article/details/79009618
参见官方文档:
Python Numpy模块函数np.c_和np.r_学习使用 https://blog.csdn.net/Together_CZ/article/details/79548217
- np.r_是按行连接两个矩阵,就是把两矩阵上下相加,要求行数相等,类似于pandas中的concat()
- np.c_是按列连接两个矩阵,就是把两矩阵左右相加,要求列数相等,类似于pandas中的merge()
5 - Model with different optimization algorithms
Lets use the following "moons" dataset to test the different optimization methods. (The dataset is named "moons" because the data fr