機器學習之線性代數:線性空間的基與維數

在 n 維線性空間內,有時我們會關心至少需要多少個向量能夠生成整個 n 維線性空間。梳理前面學過的知識,我們能夠了解到 n 個不同的標準單位向量會生成整個 n 維線性空間。

假設集合 V 是三維線性空間的向量集:

V 集包含三維空間內的三個標準單位向量,V 的線性生成集會充滿整個三維空間。下圖是 V 的部分線性生成集。

從圖中可以看出,V 的線性生成集充斥在三維空間內。

Python 繪圖代碼:

import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d
import random
# 線性生成集函數
def linear_set(V,num):
    # 線性生成集
    SUBV = []
    for i in range(num):
        x = random.randint(-10,10)
        y = random.randint(-10,10)
        z = random.randint(-10,10)
        s = x * V[0] + y*V[1] + z*V[2]
        SUBV.append(s)
    return SUBV
# 設置中文字體
plt.rcParams['font.sans-serif']=['SimHei']
# 設置正常顯示負號
plt.rcParams['axes.unicode_minus']=False
# F空間向量集V
V = np.array([[1,0,1],[0,1,0],[0,0,1]])
# 向量集V部分線性生成集
SV = linear_set(V,100)
# 創建3D子圖
ax = plt.subplot(projection = '3d')
x,y,z = zip(*SV)
# 設置圖形標題  
ax.set_title('V部分線性生成集')  
ax.scatter(x, y, z, c = 'r')
# 設置x座標軸  
ax.set_xlabel('X')  
# 設置y座標軸
ax.set_ylabel('Y')  
# 設置z座標軸
ax.set_zlabel('Z')  
plt.show()

若去掉 V 集任意一個向量,V 的線性生成集不會充斥在三維空間內,它的線性生成集會充斥在三維空間的一個平面。

例如:

SV 集包含三維空間內的兩個標準單位向量,SV 的線性生成集是三維空間的一個平面,該平面是 z 爲 0 的 xOy 面。下圖是 SV 的部分線性生成集。

在三維空間內,若 V 集線性無關且生成整個三維空間,則稱 V 集爲三維空間的一組有限基,V 集內的向量個數爲該空間的維數,該空間的維數爲三維。

SV 集的線性生成集爲三維空間的 xOy 面,且 SV 集線性無關,它構成三維空間的子空間 xOy 面,SV 集爲 xOy 面的一組有限基,該空間的維數爲二維。

下面給出線性空間即的定義:

設 S 爲線性空間 V 中有限個元素組成的集合,若 S 線性無關且生成 V,則稱 S 爲 V 的一組有限基,若線性空間 V 僅包含 0 或有一組有限基,則稱它爲有限維空間,否則稱它爲無限維空間。

若 V 是一個有限維線性空間,那麼 V 的所有有限基包含的元素個數都相同。

基是生成線性空間 V 所需要的最小向量組,向量組中的向量都是線性無關的,任意一個向量都不能被向量組中其它向量的線性組合表示。

若 S 集

線性無關,S 生成了空間 E,S 就叫做空間 E 的一組基。

V 集

也是空間 E 的一組基,V 集的向量由 S 集的向量乘以純量得出。雖然 S 和 V 是空間 E 不相同的一組基,但 S 和 V 本質上沒什麼不同,V 集是 S 集的伸縮。

下面給出線性空間維數的定義:

若線性空間 V 有一組包含 n 個元素的基,那麼我們稱整數 n 爲空間 V 的維數,若空間僅包含 0 元素,則該空間的維數爲 0。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/50wedETYJm7ANyRVFIdsRQ