Bootstrap

超定方程组和欠定方程组

超定方程组:最小二乘法

最小二乘法是一种求线性方程组近似解的方法,基本思想是最小化残差平方和 ∑ i = 1 n ( y i ^ − y i ) 2 \sum_{i=1}^{n}(\hat{\mathbf{y}_i}-\mathbf{y}_i)^2 i=1n(yi^yi)2,接下来从线性代数的角度来对最小二乘法进行完整的推导。

对于线性方程组 A x = y \mathbf{Ax}=\mathbf{y} Ax=y,其有解的充要条件是 y \mathbf{y} y A \mathbf{A} A的列空间中,在数据拟合任务中这一条件往往是不成立的,那么就需要寻求近似解,一个最优的近似解显然是将 y \mathbf{y} y垂直投影到 A \mathbf{A} A的列空间中,也就是将 y \mathbf{y} y分解为垂直于列空间与平行于列空间两部分,使用平行于列空间的分量代替 y \mathbf{y} y用来求解方程组。

先从将向量投影到向量考虑,假设存在向量 a \mathbf{a} a b \mathbf{b} b,现在想要将 b \mathbf{b} b投影到 a \mathbf{a} a上, b \mathbf{b} b a \mathbf{a} a上的投影可以表示为 a x \mathbf{a}x ax b \mathbf{b} b垂直于 a \mathbf{a} a的分量可以表示为 b − a x \mathbf{b}-\mathbf{a}x bax(这就是施密特正交化的原理),那么显然有
a T ( b − a x ) = 0 \mathbf{a}^T(\mathbf{b}-\mathbf{a}x)=0 aT(bax)=0
解得
x = a T b a T a x=\frac{\mathbf{a}^T\mathbf{b}}{\mathbf{a}^T\mathbf{a}} x=aTaaTb
那么投影的表达式就是
a x = a a T b a T a \mathbf{a}x=\mathbf{a}\frac{\mathbf{a}^T\mathbf{b}}{\mathbf{a}^T\mathbf{a}} ax=aaTaaTb
如果将分子上的 b \mathbf{b} b去掉的话,这个表达式将只与 a \mathbf{a} a有关,并且是一个矩阵,这个矩阵就是将 b \mathbf{b} b投影到 a \mathbf{a} a的投影矩阵
P = a a T a T a \mathbf{P}=\frac{\mathbf{a}\mathbf{a}^T}{\mathbf{a}^T\mathbf{a}} P=aTaaaT
任何一个向量 b \mathbf{b} b经这个矩阵变换后将被投影到 a \mathbf{a} a上,不难发现这是一个对称矩阵,且满足 P 2 = P \mathbf{P}^2=\mathbf{P} P2=P,因为一个向量经过一次投影后已经被投影到 a \mathbf{a} a上,再投影一次将不发生变化。

接下来考虑将一个向量 y \mathbf{y} y投影到矩阵 A \mathbf{A} A的列空间中,仿照之前的做法, A \mathbf{A} A的列空间中的向量可以表示为 A \mathbf{A} A的列的线性组合,即 A x ^ \mathbf{A}\hat{\mathbf{x}} Ax^ y \mathbf{y} y垂直于的列空间的分量可以表示为 y − A x ^ \mathbf{y}-\mathbf{A}\hat{\mathbf{x}} yAx^,显然 A \mathbf{A} A的每一列均垂直于 y − A x ^ \mathbf{y}-\mathbf{A}\hat{\mathbf{x}} yAx^,也就是说
A T ( y − A x ^ ) = 0 \mathbf{A}^T(\mathbf{y}-\mathbf{A}\hat{\mathbf{x}})=0 AT(yAx^)=0
化简得到
A T A x ^ = A T y \mathbf{A}^T\mathbf{A}\hat{\mathbf{x}}=\mathbf{A}^T\mathbf{y} ATAx^=ATy
x ^ \hat{\mathbf{x}} x^实际上就是方程组的近似解,如果 A T A \mathbf{A}^T\mathbf{A} ATA可逆的话,那么
x ^ = ( A T A ) − 1 A T y \hat{\mathbf{x}}=(\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T\mathbf{y} x^=(ATA)1ATy
投影后的 y \mathbf{y} y就是 A ( A T A ) − 1 A T y \mathbf{A}(\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T\mathbf{y} A(ATA)1ATy,如果将 y \mathbf{y} y去掉的话,剩下的部分将只与 A \mathbf{A} A有关并且是一个矩阵,这个矩阵就是将 y \mathbf{y} y投影到 A \mathbf{A} A的列空间的投影矩阵
P = A ( A T A ) − 1 A T \mathbf{P}=\mathbf{A}(\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T P=A(ATA)1AT
这是一个对称矩阵,因为
P T = ( A ( A T A ) − 1 A T ) T = ( A T ) T ( ( A T A ) − 1 ) T A T = A ( A T A ) − 1 A T = P \begin{aligned} \mathbf{P}^T&=(\mathbf{A}(\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T)^T\\ &=(\mathbf{A}^T)^T((\mathbf{A}^T\mathbf{A})^{-1})^T\mathbf{A}^T\\ &=\mathbf{A}(\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T\\ &=\mathbf{P} \end{aligned} PT=(A(ATA)1AT)T=(AT)T((ATA)1)TAT=A(ATA)1AT=P
并且同样满足 P 2 = P \mathbf{P}^2=\mathbf{P} P2=P,因为
P 2 = A ( A T A ) − 1 A T A ( A T A ) − 1 A T = A ( A T A ) − 1 ( A T A ) ( A T A ) − 1 A T = A ( A T A ) − 1 A T = P \begin{aligned} \mathbf{P}^2&=\mathbf{A}(\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T\mathbf{A}(\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T\\ &=\mathbf{A}(\mathbf{A}^T\mathbf{A})^{-1}(\mathbf{A}^T\mathbf{A})(\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T\\ &=\mathbf{A}(\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T\\ &=\mathbf{P} \end{aligned} P2=A(ATA)1ATA(ATA)1AT=A(ATA)1(ATA)(ATA)1AT=A(ATA)1AT=P
剩下的最后一个问题就是如果判断 A T A \mathbf{A}^T\mathbf{A} ATA是否可逆,实际上 r ( A T A ) = r ( A ) r(\mathbf{A}^T\mathbf{A})=r(\mathbf{A}) r(ATA)=r(A),也就是说如果 A \mathbf{A} A是列满秩的话, A T A \mathbf{A}^T\mathbf{A} ATA就可逆,现在来证明这个结论,如果 A T A \mathbf{A}^T\mathbf{A} ATA A \mathbf{A} A有相同的零空间的话,这一结论显然成立(零空间的维数是 n − r n-r nr),要证明 A T A \mathbf{A}^T\mathbf{A} ATA A \mathbf{A} A有相同的零空间,只需证明对任意的 x \mathbf{x} x A x = 0 ⇔ A T A x = 0 \mathbf{Ax}=\mathbf{0}\Leftrightarrow\mathbf{A}^T \mathbf{Ax}=\mathbf{0} Ax=0ATAx=0 ⇒ \Rightarrow 显然成立,只需证明 ⇐ \Leftarrow ,假设 A T A x = 0 \mathbf{A}^T \mathbf{Ax}=\mathbf{0} ATAx=0,等式两边同乘 x T \mathbf{x}^T xT
x T A T A x = 0 \mathbf{x}^T\mathbf{A}^T \mathbf{Ax}=\mathbf{0} xTATAx=0

( A x ) T A x = 0 (\mathbf{Ax})^T\mathbf{Ax}=\mathbf{0} (Ax)TAx=0
显然有 A x = 0 \mathbf{Ax}=\mathbf{0} Ax=0,证明完毕。

只需要 A \mathbf{A} A列满秩,就可以得到线性方程组的最小二乘解,实际上这一要求不难成立,因为在数据拟合任务中往往 A \mathbf{A} A的行数远远大于列数。

最后来看一下投影矩阵 P \mathbf{P} P,它将一个向量投影到矩阵 A \mathbf{A} A的列空间,在线性代数中我们知道 A \mathbf{A} A的左零空间( A T x = 0 \mathbf{A}^T\mathbf{x}=\mathbf{0} ATx=0)与 A \mathbf{A} A的列空间是正交的,假设 A \mathbf{A} A的左零空间的投影矩阵是 L \mathbf{L} L,那么对任意向量 y \mathbf{y} y
( P y ) T ( L y ) = 0 (\mathbf{Py})^T(\mathbf{Ly})=\mathbf{0} (Py)T(Ly)=0

y T P T L y = 0 \mathbf{y}^T\mathbf{P}^T\mathbf{Ly}=\mathbf{0} yTPTLy=0
P \mathbf{P} P是对称矩阵,所以有
P L = O \mathbf{PL}=\mathbf{O} PL=O
解得
L = I − P \mathbf{L}=\mathbf{I}-\mathbf{P} L=IP
于是在求得列空间的投影矩阵 P \mathbf{P} P后,就是求得了左零空间的投影矩阵 L \mathbf{L} L

欠定方程组:QR分解

对方程组
A x = b \mathbf{A}\boldsymbol{x}=\boldsymbol{b} Ax=b
其中 A ∈ R p × n \mathbf{A}\in\R^{p\times n} ARp×n,如果 p < n p<n p<n,那么此方程组就称为欠定方程组,如果 A \boldsymbol{A} A满足 r a n k ( A ) = p rank(\boldsymbol{A})=p rank(A)=p,那么对任意 b b b方程组至少有一个解(参考线性方程组的解个数与秩的关系),此时可以通过QR分解来得到方程组的一个解。

此时 A T \boldsymbol{A}^T AT列满秩,可以分解为
A T = Q R \mathbf{A}^T=\mathbf{QR} AT=QR
其中 Q ∈ R n × p \mathbf{Q}\in\R^{n\times p} QRn×p,是 A \mathbf{A} A的列空间的一组标准正交基, R ∈ R p × p \boldsymbol{R}\in\R^{p\times p} RRp×p,其第 i i i行第 j j j列的元素为 Q \mathbf{Q} Q的第 i i i列与 A \mathbf{A} A的第 j j j列的内积,是一个上三角矩阵。此时 x ^ = Q R − T b \hat{\boldsymbol{x}}=\mathbf{QR}^{-T}\boldsymbol{b} x^=QRTb明显满足该方程组:
A x ^ = R T Q T Q R − T b = b \mathbf{A}\hat{\boldsymbol{x}}=\mathbf{R}^T\mathbf{Q}^T\mathbf{QR}^{-T}\boldsymbol{b}=\boldsymbol{b} Ax^=RTQTQRTb=b
再通过求解 A \mathbf{A} A的零空间的基就可以得到一系列解。

;