在机器学习中,会遇见两个矩阵并非向量乘积,而是数值上的相乘。当下我是初学者,遇见后很困惑,于是搜索了相关资料,写个文章,总结一下个人理解。
后续会进行更新,我是用到哪些就查哪些,就总结哪些
一、 向量的点乘
也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量。
1、设n1是3 x 3 的矩阵,n2 是1 x 3 的矩阵
如上图所示,n2的每一列分别与n1每一行的每一列的各个元素分别相乘,结果另存为一个新矩阵中,新矩阵的维度与n1 和 n2 中维度最大的一样。
2、 若n2是2 x 3 即二维三列的矩阵,与n1 即三行三列3 x 3的矩阵相乘,会报错,如下图:
意思就是以(3,3)和(2,3)的两个矩阵无法进行点乘运算。
3、于是我把矩阵n2换成4x3的矩阵保持列数一致。结果仍然是报错。
4、最后我把矩阵n3换成和矩阵n1一样的行列数即 3 x 3,结果正确。
从上图可以看出,两个维度一样的矩阵进行点乘时,是同一行的同一列元素分别相乘后存储到新的矩阵中,新矩阵的维度与n1和n