吴恩达深度学习--广播技巧

(1)

吴恩达深度学习--广播技巧

(2)

吴恩达深度学习--广播技巧

(3)

      a=np.random.randn(5) //生成5个随机变量放在a数组中
      上式中随机生成的a是一个数组,而不是一个行向量或者列向量。这种方式生成的随机变量是危险的,我们在计算中如果生成这种数据形式,可能会给后面的计算带来难以调试的bug。
吴恩达深度学习--广播技巧
      如上图所示,生成的a在形式上像是一个行向量,但是它的转置并不是一个列向量。实际上,用上图的方式生成的a既不是一个行向量也不是一个列向量。
吴恩达深度学习--广播技巧
      上图代码中可以看出,在生成a的时候,声明了a是一个1X5的行向量,所以a的转置是一个列向量,这样就比较明确了。一般在创建的时候我们就规定创建的是行向量或者列向量。a=np.random.randn(n,1)或者a=np.random.randn(1,n)。

(4)

      可以在任何需要的地方声明a的格式:assert(a.shape==(5,1))或者a=a.reshape((5,1))