《机器学习数学基础》补充资料:矩阵基本子空间

ops/2025/2/12 21:00:38/

秩-零化度定理是线性代数中第一个基本定理,本文介绍的“矩阵基本子空间”,是第二定理。

定理2:矩阵基本子空间

对于 m × n m\times n m×n矩阵 A \pmb{A} A (仅讨论实数矩阵),用线性变换表示 A : R n → R m \pmb{A}:\mathbb{R}^n\to\mathbb{R}^m A:RnRm,用如下符号表示不同空间:

  • 列空间(column space): C ( A ) = { A x ∣ x ∈ R n } C(\pmb{A})=\{\pmb{Ax}|\pmb{x}\in\mathbb{R}^n\} C(A)={AxxRn} ,即矩阵的值域(range)。将矩阵用列向量的方式表示 A = [ a 1 ⋯ a n ] \pmb{A}=\begin{bmatrix}\pmb{a}_1&\cdots&\pmb{a}_n\end{bmatrix} A=[a1an] ,其中 a j ∈ R m \pmb{a}_j\in\mathbb{R}^m ajRm C ( A ) C(\pmb{A}) C(A) 是列向量的线性组合。
  • 零空间(nullspace): N ( A ) = { x ∈ R n ∣ A x = 0 } N(\pmb{A})=\{\pmb{x}\in\mathbb{R}^n|\pmb{Ax}=\pmb{0}\} N(A)={xRnAx=0}
  • 行空间(row space):是转置矩阵 A T \pmb{A}^{\text{T}} AT 的列空间, C ( A T ) C(\pmb{A}^{\text{T}}) C(AT)

因为矩阵的行秩等于列秩,即 rank A = dim ⁡ C ( A ) = dim ⁡ C ( A T ) \text{rank}\pmb{A}=\dim C(\pmb{A})=\dim C(\pmb{A}^{\text{T}}) rankA=dimC(A)=dimC(AT) ,于是“秩—零化度定理”可以写成:

n = dim ⁡ N ( A ) + dim ⁡ C ( A T ) n = \dim N(\pmb{A}) + \dim C(\pmb{A}^{\text{T}}) n=dimN(A)+dimC(AT)
将原矩阵转置,即得:

m = dim ⁡ N ( A T ) + dim ⁡ C ( A ) m=\dim N(\pmb{A}^{\text{T}})+\dim C(\pmb{A}) m=dimN(AT)+dimC(A)

  • 左零空间(left nullspace): N ( A T ) N(\pmb{A}^T) N(AT)

C ( A T ) , N ( A ) C(\pmb{A}^{\text{T}}),N(\pmb{A}) C(AT),N(A) R n \mathbb{R}^n Rn 的子空间, C ( A ) , N ( A T ) C(\pmb{A}),N(\pmb{A}^{\text{T}}) C(A),N(AT) R m \mathbb{R}^m Rm 的子空间。

秩—零化度定理已经说明了矩阵基本子空间的维数关系。

以上四个矩阵的基本子空间如下图所示:
在这里插入图片描述

在《机器学习数学基础》第 3 章 3.4 节“正交和投影”中,专门介绍了向量和向量空间的正交概念。此处就探讨矩阵的四个子空间的正交关系,这些关系就构成了线性代数的一个基本定理,即说明矩阵四个基本子空间的正交补的关系

S \pmb{S} S T \pmb{T} T 是向量空间 R p \mathbb{R}^p Rp 的两个子空间,若它们正交,记作 S ⊥ T \pmb{S}\bot\pmb{T} ST

在向量空间 R p \mathbb{R}^p Rp 中所有与 S \pmb{S} S 正交的向量称为正交补(orthogonal complement),记作 S ⊥ \pmb{S}^{\bot} S

p = dim ⁡ S + dim ⁡ S ⊥ p=\dim{\pmb{S}} + \dim\pmb{S}^{\bot} p=dimS+dimS S ∩ S ⊥ = { 0 } \pmb{S}\cap\pmb{S}^{\bot}=\{\pmb{0}\} SS={0}

基本子空间的正交关系

  • N ( A ) = C ( A T ) ⊥ N(\pmb{A})=C(\pmb{A}^{\text{T}})^{\bot} N(A)=C(AT)

  • N ( A T ) = C ( A ) ⊥ N(\pmb{A}^{\text{T}})=C(\pmb{A})^{\bot} N(AT)=C(A)

下图显示了四个基本子空间之间的正交关系:
在这里插入图片描述

证明

矩阵 A m × n \pmb{A}_{m\times n} Am×n 的零空间定义(参考文献 [4])可知:

A x = 0 ⟹ A x = [ A 的第 1 行 ( r o w 1 ) ⋮ A 的第 m 行 ( r o w m ) ] x = [ 0 ⋮ 0 ] \pmb{Ax}=0 \Longrightarrow \pmb{Ax}=\begin{bmatrix}A的第1行(row_1)\\\vdots\\A的第m行(row_m)\end{bmatrix}\pmb{x}=\begin{bmatrix}0\\\vdots\\0\end{bmatrix} Ax=0Ax= A的第1(row1)A的第m(rowm) x= 00
每个行向量与 x \pmb{x} x 的内积都是 0 0 0 ,所以 x \pmb{x} x 与所有行向量的线性组合正交,即 N ( A ) ⊥ C ( A T ) N(\pmb{A})\bot C(\pmb{A}^{\text{T}}) N(A)C(AT)

又因为 n = dim ⁡ N ( A ) + dim ⁡ C ( A T ) n = \dim N(\pmb{A}) + \dim C(\pmb{A}^{\text{T}}) n=dimN(A)+dimC(AT)

所以: N ( A ) = C ( A T ) ⊥ N(\pmb{A})=C(\pmb{A}^{\text{T}})^{\bot} N(A)=C(AT)

同样思路,对 A \pmb{A} A 转置,有:

A T y = [ A 的第 1 列 ( c o l 1 ) ⋮ A 的第 n 列 ( c o l n ) ] y = [ 0 ⋮ 0 ] \pmb{A}^{\text{T}}\pmb{y}=\begin{bmatrix}A的第1列(col_1)\\\vdots\\A的第n列(col_n)\end{bmatrix}\pmb{y}=\begin{bmatrix}0\\\vdots\\0\end{bmatrix} ATy= A的第1(col1)A的第n(coln) y= 00
矩阵 A \pmb{A} A 的每个列向量都与 y \pmb{y} y 正交,即 N ( A T ) = C ( A ) ⊥ N(\pmb{A}^{\text{T}})=C(\pmb{A})^{\bot} N(AT)=C(A)

为什么称为左零空间?

A T y = 0 \pmb{A}^{\text{T}}\pmb{y}=0 ATy=0 ,左右都取转置, y T A = 0 T \pmb{y}^{\text{T}}\pmb{A}=\pmb{0}^{\text{T}} yTA=0T y T \pmb{y}^{\text{T}} yT 位于 A \pmb{A} A 的左边,故称 N ( A T ) N(\pmb{A}^{\text{T}}) N(AT) 为左零空间。


http://www.ppmy.cn/ops/157114.html

相关文章

ollama linux下载

实验室服务器(A6000)执行curl -fsSL https://ollama.com/install.sh | sh太慢了。 而sudo snap install ollama,容易爆cudalibrt.so12无法正常使用的bug。 发现 https://www.modelscope.cn/models/modelscope/ollama-linux 使用modelscope进…

CodeGPT + IDEA + DeepSeek,在IDEA中引入DeepSeek实现AI智能开发

CodeGPT IDEA DeepSeek,在IDEA中引入DeepSeek 版本说明 建议和我使用相同版本,实测2022版IDEA无法获取到CodeGPT最新版插件。(在IDEA自带插件市场中搜不到,可以去官网搜索最新版本) ToolsVersionIntelliJ IDEA202…

位运算算法篇:进入位运算的世界

位运算算法篇:进入位运算的世界 本篇文章是我们位运算算法篇的第一章,那么在我们是算法世界中,有那么多重要以及有趣的算法,比如深度优先搜索算法以及BFS以及动态规划算法等等,那么我们位运算在这些算法面前相比&#…

docker启动报错code=exited, status=1/FAILURE——问题排查

问题 在某台centos7机器上,启动docker服务 sudo systemctl start docker报下列错误: ● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: …

【Milvus】向量数据库pymilvus使用教程

以下是根据 Milvus 官方文档整理的详细 PyMilvus 使用教程,基于 Milvus 2.5.x 版本: PyMilvus 使用教程 目录 安装与环境准备连接 Milvus 服务数据模型基础概念创建集合(Collection)插入数据创建索引向量搜索删除操作完整示例注…

TcpClientTest

ClientTest: using System; using System.Net.Sockets; using System.Text;class TcpClientTest {static void Main(string[] args){try{// 创建一个TcpClient实例并连接到服务器 TcpClient client new TcpClient("1vg5062570.51mypc.cn", 43319);//1v…

Vue Dom截图插件,截图转Base64 html2canvas

安装插件 npm install html2canvas --save插件使用 <template><div style"padding: 10px;"><div ref"imageTofile" class"box">发生什么事了</div><button click"toImage" style"margin: 10px;&quo…

在亚马逊云科技上云原生部署DeepSeek-R1模型(下)

在本系列的上篇中&#xff0c;我们介绍了如何通过Amazon Bedrock部署并测试使用了DeepSeek模型。在接下来的下篇中小李哥将继续介绍&#xff0c;如何利用亚马逊的AI模型训练平台SageMaker AI中的&#xff0c;Amazon Sagemaker JumpStart通过脚本轻松一键式部署DeepSeek预训练模…