什麼是哈達瑪乘積?
哈達瑪乘積(Hadamard product)又稱為對應元素乘積(element-wise product)或舒爾乘積(Schur product),是將兩個維度完全相同的矩陣,逐一對應元素相乘。它和一般的矩陣乘法不同——並不是用列與行去做組合運算,而是讓輸出矩陣中的每個元素,等於兩個矩陣相同位置數值的乘積。它通常寫作 \(\text{A} \circ \text{B}\),在機器學習、訊號處理與影像處理等領域應用廣泛。
如何使用這個計算器
先設定矩陣的列數與行數,接著輸入矩陣 A 與矩陣 B 的數值。每一列矩陣資料各佔一行,數字之間以空格或逗號分隔。計算器會輸出結果矩陣,其中每個元素皆等於 \(A_{ij} \times B_{ij}\),並一併計算所有結果元素的總和。
公式解析
對於兩個 \(m \times n\) 的矩陣 A 與 B,哈達瑪乘積 \(\text{C} = \text{A} \circ \text{B}\) 是一個 \(m \times n\) 矩陣,定義為
$$\left(\text{A} \circ \text{B}\right)_{ij} = A_{ij} \cdot B_{ij}\qquad 1 \le i \le \text{Rows},\; 1 \le j \le \text{Cols}$$兩個矩陣必須具有完全相同的形狀;它不像一般矩陣乘法那樣需要計算列與行的內積。
實例演算
假設 \(\text{A} = [[1, 2], [3, 4]]\)、\(\text{B} = [[5, 6], [7, 8]]\),則
$$\text{A} \circ \text{B} = [[1 \times 5, 2 \times 6], [3 \times 7, 4 \times 8]] = [[5, 12], [21, 32]]$$所有元素總和為 \(5 + 12 + 21 + 32 = 70\)。
常見問題
它和一般的矩陣乘法有什麼不同?矩陣乘法是針對列與行計算內積,且要求內側維度相符。哈達瑪乘積則只是把相同位置的元素相乘,要求兩矩陣維度完全相同。
如果兩個矩陣大小不一樣怎麼辦?哈達瑪乘積只對相同大小的矩陣有定義。本工具會依照你設定的維度,將缺少的元素以 0 補齊。
它通常用在哪些地方?常見於類神經網路(例如閘控機制、dropout 遮罩)、共變異數運算,以及像素層級的影像處理。