最小二范数解

最小二范数解

子空间投影问题(最小二乘法)

投影向量

b \textbf{b} b z z z轴和 x y xy xy平面投影分别为 p 1 \textbf{p}_{1} p1 p 2 \textbf{p}_{2} p2最小二范数解_第1张图片两个变换矩阵 P 1 \textbf{P}_{1} P1 P 2 \textbf{P}_{2} P2满足如下最小二范数解_第2张图片以上的例子中两个子空间是正交补的。
上面的问题可以描述为,在空间 R n \mathbb{R}^{n} Rn中,寻找向量 b \textbf{b} b向子空间 R m \mathbb{R}^{m} Rm投影的变换矩阵 P \textbf{P} P

考虑如下情况向量到直线上投影

在二维空间上 R 2 \mathbb{R}^{2} R2,求 b \textbf{b} b在子空间 A = [ 1   0 ] T \textbf{A}=[1 \ 0]^{T} A=[1 0]T上的投影 p \textbf{p} p
最小二范数解_第3张图片

  • 投影方法
    p \textbf{p} p可以表示为 p = Ax , x ∈ R 1 \textbf{p}=\textbf{A}\textbf{x},\textbf{x}\in \mathbb{R}^{1} p=Ax,xR1
    b p ⃗ = p − b = b − Ax \vec{bp}=\textbf{p}-\textbf{b}=\textbf{b}-\textbf{A}\textbf{x} bp =pb=bAx
    由于 b − Ax ⊥ A \textbf{b}-\textbf{A}\textbf{x}\perp\textbf{A} bAxA
    所以 A T ( b − Ax ) = 0 \textbf{A}^{T}(\textbf{b}-\textbf{A}\textbf{x})=0 AT(bAx)=0
    A T Ax = A T b \textbf{A}^{T}\textbf{A}\textbf{x}=\textbf{A}^{T}\textbf{b} ATAx=ATb
    x = ( A T A ) − 1 A T b \textbf{x}=(\textbf{A}^{T}\textbf{A})^{-1}\textbf{A}^{T}\textbf{b} x=(ATA)1ATb,那么最终得到
    p = A ( A T A ) − 1 A T b \textbf{p}=\textbf{A}(\textbf{A}^{T}\textbf{A})^{-1}\textbf{A}^{T}\textbf{b} p=A(ATA)1ATb
  • 优化方法(最小二乘法)
    p \textbf{p} p可以表示为 p = Ax , x ∈ R 1 \textbf{p}=\textbf{A}\textbf{x},\textbf{x}\in \mathbb{R}^{1} p=Ax,xR1 \优化的过程可以表示为 min ⁡ x J ( x ) = ∥ b p ⃗ ∥ 2 2 \min\limits_{\textbf{x}}J(\textbf{x})=\left\|\vec{bp}\right\|_2^2 xminJ(x)=bp 22其中 J ( x ) = ( b − Ax ) T ( b − Ax ) J(\textbf{x})=(\textbf{b}-\textbf{A}\textbf{x})^{T}(\textbf{b}-\textbf{A}\textbf{x}) J(x)=(bAx)T(bAx)\那么 J ′ ( x ) = A T ( b − Ax ) = 0 J'(\textbf{x})=\textbf{A}^{T}(\textbf{b}-\textbf{A}\textbf{x})=0 J(x)=AT(bAx)=0得到(具体参见标量函数对矢量/矩阵的导数内容) p = A ( A T A ) − 1 A T b \textbf{p}=\textbf{A}(\textbf{A}^{T}\textbf{A})^{-1}\textbf{A}^{T}\textbf{b} p=A(ATA)1ATb

子空间投影

之前的叙述中 x \textbf{x} x可以理解为将投影子空间的基线性组合为 p \textbf{p} p的系数,进行如下的叙述:\假设,在空间 R m \mathbb{R}^{m} Rm中的 n n n个向量 a 1 , a 2 , ⋯   , a n ⃗ \textbf{a}_1,\textbf{a}_2,\cdots,\vec{a_n} a1,a2,,an 是线性不相关的,我们想找到一个线性组合 p = x ^ 1 a 1 + ⋯ + x ^ n a n \textbf{p}=\hat{x}_1\textbf{a}_1+\cdots+\hat{x}_n\textbf{a}_n p=x^1a1++x^nan使得 min ⁡ x J ( x ) = ∥ b p ⃗ ∥ 2 2 \min\limits_{\textbf{x}}J(\textbf{x})=\left\|\vec{bp}\right\|_2^2 xminJ(x)=bp 22,那么只要 b p ⃗ \vec{bp} bp 垂直于子空间便满足要求,也即 b p ⃗ \vec{bp} bp 垂直于子空间所有向量,得到如下等式:
a 1 T ( b − Ax ) = 0 ⋮ a n T ( b − Ax ) = 0 o r [ a 1 T ⋮ a n T ] [ b − Ax ] = A T ( b − Ax ) = 0 \begin{matrix} a_1^T(\textbf{b}-\textbf{A}\textbf{x})=0 \\ \vdots \\ a_n^T(\textbf{b}-\textbf{A}\textbf{x})=0 \\\end{matrix}\quad or\quad\left[ \begin{matrix} a_1^T \\ \vdots \\ a_n^T \\ \end{matrix}\right]\left[\textbf{b}-\textbf{A}\textbf{x}\right]=\textbf{A}^T(\textbf{b}-\textbf{A}\textbf{x})=\textbf{0} a1T(bAx)=0anT(bAx)=0ora1TanT[bAx]=AT(bAx)=0
化简
x = ( A T A ) − 1 A T b \textbf{x}=(\textbf{A}^{T}\textbf{A})^{-1}\textbf{A}^{T}\textbf{b} x=(ATA)1ATb
p = A ( A T A ) − 1 A T b \textbf{p}=\textbf{A}(\textbf{A}^{T}\textbf{A})^{-1}\textbf{A}^{T}\textbf{b} p=A(ATA)1ATb

最小二范数解

对于之前讨论的问题 min ⁡ x J ( x ) = ∥ b − Ax ∥ 2 2 \min\limits_{\textbf{x}}J(\textbf{x})=\left\|\textbf{b}-\textbf{A}\textbf{x}\right\|_2^2 xminJ(x)=bAx22

  1. A ∈ R m × n , x ∈ R n × 1 , b ∈ R m × 1 \textbf{A}\in\mathbb{R}^{m\times n},\textbf{x}\in\mathbb{R}^{n\times 1},\textbf{b}\in\mathbb{R}^{m\times 1} ARm×n,xRn×1,bRm×1
  2. A \textbf{A} A行满秩或列满秩

设任意一向量 vect = b − Ax \textbf{vect}=\textbf{b}-\textbf{A}\textbf{x} vect=bAx,移项后具有 Ax = b \textbf{A}\textbf{x}=\textbf{b} Ax=b的形式,那么对于 Ax = b \textbf{A}\textbf{x}=\textbf{b} Ax=b我们知道:

  • m = n m=n m=n时,方程具有唯一解
  • m > n m>n m>n时,方程无解
  • m < n mm<n时,方程有无穷解
    在之前投影的问题 b p ⃗ = b − Ax \vec{bp}=\textbf{b}-\textbf{A}\textbf{x} bp =bAx( b ∉ A \textbf{b}\notin\textbf{A} b/A)属于方程无解的情况,得到的解 x \textbf{x} x为使 ∥ b − Ax ∥ 2 2 \left\|\textbf{b}-\textbf{A}\textbf{x}\right\|_2^2 bAx22(或者叫做误差)最小的解。但对于 m < n mm<n,方程有无穷解的情况可以利用最小二乘法求解最小二范数解。
    Ax = b \textbf{A}\textbf{x}=\textbf{b} Ax=b,满足:
  1. A ∈ R m × n , x ∈ R n × 1 , b ∈ R m × 1 \textbf{A}\in\mathbb{R}^{m\times n},\textbf{x}\in\mathbb{R}^{n\times 1},\textbf{b}\in\mathbb{R}^{m\times 1} ARm×n,xRn×1,bRm×1
  2. A \textbf{A} A行满秩
  3. m < n mm<n

问题描述 min ⁡ x ∥ x ∥ 2 2 = x T x \min\limits_{\textbf{x}}\left\|\textbf{x}\right\|_2^2=\textbf{x}^T\textbf{x} xminx22=xTx ( s . t . Ax = b s.t.\textbf{A}\textbf{x}=\textbf{b} s.t.Ax=b)
引入拉格朗日算子 J ( x ) = 1 2 x T x − λ ( Ax − b ) , ( λ ∈ R m × 1 ) J(\textbf{x})=\frac{1}{2}\textbf{x}^T\textbf{x}-\lambda(\textbf{A}\textbf{x}-\textbf{b}),(\lambda\in\mathbb{R}^{m\times 1}) J(x)=21xTxλ(Axb),(λRm×1)
对上式求导 ∇ J ( x ) = x − A T λ = 0 \nabla J(\textbf{x})=\textbf{x}-\textbf{A}^T\lambda=0 J(x)=xATλ=0
x = A T λ \textbf{x}=\textbf{A}^T\lambda x=ATλ
Ax = A A T λ \textbf{A}\textbf{x}=\textbf{A}\textbf{A}^T\lambda Ax=AATλ
( A A T ) − 1 Ax = λ (\textbf{A}\textbf{A}^T)^{-1}\textbf{A}\textbf{x}=\lambda (AAT)1Ax=λ
λ = ( A A T ) − 1 b \lambda=(\textbf{A}\textbf{A}^T)^{-1}\textbf{b} λ=(AAT)1b
可以得到
x = A T ( A A T ) − 1 b \textbf{x}=\textbf{A}^T(\textbf{A}\textbf{A}^T)^{-1}\textbf{b} x=AT(AAT)1b
结论,对 Ax = b \textbf{A}\textbf{x}=\textbf{b} Ax=b

  • m = n m=n m=n时,方程具有唯一解- m > n m>n m>n时,方程无解 最小二乘解为 x = ( A T A ) − 1 A T b \textbf{x}=(\textbf{A}^{T}\textbf{A})^{-1}\textbf{A}^{T}\textbf{b} x=(ATA)1ATb
  • m < n mm<n时,方程有无穷解
    最小二范数解为 x = A T ( A A T ) − 1 b \textbf{x}=\textbf{A}^T(\textbf{A}\textbf{A}^T)^{-1}\textbf{b} x=AT(AAT)1b 其中 ( A T A ) − 1 A T (\textbf{A}^{T}\textbf{A})^{-1}\textbf{A}^{T} (ATA)1AT A T ( A A T ) − 1 \textbf{A}^T(\textbf{A}\textbf{A}^T)^{-1} AT(AAT)1 A \textbf{A} A在相应情况下的伪逆矩阵

你可能感兴趣的:(笔记)