最小二范数解

最小二范数解

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

投影向量

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

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

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

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

子空间投影

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

最小二范数解

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

  1. ARm×n,xRn×1,bRm×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}
  2. A\textbf{A}行满秩或列满秩

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

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

问题描述 minxx22=xTx\min\limits_{\textbf{x}}\left\|\textbf{x}\right\|_2^2=\textbf{x}^T\textbf{x} (s.t.Ax=bs.t.\textbf{A}\textbf{x}=\textbf{b})
引入拉格朗日算子J(x)=12xTxλ(Axb),(λRm×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)=xATλ=0\nabla J(\textbf{x})=\textbf{x}-\textbf{A}^T\lambda=0
x=ATλ\textbf{x}=\textbf{A}^T\lambda
Ax=AATλ\textbf{A}\textbf{x}=\textbf{A}\textbf{A}^T\lambda
(AAT)1Ax=λ(\textbf{A}\textbf{A}^T)^{-1}\textbf{A}\textbf{x}=\lambda
λ=(AAT)1b\lambda=(\textbf{A}\textbf{A}^T)^{-1}\textbf{b}
可以得到
x=AT(AAT)1b\textbf{x}=\textbf{A}^T(\textbf{A}\textbf{A}^T)^{-1}\textbf{b}
结论,对Ax=b\textbf{A}\textbf{x}=\textbf{b}

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