矩阵相乘公式-矩阵相乘运算公式
在数学世界里,矩阵乘法这事儿,跟咱们日常用的加法点菜彻底不一样。加法是每条路都直来直去,走到哪算到哪;乘法呢,得先看看这路通不通,再拍板是走哪条路。 大量人一见到"AB"就急着套公式,认定是个好办的矩阵乘积,结局一算就傻眼。
哪儿有的去了?哦,原来得先确认“路”能不能通。
要是矩阵 A 的列数跟矩阵 B 的行数对不上,那这就相当于你去问路的人比你多一条腿,要么问路的人比你还少一只脚,这种局没法办。 举个例子吧。设矩阵 A 是个 2 行 3 列的表格,也就是有两行,三列:第一行是 1 2 3,第二行是 4 5 6。再设矩阵 B 是个 3 行 2 列的表格,有三行,两列:第一行是 7 8,第二行是 9 10,第三行是 11 12。
这时候,A 的列数(3 列)正好等于 B 的行数(3 行),这就像是刚好两个人正好够坐两个人,门是开的。
反过来,要是 B 是个 1 行 2 列的表格,那 A 就忒高了,根本没人能进门,要么进门的人比你还多,这就没法乘了。 那到底如何算呢?实际上这可是个“分拆”的过程。
看 A 的第一行,它代表了对应 B 的第一行去哪了。A 的第一行数字 1、2、3,实际上就是把 A 的第一行跟 B 的第一行对应起来,算出结局后自动复制成两行。1 乘以 7 等于 7,1 乘以 9 等于 9,1 乘以 11 等于 11。2 乘以 8 等于 16,2 乘以 10 等于 20,2 乘以 12 等于 24。3 乘以 7 等于 21,3 乘以 9 等于 27,3 乘以 12 等于 36。 这时候你会发现,结局矩阵 B 的前两行就出来了。
原来 7、9、11 组成了 B 的第一行,16、20、24 组成了 B 的第二行。
这就好比你的哥们儿 A 把他在 B 的行上踩过的痕迹,全体复印在了 B 的列上。 第二行呢?A 的第二行是 4、5、6,它们对应的是 B 的第二行。4 乘以 7 得 28,4 乘以 8 得 32,4 乘以 11 得 44。5 乘以 8 得 40,5 乘以 10 得 50,5 乘以 12 得 60。6 乘以 7 得 42,6 乘以 9 得 54,6 乘以 12 得 72。 这时候,你会发现 B 的第三行彻底由 A 的第二行生成。28、32、44 是 B 的第一行,40、50、60 是 B 的第二行,28、40、54 是 B 的第三行。
什么的,前两个数字一样,后面那个呢?哦,是 54。
这种“乘法”,本质上是一种“分拆”要么“映射”。A 的每一行都在告诉 B 的列:“我是哪位,我要如何投币。” 再换个角度想,要是 A 是别人,B 是房间。A 的 1 号房间里有 2 把椅子,2 号房间里有 3 把椅子。当你把 A 扔进 B 的房间时,B 的 1 号房间(第三列)里正好有 2 把椅子,3 号房间(第二列)里有 3 把椅子。A 的 2 号房间(第二列)正好有 3 把椅子,故此 B 的 2 号房间(第一列)里也有 3 把椅子。 实际上矩阵乘法就是一种贼直观的信息交互。它不像加法那样好办叠加,它更像是一个筛选过程。
看 A 的啥行,就看看能不能跟 B 的啥行“匹配”。
要是行能匹配,那就进行乘法计算;要是行数不对,整个运算就终结了,要么说结局就是“不通”。 有时候我们还会认定这系数有点怪。
比如 1、2、3 乘以 1、2、12,结局出现了 7、16、21 这种数字。
这乍一看挺复杂的,但换个思路,就是把 1、2、3 看作是一个斜线方向的投影,把 1、2、12 看作是垂直方向的投影,它们交叉重叠的局部,自然就形成了新的数字。 这种运算在机器学习、图像处理、就连游戏引擎里都天天用。
比如深度学习算法里,神经网络每一层的矩阵乘法,实际上就是把一堆对数编码的数据,映射到下一个层级的特征上。
这时候,矩阵乘法不只是是算个数值,它是在传递“信息流”。 有时候我们就连能感觉到,矩阵乘法有一种逻辑上的“性急”。它不喜爱拐弯抹角。
要是 A 和 B 的维度匹配,它就想赶紧把乘法算完,拿到结局。
要是错了(维度不对),它就直接暂停,不会像加法那样告诉你“再试一次”要么“借一下”。
这种急躁的运算方式,让它既高效又有点“死板”,但也故此变得贼强大,能搞定那些涉及长距离依赖要么复杂映射的任务。 最终总结一下,矩阵乘法这事儿,别总想着把它当一般/平平的计算题来硬啃。它更像是一种规则严格的“分拆”游戏。先看行能不能对应,再看系数能不能乘,最终看看结局长啥样。
只要维度匹配,它就能把一连串的数字关系理顺;要是连这种基础规则都破不了,那结局自然就是“不通”。
这种看似好办的操作背后,藏着大量复杂的逻辑链条,也是它之故此能在现代科技中占据核心地位的缘由。
声明:演示网站所有内容,若无特殊说明或标注,均来源于网络转载,仅供学习交流使用,禁止商用。若本站侵犯了你的权益,可联系本站删除。
