机器学习数学基础之向量:子空间

4.1 子空间的定义

如果一个向量空间的子集本身也是一个向量空间,那么这个子集被称为子空间。子空间必须满足以下条件:

  1. 包含零向量。
  2. 对于任意两个向量 u 和 v 属于该子空间,它们的和 u+v 也属于该子空间。
  3. 对于任意向量 u 属于该子空间和任意标量 c,则 c*u 也属于该子空间。

示例代码:验证子空间

以下示例验证一个平面上的一条直线是否是子空间,并进行可视化。

python

import numpy as np
import matplotlib.pyplot as plt

# 创建通过原点的向量
v1 = np.array([1, 1])
v2 = np.array([-1, 1])

# 绘制向量
plt.figure(figsize=(6, 6))
plt.quiver(0, 0, v1[0], v1[1], angles='xy', scale_units='xy', scale=1, color='r', label='v1 = (1, 1)')
plt.quiver(0, 0, v2[0], v2[1], angles='xy', scale_units='xy', scale=1, color='g', label='v2 = (-1, 1)')

# 添加辅助线
plt.plot([0, v1[0]], [0, v1[1]], 'r--', alpha=0.5)  # v1 辅助线
plt.plot([0, v2[0]], [0, v2[1]], 'g--', alpha=0.5)  # v2 辅助线

# 添加一条直线
x = np.linspace(-3, 3, 100)
y = x  # 直线方程
plt.plot(x, y, 'b--', label='子空间:直线 y=x')

plt.xlim(-3, 3)
plt.ylim(-3, 3)
plt.axhline(0, color='black', linewidth=0.5)
plt.axvline(0, color='black', linewidth=0.5)
plt.grid(True)
plt.title('子空间示例')
plt.legend()
plt.show()

图片

THE END