先放上题目:
下面是我的学习和分析(因Coursera荣誉准则要求,避免与他人分享答案,这里我只放出我学习过程中疑惑或者学习到的地方。):
1.what does neuron compute?神经元计算做了什么?
视频中讲述,一个神经元是计算是计算一个线性函数,然后紧跟着一个激活函数(sigmoid or Relu)
2.Logistic Loss --Loss Function 衡量单个样本集的实验效果
Logistic Cost --Cost Function 在全体样本集上看w,b的效果
3.····reshape this into a colunmn vector?如何重构成一个列向量?列向量显然是(m,1)矩阵
一张像素为64*64的图片,用红、绿、蓝三色矩阵来表示一张图片,这三个都是(64,64)矩阵
4.(2,3)矩阵+(2,1)矩阵,在计算前会将(2,1)矩阵的列复制为三列,然后再相加,得到一个(2,3)矩阵
5.(4,3)矩阵 (3,2)矩阵==》Error! the sizes don't match!
""是元素的乘法运算,运用于数组中,是数组元素逐个计算,当行数相等列数为1(或者列数相等行数为1时)会引起矩阵的广播。而(4,3)*(3,2)不会引起矩阵的广播。
np.dot(a,b):两个数组的点积,运用于数组中,是按照矩阵乘法的规则matrix multiplication(第一个矩阵第m行与第二个矩阵第n列对应位置的每个值的乘积之和,作为结果矩阵第m行与第n列交叉位置的值)来运算。矩阵的乘法规则要求A的列数等于B的行数。
Nx列,m行
np.dot((12288,150),(150,45))
--(12288,150)矩阵和(150,45)矩阵做矩阵的乘法运算,得到(12288,45)vectorize this 对其矢量化
for i in range(3):
for j in range(4):
c[i][j] = a[i][j] + b[j]
如题,想用矩阵的运算来代替题目中的for循环,注意到a是(3,4)矩阵,b是(4,1)矩阵,且根据题中的for循环得到,c是(3,4)矩阵。
显然,通过(3,4)+(1,4)并且运用广播的规则,可以得到(3,4)目标矩阵。“”:元素相乘,如题矩阵(3,3)(3,1)会引起矩阵的广播,得到结果为(3,3)的矩阵。
矩阵的乘法(np.dot(A,B)):需要A的列数等于B的行数。简单计算