矩阵的乘法运算

Multiplication of matrices

本文关键字:运算      更新时间:2023-10-16

我得到了两个矩阵W2和hiddenLayer,我想对它们进行乘法运算。W2尺寸为12x50,hiddenLayer尺寸为50x1。上述计算的正确代码:

 for(int h=0; h<50; h++){
      for(int k=0; k<12; k++){
        outputLayer += W2[k][h]*HiddenLayer[h];
      }
}

还是我得先把k放在第一位??

矩阵乘法定义为:

C=AB⇔Ci,j=∑k=1..nAi,kBk,j对于i,j=1…n(在方形矩阵的情况下)

因此CCD_ 1是一个向量。由于HiddenLayer也是一个向量,这实际上不是矩阵乘法,而是矩阵向量乘法,这简化了上面的公式:

b=Ax⇔bi=∑k=1..mAi,kxk对于i=1..n(A是n×m矩阵)

所以所有的代码都应该是类似的东西

for(int row = 0; row < 12; row++){
    outputLayer[row] = 0;
    for(int column = 0;  column < 50; column++){    
        outputLayer[row] += W2[row][column]*HiddenLayer[column];
      }
}