1.错误总结:1.如果输入为二维,输出为三维,可能是实际接收返回值的参数小于函数返回的参数数目
2.zeros()中必须是(,)这种,而randn()中则是直接放数字加逗号,shape()中都可以
2.元组和数组:元组只要是用逗号隔开如a=(x,c),无论x,c本身是数字还是元组,其得到数目都是(2,);数组如果是两个,则得到(2,x.shape[1]),同样无论x,c的种类,但是需要同形式
1.初始化:(修正的问题:防止梯度爆炸或者消失)w一般he初始化,b一般zeros初始化(random初始化一般需要乘小系数,因为sigmoid,tanh中w导致z过大,梯度下降缓慢(w为0梯度下降就为0)
2.正则化:(修正问题:防止过拟合)l2:一般选择较小值,修改成本函数以及反向传播函数中dw本身即可
dropout:*keep=0.5不代表0.5的点被删除,这里只是阈值设定,设定大留下的概率高。对象是前向传播的A和dA,且前向的D和反向的要相同,对w,b,z以及对应的d不做修改。类似于对节点的输出值随机扣取。