随机初始化
note: rate 0.01 适合浅层NN
在训练NN求W,B 时候,往往要初始化W,B,但是不能置0,而是随机赋值。This is very important.
因为一旦权重为0,所有hidden layer 的计算将对称/相同的,这将毫无意义
W[1] = np.random.randn([2,2]) * 0.01
权重随机初始化时,* 0.01 ,而不是*100 ,这背后的原因associate with activate function, {Z[1]=W[1]*X + b[1] ;
a[1]= g[1](Z[1]) } ,根据Activate图形,如果是sigmod,tanh , Z很大,tanh/sigmod会落在一个平缓饱和区域, 梯度斜率非常小,导致梯度下降法很慢。
b[1]=np.zeros([2,1])
b is OK to set 0,