线性代数(14)——正交性、标准正交基和投影

本文深入探讨了正交性、正交基与标准正交基的概念,解释了它们在高维空间中的应用,包括投影计算、Gram-Schmidt正交化过程及其实现。文章还讨论了标准正交基的性质及其在机器学习中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正交基与标准正交基

一个 n n n维空间中任何一组线性无关的向量,都是这个 n n n维空间的一组基。当这组基的向量两两垂直,则称为正交基。而标准正交基只是将正交基又添加了一个条件,模长为1。一个空间可以有无数组基向量,正交基和标准正交基也同样是有无数组的。

正交基的好处在于可以很方便地表示空间中的点,用数学语言表示为,两个向量 u ⃗ \vec{u} u v ⃗ \vec{v} v 的乘积,
u ⃗ ⋅ v ⃗ = u 1 ⋅ v 1 + u 2 ⋅ v 2 + . . . + u n ⋅ v n = ∣ ∣ u ⃗ ∣ ∣ ⋅ ∣ ∣ v ⃗ ∣ ∣ ⋅ c o s θ \vec{u}\cdot\vec{v}=u_1\cdot v_1+u_2\cdot v_2+...+u_n\cdot v_n=||\vec{u}||\cdot ||\vec{v}||\cdot cos\theta u v =u1v1+u2v2+...+unvn=u v cosθ
θ = 90 ° \theta=90° θ=90°时, c o s θ = 0 cos\theta=0 cosθ=0,相应的 u ⃗ ⋅ v ⃗ = 0 \vec{u}\cdot\vec{v}=0 u v =0,称这两个向量相互垂直或相互正交。

正交向量组则是一组向量,任意两个向量都满足正交的关系,则称为正交向量组。正交向量组的一个很好的性质是,正交非零向量组一定线性无关。这一性质的证明并不复杂,
在这里插入图片描述
回顾之前的知识, n n n维空间中,任意 n n n个线性无关的向量一定是n维空间的基。同理, n n n个非零正交向量一定 n n n维空间的基。

一维投影

一维投影相当于把一个向量投影到另一个向量,可以进一步求取正交基,如下图中两个不共线的向量 u ⃗ \vec{u} u v ⃗ \vec{v} v (也可以直接理解为二维空间的一组基),向量 v ⃗ \vec{v} v u ⃗ \vec{u} u 做投影得到向量 p ⃗ \vec{p} p ,通过向量 p ⃗ \vec{p} p 可以计算出与向量 u ⃗ \vec{u} u 正交的向量 v ⃗ − p ⃗ \vec{v}-\vec{p} v p
在这里插入图片描述
知道了 p ⃗ \vec{p} p 的方向和大小就可以得到向量 p ⃗ \vec{p} p 的表示,
在这里插入图片描述
求出向量 p ⃗ \vec{p} p 后,进一步求取向量 v ⃗ − p ⃗ \vec{v}-\vec{p} v p 是十分容易的,这就解决了在二维空间中求取一组正交基的问题。随着空间维度的上升,求取的过程会变得复杂,但是求取正交基依旧是能找到特定方法的过程。

高维投影和Gram-Schmidt过程

通过任意维度的一组基构造空间的正交基的算法。

三维空间

以三维向量为例,假设存在一组三维向量,需要求出这三个向量所在空间的正交基,其中两个已经处理得到相互正交的向量 p 1 ⃗ \vec{p_1} p1 p 2 ⃗ \vec{p_2} p2 。此时空间的基为 w ⃗ 、 p 1 ⃗ 和 p 2 ⃗ \vec{w}、\vec{p_1}和\vec{p_2} w p1 p2
在这里插入图片描述
进一步需要做的就是做 w ⃗ \vec{w} w 向量在 p 1 ⃗ 和 p 2 ⃗ \vec{p_1}和\vec{p_2} p1 p2 构成的空间中的投影 p ⃗ \vec{p} p w ⃗ − p ⃗ \vec{w}-\vec{p} w p 的向量就是所要求的正交向量,
在这里插入图片描述
问题就转化为如何求取 w ⃗ \vec{w} w p 1 ⃗ 和 p 2 ⃗ \vec{p_1}和\vec{p_2} p1 p2 上的投影 p ⃗ \vec{p} p ,进行如下转换,
在这里插入图片描述
依据之前二维空间中的投影计算公式,可以得到 a ⃗ \vec{a} a b ⃗ \vec{b} b 的向量,得到如下公式
在这里插入图片描述
三维空间求正交基的整个过程可以看做是先求出相应的二维空间的正交基,进一步求取三维空间正交基。

四维及以上空间

四维以上的空间是无法可视化的,但是与三维空间相似,可以先求取低维度空间的正交基,在其基础上进行高一维度正交基的求取。
在这里插入图片描述
给出任何一组 n n n维空间的基,正交基的过程都可以通过逐一维度的计算得到。任何一个维度的向量都减去它在低维度空间中已经正交的向量的投影,这一过程就是Gram-Schmidt过程

实现Gram-Schmidt过程

# -*- coding: utf-8 -*-
from .Vector import Vector
from .Matrix import Matrix
from .LinearSystem import rank


def gram_schmidt_process(basis):
	"""
	:param basis: 一组基向量
	"""
	# 下面两行可以视为对传入的向量进行Gauss-Jordan消元法,确保没有零行,即线性无关
	matrix = Matrix(basis)
    assert rank(matrix) == len(basis)

	# 所有互相正交的向量存放在 res这个列表中
    res = [basis[0]]
    for i in range(1, len(basis)):
    	# 下面的三行代码是上方加粗语句过程的实现
        p = basis[i]
        for r in res:
            p = p - basis[i].dot(r) / r.dot(r) * r
        res.append(p)

	return res


if __name__ == "__main__":
    basis1 = [Vector([2, 1]), Vector([1, 1])]
    res1 = gram_schmidt_process(basis1)
    for row in res1:
        print(row)    # 返回 (2, 1)  (-0.2, 0.4)

    print(res1[0].dot(res[1]))    # 返回0,即二者正交

    # 求取标准正交基
    res1 = [row / row.norm() for row in res1]
    

相关话题

将投影与线性系统联系起来,
在这里插入图片描述
这实际上是最小二乘法的思路,得到近似解。

标准正交基的性质

空间的基可以排列成一个矩阵,矩阵的每一列就是这组基中的一个基向量。

n n n n n n维的标准正交基可以按照相同的方式排列成一个矩阵(方阵),称为标准正交矩阵,表示为 Q Q Q

  1. 性质1
    Q T ⋅ Q = I Q^T\cdot Q=I QTQ=I
    在这里插入图片描述
    除了主对角线的元素,其余都是相互正交的两个向量的点乘,结果为0。主对角线实际上是标准正交向量的模,为1。
  2. 性质2
    标准正交矩阵是可逆的。
    标准正交矩阵的各列都是线性无关的,这与矩阵可逆的等价命题是相同的,回顾矩阵可逆的等价命题,
    在这里插入图片描述
    Q T Q^T QT Q Q Q的左逆,则 Q T Q^T QT也一定是 Q Q Q的右逆。即 Q T Q^T QT是Q的逆,所以得到标准正交矩阵的一个重要性质,对于标准正交矩阵而言, Q T = Q − 1 Q^T = Q^{-1} QT=Q1

上面的这一重要性质在机器学习中是PCA算法的原理,实际上是将一个高维空间映射到低维空间中,同时也是从低维空间映射回高维空间的过程。

### 线性代数中的向量空间概念解释 #### 定义 向量空间是线性代数的一个基本结构,由一组满足特定条件的元素组成。这些元素被称为向量,并且可以在其上定义加法标量乘法两种运算[^1]。 对于一个集合 \( V \),如果其中任意两个成员(即向量)\( u,v\in V \) 的加法结果仍然属于该集合;以及任何实数或复数 \( c \) 任意向量 \( v \) 的乘积也仍在 \( V \) 中,则称此集合作为向量空间。此外,还需遵循八条公理来确保封闭其他重要属得以保持。 #### 质与特征 - **零向量的存在**: 存在一个特殊的向量称为零向量 (通常记作 \( 0 \)) ,使得对所有的 \( v \in V \), 都有 \( v + 0 = v \)[^1]. - **逆元存在**: 对于每一个向量 \( v \in V \),都存在着另一个唯一的向量 (-v),它们相加以得到零向量: \( v + (-v)=0 \). - **分配律**: 当涉及到多个向量之间的操作时,比如当有两个不同的向量 \(u\) \(w\) 属于同一个向量空间并被相同数量级缩放后求,可以先分别计算各自的结果再做累加; 或者反过来也可以成立. - **单位元的作用**: 数字1作为乘法下的恒等变换作用在任何一个给定的非零向量上面都不会改变这个对象本身的位置关系. #### 基底与维度 为了描述更复杂的几何形状,在有限维情况下引入了基的概念——一组能够通过适当比例伸展覆盖整个空间而不重叠也不留空白区域内的最小数目独立方向上的标准参照物。这样的基底决定了所在的空间具有多少自由度或者说维度大小. 例如二维平面上只需要选取相互垂直指向不同方位的一对方格纸坐标轴即可构成完备体系用来表达所有可能位置点的信息;而三维立体图形则至少要三个互相正交的方向才能完全刻画出来。 #### 正交 特别值得注意的是关于正交这一特,这是指两向量间夹角呈90°直角状态,具体表现为两者之间内积等于零的情况。这种特殊的关系在线方程组解法、投影理论等方面有着广泛的应用价值[^2]. ```python import numpy as np def is_orthogonal(v1, v2): """判断两个向量是否正交""" dot_product = np.dot(v1, v2) return abs(dot_product) < 1e-8 # 考虑浮点误差 vector_a = np.array([1, 0]) vector_b = np.array([0, 1]) print(is_orthogonal(vector_a, vector_b)) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值