數學基礎不好的小夥伴學起深度學習來,總是被各種公式和術語嚇到。今天先分享一下矩陣乘法的理解。
一、問題引出 - 一道小學生應用題
計算題一:小明今天要做飯,消耗2斤肉,1斤蔬菜。肉每斤20元,蔬菜每斤5元,則一共需多少花費?
解法: 20 X 2+ 5 X 1 = 45
計算題二:小明第二天有另一種做飯的方法,需要消耗1斤肉,4斤蔬菜,那麼這兩種方法的花費各是多少呢?
解法:
1)方法一的花費: 20 X 2+ 5 X 1 = 45
2)方法二的花費:20 x 1 + 5 x 4 = 40
計算題三:小明家附近還有另一個菜市場,那裡肉每斤15元,蔬菜每斤10元。那麼,小明如果去這個菜市場,花費又是多少呢(分別計算上述兩種做飯方式)?
解法:
1) 菜市場一,方法一 的花費:20 X 2+ 5 X 1 = 45
2)菜市場一,方法二的花費:20 x 1 + 5 x 4 = 40
3)菜市場二、方法一的花費:15 x 2+ 10 x 1 = 40
4)菜市場二、方法二的花費:15 x 1 + 10 x 4 =55
【數學家思考】每次這麼算好像挺複雜,如多菜市場變成N個,做法也有N個,那麼 這個解法就得寫N x N 行。有沒有一種更簡單的表示方法? 答案是有!可以用【矩陣乘法】
二、問題改進方法
【矩陣乘法】在左邊的這個矩陣的每一行,都代表了一種價目表;在右邊的矩陣的每一列,都代表了一種做飯方式。那麼所有可能的組合所最終產生的花費,則在結果矩陣中表示出來了。我們來用矩陣乘法計算上述問題。
問題一:小明今天要做飯,消耗2斤肉,1斤蔬菜。肉每斤20元,蔬菜每斤5元,則一共需多少花費?
小學生算法: 20 X 2+ 5 X 1 = 45
大學生算法(矩陣乘):
問題二:小明第二天有另一種做飯的方法,需要消耗1斤肉,4斤蔬菜,那麼這兩種方法的花費各是多少呢?
小學生算法:
1)方法一的花費: 20 X 2+ 5 X 1 = 45
2)方法二的花費:20 x 1 + 5 x 4 = 40
大學生算法(矩陣乘):
問題三:小明家附近還有另一個菜市場,那裡肉每斤15元,蔬菜每斤10元。那麼,小明如果去這個菜市場,花費又是多少呢(分別計算上述兩種做飯方式)?我們把這另外的一種價格寫進第一個矩陣裡:
小學生算法:
1) 菜市場一,方法一 的花費:20 X 2+ 5 X 1 = 45
2)菜市場一,方法二的花費:20 x 1 + 5 x 4 = 40
3)菜市場二、方法一的花費:15 x 2+ 10 x 1 = 40
4)菜市場二、方法二的花費:15 x 1 + 10 x 4 =55
大學生算法(矩陣乘):
三、總結
矩陣乘法可以簡單直接的表達上述問題。數學之美就在於用抽象的簡單的符號去表達複雜的現實問題。
推廣至深度學習,也是在尋求一種表達方式,去解釋模擬現實中的問題。