低秩分解的本质是通过基矩阵和系数矩阵的线性组合,以最小的存储和计算代价近似表示复杂矩阵

发布于:2025-06-16 ⋅ 阅读:(16) ⋅ 点赞:(0)

低秩分解的本质是通过基矩阵和系数矩阵的线性组合,以最小的存储和计算代价近似表示复杂矩阵

flyfish

一、最基础起点:数字与数组
  1. 数字与标量(Scalar)

    • 单独的数,如 1 , 2.5 , − 3 1, 2.5, -3 1,2.5,3,只表示大小,没有方向。
    • 例子:苹果单价5元,“5”是标量。
  2. 数组(Array):数字的有序排列

    • 按顺序排列的一组数,用括号括起来,如 ( 1 , 2 , 3 ) (1, 2, 3) (1,2,3) ( 1 2 3 ) \begin{pmatrix}1\\2\\3\end{pmatrix} 123
    • 区别
      • 横排叫行数组 ( a 1 , a 2 , … , a n ) (a_1, a_2, \dots, a_n) (a1,a2,,an)
      • 竖排叫列数组 ( a 1 a 2 ⋮ a n ) \begin{pmatrix}a_1\\a_2\\\vdots\\a_n\end{pmatrix} a1a2an
二、向量:一维数组的数学名称
  1. 向量(Vector)的定义

    • 行向量:1行n列的数组,如 v ⃗ = ( v 1 , v 2 , v 3 ) \vec{v} = (v_1, v_2, v_3) v =(v1,v2,v3)
    • 列向量:n行1列的数组,如 u ⃗ = ( u 1 u 2 u 3 ) \vec{u} = \begin{pmatrix}u_1\\u_2\\u_3\end{pmatrix} u = u1u2u3
    • 本质:向量是“带方向的量”,但初学者可先理解为“有序数组”。
  2. 向量的线性组合

    • 用常数乘以向量再相加,如 2 v ⃗ + 3 u ⃗ 2\vec{v} + 3\vec{u} 2v +3u ,结果仍是向量。
    • 例子 v ⃗ = ( 1 , 2 ) \vec{v}=(1,2) v =(1,2) u ⃗ = ( 3 , 4 ) \vec{u}=(3,4) u =(3,4),则 2 v ⃗ + 3 u ⃗ = ( 2 × 1 + 3 × 3 , 2 × 2 + 3 × 4 ) = ( 11 , 16 ) 2\vec{v}+3\vec{u}=(2×1+3×3, 2×2+3×4)=(11,16) 2v +3u =(2×1+3×3,2×2+3×4)=(11,16)
三、矩阵:二维数组的“表格”
  1. 矩阵(Matrix)的结构

    • 由行和列组成的表格,如 m m m n n n 列矩阵记作 m × n m×n m×n,每个位置元素用 a i j a_{ij} aij 表示(第 i i i 行第 j j j 列)。
    • 例子:2×3矩阵
      A = ( a 11 a 12 a 13 a 21 a 22 a 23 ) = ( 1 2 3 4 5 6 ) A = \begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \end{pmatrix} = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix} A=(a11a21a12a22a13a23)=(142536)
      • 第1行: ( 1 , 2 , 3 ) (1,2,3) (1,2,3),第2行: ( 4 , 5 , 6 ) (4,5,6) (4,5,6)
      • 第1列: ( 1 4 ) \begin{pmatrix}1\\4\end{pmatrix} (14),第2列: ( 2 5 ) \begin{pmatrix}2\\5\end{pmatrix} (25),第3列: ( 3 6 ) \begin{pmatrix}3\\6\end{pmatrix} (36)
  2. 特殊矩阵:向量的扩展

    • 行向量 = 1×n矩阵,列向量 = n×1矩阵,
    • 单位矩阵 I I I:主对角线为1,其余为0的方阵(如 ( 1 0 0 1 ) \begin{pmatrix}1&0\\0&1\end{pmatrix} (1001))。
四、矩阵乘法:从点积到“行列配对”
  1. 向量点积(Dot Product):两个向量的“匹配度”

    • 条件:两个向量长度相同,对应元素相乘后求和,结果是一个数。
    • 公式 a ⃗ ⋅ b ⃗ = a 1 b 1 + a 2 b 2 + ⋯ + a n b n \vec{a} \cdot \vec{b} = a_1b_1 + a_2b_2 + \dots + a_nb_n a b =a1b1+a2b2++anbn
    • 例子 a ⃗ = ( 1 , 2 , 3 ) \vec{a}=(1,2,3) a =(1,2,3) b ⃗ = ( 4 , 5 , 6 ) \vec{b}=(4,5,6) b =(4,5,6)
      a ⃗ ⋅ b ⃗ = 1 × 4 + 2 × 5 + 3 × 6 = 4 + 10 + 18 = 32 \vec{a} \cdot \vec{b} = 1×4 + 2×5 + 3×6 = 4 + 10 + 18 = 32 a b =1×4+2×5+3×6=4+10+18=32
  2. 矩阵乘法:行与列的点积组合

    • 条件:左矩阵的列数 = 右矩阵的行数,如 m × n m×n m×n 矩阵 × n × p n×p n×p 矩阵 = m × p m×p m×p 矩阵。
    • 计算步骤:结果矩阵的第 i i i 行第 j j j 列元素 = 左矩阵第 i i i 行与右矩阵第 j j j 列的点积。
    • 例子
      A = ( 1 2 3 4 ) ( 2 × 2 ) , B = ( 5 6 7 8 ) ( 2 × 2 ) A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \quad (2×2), \quad B = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} \quad (2×2) A=(1324)(2×2),B=(5768)(2×2)
      • 计算 A B AB AB 的第1行第1列:
        A A A 第1行 ( 1 , 2 ) (1,2) (1,2) · B B B 第1列 ( 5 7 ) = 1 × 5 + 2 × 7 = 19 \begin{pmatrix}5\\7\end{pmatrix} = 1×5 + 2×7 = 19 (57)=1×5+2×7=19
      • 第1行第2列: ( 1 , 2 ) ⋅ ( 6 8 ) = 1 × 6 + 2 × 8 = 22 (1,2) \cdot \begin{pmatrix}6\\8\end{pmatrix} = 1×6 + 2×8 = 22 (1,2)(68)=1×6+2×8=22
      • 第2行第1列: ( 3 , 4 ) ⋅ ( 5 7 ) = 3 × 5 + 4 × 7 = 43 (3,4) \cdot \begin{pmatrix}5\\7\end{pmatrix} = 3×5 + 4×7 = 43 (3,4)(57)=3×5+4×7=43
      • 第2行第2列: ( 3 , 4 ) ⋅ ( 6 8 ) = 3 × 6 + 4 × 8 = 50 (3,4) \cdot \begin{pmatrix}6\\8\end{pmatrix} = 3×6 + 4×8 = 50 (3,4)(68)=3×6+4×8=50
      • 结果:
        A B = ( 19 22 43 50 ) AB = \begin{pmatrix}19 & 22 \\ 43 & 50\end{pmatrix} AB=(19432250)
五、秩(Rank):矩阵的“独立信息数量”
  1. 线性相关与无关:向量间的“依赖关系”

    • 线性相关:存在非零常数 k k k,使向量 a ⃗ = k b ⃗ \vec{a} = k\vec{b} a =kb (即一个向量是另一个的倍数)。
      • 例子: a ⃗ = ( 1 , 2 ) \vec{a}=(1,2) a =(1,2) b ⃗ = ( 2 , 4 ) \vec{b}=(2,4) b =(2,4),因 b ⃗ = 2 a ⃗ \vec{b}=2\vec{a} b =2a ,二者线性相关。
    • 线性无关:不存在非零常数使 a ⃗ = k b ⃗ \vec{a} = k\vec{b} a =kb ,即向量“互不依赖”。
      • 例子: a ⃗ = ( 1 , 2 ) \vec{a}=(1,2) a =(1,2) b ⃗ = ( 2 , 1 ) \vec{b}=(2,1) b =(2,1),无法用倍数关系表示,线性无关。
  2. 秩的定义:矩阵中线性无关的行/列向量数

    • 矩阵 A A A 的秩 rank ( A ) = r \text{rank}(A) = r rank(A)=r,表示:
      • r r r 个行向量线性无关,其余行可由它们组合而成;
      • 或有 r r r 个列向量线性无关,其余列可由它们组合而成。
    • 例子
      A = ( 1 2 3 2 4 6 ) A = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \end{pmatrix} A=(122436)
      • 第2行是第1行的2倍,行向量线性相关,故 rank ( A ) = 1 \text{rank}(A)=1 rank(A)=1
      • 列向量中,第2列=2×第1列,第3列=3×第1列,所有列可由第1列表示,故线性无关的列数=1,秩=1。
六、满秩矩阵:秩与行列数的“相等关系”
  1. 列满秩(Column Full Rank)

    • 若矩阵 B B B 的列向量都线性无关,则 rank ( B ) = \text{rank}(B) = rank(B)= 列数 r r r,称 B B B 列满秩。
    • 例子
      B = ( 1 0 0 1 2 3 ) ( 3 × 2 矩阵 ) B = \begin{pmatrix} 1 & 0 \\ 0 & 1 \\ 2 & 3 \end{pmatrix} \quad (3×2 \text{矩阵}) B= 102013 (3×2矩阵)
      • 列向量 ( 1 0 2 ) \begin{pmatrix}1\\0\\2\end{pmatrix} 102 ( 0 1 3 ) \begin{pmatrix}0\\1\\3\end{pmatrix} 013 不成倍数,线性无关,故 rank ( B ) = 2 = \text{rank}(B)=2= rank(B)=2= 列数,列满秩。
  2. 行满秩与满秩方阵

    • 行满秩:行向量线性无关, rank = \text{rank}= rank= 行数;
    • 满秩方阵:行列数相同且 rank = \text{rank}= rank= 行数=列数(如单位矩阵)。
七、基矩阵:构建矩阵的“基础零件”
  1. 基向量(Basis Vector):空间的“最小零件”

    • 一组线性无关的向量,能通过线性组合表示空间中所有向量,且数量最少。
    • 例子:二维平面中, e ⃗ 1 = ( 1 , 0 ) \vec{e}_1=(1,0) e 1=(1,0) e ⃗ 2 = ( 0 , 1 ) \vec{e}_2=(0,1) e 2=(0,1) 是一组基向量,任意向量 ( a , b ) = a e ⃗ 1 + b e ⃗ 2 (a,b) = a\vec{e}_1 + b\vec{e}_2 (a,b)=ae 1+be 2
  2. 基矩阵(Basis Matrix):基向量的集合

    • 由基向量组成的矩阵,每一列是一个基向量,且列满秩。
    • 例子:若矩阵 A A A 的列向量为 ( 1 2 ) , ( 2 4 ) , ( 3 6 ) \begin{pmatrix}1\\2\end{pmatrix}, \begin{pmatrix}2\\4\end{pmatrix}, \begin{pmatrix}3\\6\end{pmatrix} (12),(24),(36),所有列都是 ( 1 2 ) \begin{pmatrix}1\\2\end{pmatrix} (12) 的倍数,故基矩阵取第一列:
      B = ( 1 2 ) ( 基矩阵,1列,列满秩 ) B = \begin{pmatrix}1\\2\end{pmatrix} \quad (\text{基矩阵,1列,列满秩}) B=(12)(基矩阵,1列,列满秩)
八、系数矩阵:基向量的“组装说明书”
  1. 系数(Coefficient):基向量的“用量”

    • 表示目标向量由多少倍的基向量组合而成,如 ( 3 , 6 ) = 3 × ( 1 2 ) (3,6) = 3×\begin{pmatrix}1\\2\end{pmatrix} (3,6)=3×(12),“3”是系数。
  2. 系数矩阵(Coefficient Matrix):所有系数的表格

    • 若原矩阵 A A A 的每一列都是基矩阵 B B B 的线性组合,则系数按列排列成矩阵 C C C
    • 例子 A = ( 1 2 3 2 4 6 ) A = \begin{pmatrix}1 & 2 & 3 \\ 2 & 4 & 6\end{pmatrix} A=(122436),各列与基矩阵 B = ( 1 2 ) B = \begin{pmatrix}1\\2\end{pmatrix} B=(12) 的关系:
      • 第1列: 1 × B 1×B 1×B,系数1;
      • 第2列: 2 × B 2×B 2×B,系数2;
      • 第3列: 3 × B 3×B 3×B,系数3;
        故系数矩阵为行矩阵:
        C = ( 1 2 3 ) ( 1行3列,每行对应A的一列系数 ) C = (1 \quad 2 \quad 3) \quad (\text{1行3列,每行对应A的一列系数}) C=(123)(13列,每行对应A的一列系数)
九、矩阵分解:用“基×系数”还原原矩阵
  1. 分解公式: A = B C A = BC A=BC 的计算验证

    • 基矩阵 B B B m × r m×r m×r) × 系数矩阵 C C C r × n r×n r×n) = 原矩阵 A A A m × n m×n m×n),其中 r = rank ( A ) r = \text{rank}(A) r=rank(A)
    • 例子:分解 A = ( 1 2 3 2 4 6 ) A = \begin{pmatrix}1 & 2 & 3 \\ 2 & 4 & 6\end{pmatrix} A=(122436) r = 1 r=1 r=1
      B = ( 1 2 ) ( 2 × 1 ) , C = ( 1 2 3 ) ( 1 × 3 ) B = \begin{pmatrix}1\\2\end{pmatrix} \quad (2×1), \quad C = (1 \quad 2 \quad 3) \quad (1×3) B=(12)(2×1),C=(123)(1×3)
      计算 B C BC BC
      ( 1 2 ) ( 1 2 3 ) = ( 1 × 1 1 × 2 1 × 3 2 × 1 2 × 2 2 × 3 ) = ( 1 2 3 2 4 6 ) = A \begin{pmatrix}1\\2\end{pmatrix} (1 \quad 2 \quad 3) = \begin{pmatrix}1×1 & 1×2 & 1×3 \\ 2×1 & 2×2 & 2×3\end{pmatrix} = \begin{pmatrix}1 & 2 & 3 \\ 2 & 4 & 6\end{pmatrix} = A (12)(123)=(1×12×11×22×21×32×3)=(122436)=A
      • 每一行的计算: B B B 的每行(其实是每个元素)与 C C C 的每列点积,因 B B B C C C 只有1列/行,点积即数值相乘。
  2. 低秩分解的本质:压缩信息的“核心逻辑”

    • 原矩阵 A A A m × n m×n m×n 个元素,分解后 B B B C C C 共有 m × r + r × n m×r + r×n m×r+r×n 个元素,当 r ≪ m , n r \ll m,n rm,n 时,元素量大幅减少(如 m = n = 1000 , r = 10 m=n=1000, r=10 m=n=1000,r=10,原100万元素→分解后2万元素,压缩50倍)。
    • 类比:基矩阵 B B B 是“不同颜色的积木块”,系数矩阵 C C C 是“每个积木用多少块”,原矩阵 A A A 是“搭好的模型”,分解即“拆模型为积木+图纸”,存储量减少。
十、图示

在这里插入图片描述

数字 → 数组 → 向量(行/列) → 矩阵(行列表格)  
↓            ↓               ↓  
线性组合     点积           矩阵乘法(行×列点积)  
↓            ↓               ↓  
线性相关/无关 → 秩(独立向量数) → 满秩(秩=行列数)  
↓                            ↓  
基向量(线性无关组) → 基矩阵(列满秩)  
↓                            ↓  
系数(基的用量) → 系数矩阵(记录所有用量)  
↓                            ↓  
                    矩阵分解(基矩阵×系数矩阵=原矩阵)

低秩分解的本质是通过基矩阵和系数矩阵的线性组合,以最小的存储和计算代价近似表示复杂矩阵

### 基础层:数据结构的演化
┌──────────────────────────────────────┐
│ 基础层:数据结构的演化                │
├──────────────────────────────────────┤
│ 数字(标量):5, -3, 2.5               │
└──────────────────────────────────────┘
           ↓(有序排列)
┌──────────────────────────────────────┐
│ 一维数组:[1, 2, 3]                   │
└──────────────────────────────────────┘
           ↓(抽象为向量)
┌──────────────────────────────────────┐
│ 向量:                               │
│   ┌───────────────┐ ┌──────────────┐  │
│   │ 行向量:(1,2,3) │ │ 列向量:⎡1⎤  │  │
│   └───────────────┘ │          ⎢2⎥   │  │
│                     │          ⎣3⎦   │  │
│                     └──────────────┘  │
└──────────────────────────────────────┘
           ↓(二维扩展)
┌──────────────────────────────────────┐
│ 矩阵 A = ⎡1  2  3⎤ (2×3矩阵,a₁₃=3) │
│          ⎣2  4  6⎦                    │
└──────────────────────────────────────┘
### 运算层:从向量到矩阵的运算
┌──────────────────────────────────────┐
│ 运算层:矩阵的基本运算                │
├──────────────────────────────────────┤
│   ┌──────────────┐ ┌─────────────┐  │
│   │ 线性组合      │ │ 点积        │  │
│   └──────────────┘ └─────────────┘  │
│        ↑             ↑             │
│        ↓             ↓             │
│   ┌──────────────┐ ┌─────────────┐  │
│   │ 2×(1,2,3)    │ │ (1,2)·(3,4) │  │
│   │ =(2,4,6)     │ │ =11         │  │
│   └──────────────┘ └─────────────┘  │
│   ┌───────────────────────────────┐  │
│   │ 矩阵乘法(行×列点积)          │  │
│   └───────────────────────────────┘  │
│        ↑                             │
│        ↓                             │
│   ┌───────────────────────────────┐  │
│   │ ⎡1  2⎤×⎡5  6⎤=⎡19  22⎤        │  │
│   │ ⎣3  4⎦ ⎣7  8⎦ ⎣43  50⎦         │  │
│   └───────────────────────────────┘  │
└──────────────────────────────────────┘
### 性质层:矩阵的代数性质
┌──────────────────────────────────────┐
│ 性质层:矩阵的代数性质                │
├──────────────────────────────────────┤
│   ┌───────────────┐ ┌─────────────┐  │
│   │ 线性相关/无关   │ │ 秩          │  │
│   └───────────────┘ └─────────────┘  │
│        ↑             ↑              │
│        ↓             ↓              │
│   ┌───────────────┐ ┌─────────────┐  │
│   │ A的列向量:    │ │ A中线性无关  │  │
│   │ 2→1=2×1列      │ │ 列数=1      │  │
│   └───────────────┘ └─────────────┘  │
│   ┌───────────────────────────────┐  │
│   │ 满秩(秩=行列数)              │  │
│   └───────────────────────────────┘  │
│        ↑                             │
│        ↓                             │
│   ┌───────────────────────────────┐  │
│   │ 若矩阵B=⎡1  0⎤,秩=2=列数,列满秩│  │
│   │       ⎣0  1⎦                   │  │
│   └───────────────────────────────┘  │
└──────────────────────────────────────┘
### 分解层:矩阵的低秩分解
┌──────────────────────────────────────┐
│ 分解层:矩阵的低秩分解原理            │
├──────────────────────────────────────┤
│   ┌───────────────┐ ┌─────────────┐  │
│   │ 基向量        │ │ 基矩阵      │  │
│   │ (线性无关组) │ │ (列满秩)  │  │
│   └───────────────┘ └─────────────┘  │
│        ↑             ↑              │
│        ↓             ↓              │
│   ┌───────────────┐ ┌─────────────┐  │
│   │ A的基向量:    │ │ 基矩阵B=⎡1⎤  │  │
│   │ ⎡1⎤           │ │         ⎣2⎦  │  │
│   │ ⎣2⎦           │ └─────────────┘  │
│   └───────────────┘                  │
│        ↑                             │
│        ↓                             │
│   ┌───────────────┐ ┌─────────────┐  │
│   │ 系数          │ │ 系数矩阵C=│  │  │
│   │ (基的用量)  │ │ (1  2  3) │  │  │
│   │              │ │ (1×3,秩=1)│  │
│   └───────────────┘ └─────────────┘  │
│                      ┌─────────────┐  │
│                      │ 矩阵分解 B×C=A │  │
│                      └─────────────┘  │
└──────────────────────────────────────┘

网站公告

今日签到

点亮在社区的每一天
去签到