矩阵乘法为什么像吃火锅:先搞清楚你加的是什么料
为什么程序员也要学矩阵?
如果你觉得线性代数和后端 CRUD 没什么关系,那你大概率没用过 3D 图形、机器学习、或者……很多场景都用得上。就像你以前觉得数学没用,直到你发现每个月工资条上的数字少得可怜——原来数学好的人早就算清楚了个税。
火锅矩阵
假设你和两个朋友去吃火锅,点了三种料:牛肉、毛肚、鸭血。每个人吃的数量不一样:
牛肉 毛肚 鸭血
你 3 2 1
朋友A 1 4 0
朋友B 2 2 3
这就是一个 3x3 的矩阵。每个数字是“某人吃了某料多少份”。
现在你要算每个人消费了多少钱。每种菜的价格:牛肉 38 元、毛肚 28 元、鸭血 12 元。
[3 2 1] [38] 3x38 + 2x28 + 1x12 = 182
[1 4 0] x [28] = 1x38 + 4x28 + 0x12 = 150
[2 2 3] [12] 2x38 + 2x28 + 3x12 = 168
你该付 182 元,朋友A付 150 元,朋友B付 168 元。矩阵乘法其实就是“把对应东西乘起来再相加”——对,就是火锅账单的计算方式。
为什么它叫“乘法”而不是“加法”?
因为每个结果元素是“左边一行和右边一列的点积”。教科书上叫“内积”,我管它叫“算账”。
更关键的是:矩阵乘法不满足交换律。A x B 不等于 B x A。就像你先吃火锅再结账,和先结账再吃火锅——流程完全不一样,后者你可能会饿着肚子付钱。
在计算机里有什么用?
- 图像变换:一张图片的旋转、缩放、平移,背后都是矩阵乘法
- 神经网络:每一个全连接层做的事情就是 y = Wx + b,中间那个 Wx 就是矩阵乘法
- 推荐系统:用户x物品矩阵分解,找到“你可能也喜欢”
你以为你在刷抖音?其实你在做矩阵运算。
总结
矩阵乘法没那么玄乎——就是“行乘列再累加”。你可以把它理解成算账、做饭配方、或者拼乐高说明书。别怕,它就是个数学工具,跟你用的 Excel 差不多。