在線性代數中,理解正交向量和正交向量至關重要,尤其是對于機器學習中的應用。這篇博文將簡化這些概念,而不會太深入地深入研究復雜的數學。
正交向量
如果兩個向量的點積等于零,則認為這兩個向量是正交的。但點積到底是什么呢?兩個 n 維向量 A 和 B 的點積(或標量積)可以表示如下:
A · B = ∑ (from i=1 to n) a_i * b_i
因此,如果滿足以下條件,向量 A 和 B 是正交的:
A · B = 0
例
考慮 3D 空間中的兩個向量:
( v_1 = [1, -2, 4] )
( v_2 = [2, 5, 2] )
為了檢查它們是否正交,我們計算它們的點積:
v_1 · v_2 = [1, -2, 4] · [2, 5, 2] = 1*2 + (-2)*5 + 4*2 = 0
由于結果為零,因此向量是正交的。
Python 代碼示例
下面是一個簡單的 Python 程序,它說明了正交向量:
# A python program to illustrate orthogonal vector# Import numpy module
import numpy# Taking two vectors
v1 = [[1, -2, 4]]
v2 = [[2, 5, 2]]# Transpose of v1
transposeOfV1 = numpy.transpose(v1)# Matrix multiplication of both vectors
result = numpy.dot(v2, transposeOfV1)
print("Result =", result)# Output
# Result = 0
單位向量
接下來,我們來討論一下單位向量。單位向量是通過向量除以其大小從向量中得出的。對于向量 ( A ),單位向量 ( \hat{a} ) 定義為:
\hat{a} = A / |A|
例
考慮 2D 空間中的向量 ( A ):
( A = [3, 4] )
( A ) 的大小計算如下:
因此,單位向量 ( \hat{a} ) 為:
\hat{a} = A / |A| = [3/5, 4/5]
單位向量的屬性
單位向量定義坐標系中的方向。
任何向量都可以表示為單位向量和標量大小的乘積。
正交向量
正交向量不僅是正交的,而且還具有單位大小。要將正交向量轉換為正交向量,只需將每個向量除以其大小即可。
對于我們之前研究的向量:
對于 ( v_1 = [1, -2, 4] ):
v_1' = v_1 / |v_1| = [1, -2, 4] / √(12 + (-2)2 + 42)
對于 ( v_2 = [2, 5, 2] ):
v_2' = v_2 / |v_2| = [2, 5, 2] / √(22 + 52 + 22)
通過將這些向量轉換為單位向量,它們保持正交并達到單位大小,從而形成正交向量。
注意
所有正交向量本質上都是正交的,由其屬性定義。