
12
|
第一章:機器學習
點積
在機器學習中,
點積
(
dot product
)是我們經常會遇到的一種線性代數運算方式。點積
有時也叫「內積(inner product)」或「純量積(scalar product)」。它是取兩個相同長度
的向量進行運算,然後得出單一個數字的結果。其做法就是把兩個向量中相對應的個別
項目逐一相乘,然後再全部加總起來,就可以得出最後的計算結果了。就算沒有特別說
明其中的數學含義,我們還是可以看出這個單一數字蘊含了許多訊息。
首先我們可以看到,點積可用來衡量每個向量中各個元素值的大小。如果兩個向量都具
有相當大的值,就可能得出相當大的結果,而如果只是具有相當小值的兩個向量,則只
會得出相當小的結果。如果在數學上要進行所謂「
歸一化
(
normalization
)」之類的處
理,往往需要計算向量之間的相對值,此時就可以運用點積運算,來做為向量之間相似
程度的一種衡量方式。針對兩個歸一化向量進行點積運算,這就是數學概念上所謂的
「
餘弦相似度
(
cosine similarity
)」。
元素級相乘
在實務上另一種常見的線性代數運算,就是所謂的「
元素級相乘
(element-wise
product)」(或叫做「Hadamard 相乘」)。這種運算是針對兩個元素數量相同的向量,把
每個相對應的元素兩兩相乘,最後得出另一個同樣具有相同元素數量的新向量。
外積
兩個向量的「外積(outer product)」,也叫做「張量積(tensor product)」。我們會取縱
列向量(column vector ...