机器学习—矩阵乘法
矩阵只是一个或两个数组。
如何在向量之间取点积?
让我们用列向量[1,2]*[[3,4],如果z是这两个向量之间的点积,然后通过乘以第一个元素来计算z,通过这里的第一个元素,所以是1*3加第二个元素乘以第二个元素即2*4,所以就是3+8=11,在更普遍的情况下,如果Z是向量A和向量W之间的点积,然后把第一个元素相乘来计算z,然后第二个元素在一起,第三个元素以此类推,然后把所有这些产品加起来,这就是矢量点积。原来还有另一种等价的方法来写点积,给定一个向量a,可以写成行向量也可以写成列向量,可以相互转换,所以向量的转置,意思是你取这个矢量,把它的元素放在像这样的侧面,结果是如果你把一个转置相乘,这是一个行向量,或者看成一个1×2的矩阵,把列向量看作是2×1的矩阵,Z=转置乘w,这和取a和w之间的点积是一样的。所以总结一下,Z=A和W之间的点积等于A转置乘以w,这将有助于理解矩阵乘法,这只是两种方法来写完全相同的计算,现在得到Z.
让我们来看看向量矩阵乘法,也就是当你把一个向量乘以一个矩阵,又得到一个向量,列向量a转置后得到行向量a,所以与其把这看作是一个2×1的矩阵,转置后就变成了1×2的矩阵,现在用这四个元素创建一个2×2的矩阵w,如果你想计算Z,Z=a转置W,结果z是一个2×1的矩阵,计算z的第一个值,我们要做一个a转置乘w1,所以要计算z的第一个元素,最终得到(1*3)+(2*4),然后计算第二个元素,现在将转置乘w2,,所以计算第二个元素,最终得到(1*5)+(2*6)。
这就是如何把向量矩阵乘法推广到矩阵矩阵乘法,有一个矩阵A,那么如何计算转置次数,和上边不同,上边是向量,现在是一个矩阵,不仅仅是一个矢量,但矩阵只是一组不同的向量,以列的形式堆叠在一起,所以,首先要理解转置的概念,为了计算转置,我们要取一个A,就像你把一个矢量一次一列,所以第一列变成第一行,它只是放在一边,第二列放在第二行,所以转置矩阵的方法是行边列,列变行,作为一个转置W,思考矩阵的方法对神经网络的实现是很有用的,如果你看到一个矩阵,想想矩阵的列,如果你看到一个矩阵的转置,把矩阵的行看作是组合在一起的,正如这里用a和转置以及w所示,那么如何乘转置,Z=A转置W,这意味着a1转置是转置的第一行,a2转置是转置的第二行,把w的列称为w1和w2,所以要计算转置w,首先要做的是,忽略A的第二行,注意A的第一排,这是一个转置,并将其与w相乘,所以我们所做的就是取一个a1转置,然后乘w,再取转置a2,然后乘w,所以最终得到了一个转置乘w等于这里的二乘二矩阵。
这是一个向量与矩阵相乘的例子或者一个有矩阵的矩阵,向量之间有很多点积,但以某种方式对其进行排序以构造输出的元素Z一次一个元素。
原文地址:https://blog.csdn.net/yn3535_/article/details/143499596
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!