机器学习数学基础之向量:子空间
4.1 子空间的定义
如果一个向量空间的子集本身也是一个向量空间,那么这个子集被称为子空间。子空间必须满足以下条件:
- 包含零向量。
- 对于任意两个向量 u 和 v 属于该子空间,它们的和 u+v 也属于该子空间。
- 对于任意向量 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