EE263 Lecture 5 Least-squares
课程主页:https://see.stanford.edu/Course/EE263
这次回顾第五讲,这一讲介绍了正交以及最小二乘法。
几何性质
假设$U=\left[ \begin{array}{lll}{u_{1}} & {\cdots} & {u_{k}}\end{array}\right]$正交,如果$w=Uz$,那么$|w|=|z|$,这说明
乘以$U$不改变范数
$w=Uz$是保距的:保持距离不变
性质的证明:
内积同样保持不变:$\langle U z, U \tilde{z}\rangle=\langle z, \tilde{z}\rangle$
如果$w=Uz,\tilde{w}=U \tilde{z}$,那么
因为范数和内积保持不变,所以角度保持不变:
因此,乘以$U$保持内积,角度和距离不变
$\mathbb R^n$的正交基
假设$u_{1}, \dots, u_{n}$是$\mathbb R^n$的正交基
那么称$U=\left[u_{1} \cdot \cdot \cdot u_{n}\right]$是正交的:它是方阵并且$U^TU=I$
由于$U^{-1}=U^{T}$,所以$U U^{T}=I$,即
正交基的扩张
假设$U$是正交矩阵,所以$x=UU^Tx$,即
- $u_{i}^{T} x$被称为$x$在方向$u_i$上的组件
- $a=U^Tx$将$x$解析为其$u_i$组件的向量
- $x=Ua$从其$u_i$组件重构$x$
- $x=U a=\sum_{i=1}^{n} a_{i} u_{i}$被称为$x$的$(u_i-)$展开
几何解释
如果$U$为正交矩阵,考虑变换$w=Uz$
- 保持范数,即$|U z|=|z|$
- 保持向量的角度,即$\angle(U z, U \tilde{z})=\angle(z, \tilde{z})$
例子
- 选择(关于某些轴)
- 反射(通过某个平面)
在$\mathbb R^2$中旋转$\theta$的矩阵为:
这是因为$e_{1} \rightarrow(\cos \theta, \sin \theta), e_{2} \rightarrow(-\sin \theta, \cos \theta)$
通过直线$x_{2}=x_{1} \tan (\theta / 2)$反射的矩阵为:
这是因为$e_{1} \rightarrow(\cos \theta, \sin \theta), e_{2} \rightarrow(\sin \theta,-\cos \theta)$
图示如下:
Gram-Schmidt过程
给定线性无关的向量$a_{1}, \ldots, a_{k} \in \mathbb{R}^{n}$,G-S过程找到正交向量$q_{1}, \dots, q_{k}$,使得
因此,$q_{1}, \dots, q_{r}$是$\operatorname{span}\left(a_{1}, \ldots, a_{r}\right)$的正交基
方法的粗略思想:首先使每个向量关于之前的向量正交化;然后将向量归一化为$1$。
具体步骤如下:
- 步骤1a:$\tilde{q}_{1} :=a_{1}$
- 步骤1b:$q_{1} :=\tilde{q}_{1} /\left|\tilde{q}_{1}\right|$(正规化)
- 步骤2a:$\tilde{q}_{2} :=a_{2}-\left(q_{1}^{T} a_{2}\right) q_{1}$(从$a_2$中删除$q_1$组件)
- 步骤2b:$q_{2} :=\tilde{q}_{2} /\left|\tilde{q}_{2}\right|$(正规化)
- 步骤3a:$\tilde{q}_{3} :=a_{3}-\left(q_{1}^{T} a_{3}\right) q_{1}-\left(q_{2}^{T} a_{3}\right) q_{2}$(从$a_2$中删除$q_1,q_2$组件)
- 步骤3b:$q_{3} :=\tilde{q}_{3} /\left|\tilde{q}_{3}\right|$(正规化)
- 以此类推
几何意义如下:
对于第$k$步,我们有
所以对$i=1,2,\ldots ,k$,我们有
注意到$r_{ii}\neq 0$。
$QR$分解
将之前的内容写成矩阵形式得到:$A=Q R$,其中$A \in \mathbb{R}^{n \times k}, Q \in \mathbb{R}^{n \times k}, R \in \mathbb{R}^{k \times k}$:
- $Q^TQ=I_k$,$R$是上三角可逆矩阵
- 称上述表达为$A$的$QR$分解
- 通常使用Gram-Schmidt程序的变体计算,因为该变体程序对数值(舍入)误差不太敏感
- $Q$的列是$\mathcal R(A)$的正交基
Gram-Schmidt的一般程序
- 在基本的G-S中我们假设$a_{1}, \dots, a_{k} \in \mathbb{R}^{n}$是线性无关
- 如果$a_{1}, \dots, a_{k}$线性相关,那么存在某个$j$,使得$\tilde{q}_{j}=0$,这意味着$a_j$和$a_{1}, \dots, a_{j-1}$线性相关
- 修改后的算法:当遇到$\tilde q_j = 0$时,跳到下一个向量$a_{j+1}$并继续:
- $r=0$
- 对$i=1,\ldots ,k$
- {
- $\tilde{a}=a_{i}-\sum_{j=1}^{r} q_{j} q_{j}^{T} a_{i}$
- 如果$\tilde{a} \neq 0${
- $r=r+1 ; q_{r}=\tilde{a} /|\tilde{a}|$
- }
- }
- $q_{1}, \dots, q_{r}$是$\mathcal R(A)$的正交基(因此$r=\operatorname{Rank}(A)$)
- 每个$a_i$是先前生成的$q_j$的线性组合
用矩阵记号,我们有$A=QR$,并$Q^TQ=I_r$并且$R\in \mathbb R^{r\times k}$是分块阶梯矩阵:
其中$\times $非零,这里我们显然有$R$的行向量线性无关。
可以对列置换,使得$\times $成为矩阵的前一部分:
其中:
- $Q^{T} Q=I_{r}$
- $\tilde{R} \in \mathbb{R}^{r \times r}$上三角可逆矩阵
- $P \in \mathbb{R}^{k \times k}$是置换矩阵
应用
- 直接产生$\mathcal{R}(A)$的正交基
- 产生分解$A=BC$,其中$B \in \mathbb{R}^{n \times r}, C \in \mathbb{R}^{r \times k}, r=\operatorname{Rank}(A)$
- 检查是否$b \in \operatorname{span}\left(a_{1}, \ldots, a_{k}\right)$:对$\left[a_{1} \cdots a_{k} \ b\right]$使用Gram-Schmidt
- $R$中的阶梯模式显示$A$的哪些列依赖于先前的列
逐步工作:对于$p=1, \dots, k$,一个G-S程序产生$\left[ \begin{array}{lll}{a_{1}} & {\cdots} & {a_{p}}\end{array}\right]$的QR分解:
其中$s=\operatorname{Rank}\left(\left[a_{1} \cdots a_{p}\right]\right)$以及$R_{p}$是$R$的前$p$列构成的$s\times p$矩阵。
完全$QR$分解
利用之前的$QR$分解$A=Q_{1} R_{1}$,我们可以写成
其中$\left[Q_{1}\ Q_{2}\right]$正交,即$Q_{2} \in \mathbb{R}^{n \times(n-r)}$的列和$Q_1$正交。
为了找到$Q_2$:
- 找到任何矩阵$\tilde{A}$,使得$[A\ \tilde{A}]$满秩,例如$\tilde{A}=I$
- 对$[A\ \tilde{A}]$使用一般的Gram-Schmidt
- $Q_1$是从$A$的列中获得的正交向量
- $Q_2$是从$\tilde A$的列中获得的正交向量
即任何一组$\mathbb R^n$中正交向量都可以扩展到标准正交基。
$\mathcal{R}\left(Q_{1}\right)$和$\mathcal{R}\left(Q_{2}\right)$被称为互补子空间,这是因为
- 它们正交(即第一个子空间中的每个向量都与第二个子空间中的每个向量正交)
- 它们的和是$\mathbb R^n$(即中的每个向量可以表示为两个向量之和,每个子空间各一个)
这可以表达为
- $\mathcal{R}\left(Q_{1}\right) \stackrel{\perp}{+} \mathcal{R}\left(Q_{2}\right)=\mathbb{R}^{n}$
- $\mathcal{R}\left(Q_{2}\right)=\mathcal{R}\left(Q_{1}\right)^{\perp},\mathcal{R}\left(Q_{1}\right)=\mathcal{R}\left(Q_{2}\right)^{\perp}$(每个子空间和另一个正交互补)
我们知道$\mathcal{R}\left(Q_{1}\right)=\mathcal{R}(A)$,那么它的正交互补空间$\mathcal{R}\left(Q_{2}\right)$如何呢?下一部分将回答该问题。
$A$引导的正交分解
从$A^{T}=\left[ \begin{array}{cc}{R_{1}^{T}} & {0}\end{array}\right] \left[ \begin{array}{c}{Q_{1}^{T}} \\ {Q_{2}^{T}}\end{array}\right]$,我们得出
有之前讨论可得$R_1$的行向量线性无关,所以上述事实等价于
因$\mathcal{R}\left(Q_{2}\right)=\mathcal{N}\left(A^{T}\right)$(事实上$Q$的列是$\mathcal{N}\left(A^{T}\right)$的正交基)
我们得到如下结论:$\mathcal{R}(A)$和$\mathcal{N}\left(A^{T}\right)$是互补空间(注意$\mathcal{R}\left(Q_{1}\right)=\mathcal{R}(A)$):
$\mathcal{R}(A) \stackrel{\perp}{+} \mathcal{N}\left(A^{T}\right)=\mathbb{R}^{n}, A\in \mathbb R^{n\times k}$
$\mathcal{R}(A)^{\perp}=\mathcal{N}\left(A^{T}\right),\mathcal{N}\left(A^{T}\right)^{\perp}=\mathcal{R}(A)$
这称为$A\in \mathbb R^{n\times k}$引导的$\mathbb R^n$的正交分解
每个$y\in \mathbb R^n$可以被唯一写成$y=z+w$,其中$z \in \mathcal{R}(A),w \in \mathcal{N}\left(A^{T}\right)$
将$A \in \mathbb{R}^{n \times k}$换成$A^{T} \in \mathbb{R}^{k \times n}$给出$\mathbb R^k$的分解:
利用这部分的内容可以证明之前的结论:
zero零空间
$A$称为一对一如果$\mathcal N(A) = \{0\}$,这等价于:
- $x$可以由$y=Ax$唯一决定(即,线性变换$y=Ax$不损失信息。)
- 从$x$到$Ax$的映射是一对一的:不同的$x$映射到不同的$y$
- $A$的列向量线性无关
- $A$存在左逆,即存在$B\in \mathbb R^{n\times m}$,使得$BA=I_n$
- $\text{det}(A^TA)\neq 0$
结论1,2,3显然,这里补充证明结论4,5。
注意此时$A$的$QR$分解为
注意$R$可逆。
(4)取
那么
(5)因为
所以
Onto矩阵
矩阵$A$被称为onto,如果$\mathcal{R}(A)=\mathbb{R}^{m}$,这等价于
- 对任意$y$,$Ax=y$都有解
- $A$的列张成了$\mathbb{R}^{m}$
- $A$有右逆,即存在$B\in \mathbb R^{n\times m}$,使得$AB=I$
- $A$的行向量线性无关
- $\mathcal{N}\left(A^{T}\right)=\{0\}$
- $\operatorname{det}\left(A A^{T}\right) \neq 0$
因为
所以如果$\mathcal{R}(A)=\mathbb{R}^{m}$,那么$\mathcal{N}\left(A^{T}\right)= \{0\}$,那么对$A^T$使用前一部分的结论即可。特别的,如果$A^T $的$QR$分解为
其中$R$可逆,取
那么
Lecture 5 最小二乘法
超定线性方程组
考虑$y=Ax$,其中$A \in \mathbb{R}^{m \times n}$是严格瘦矩阵,即$m>n$,我们称
- 该线性方程组超定(方程数量比未知数多)
- 对大多数$y$,无法求解$x$
一个方法是近似求解$y=Ax$:
- 定义残差或误差$r=Ax-y$
- 找到$x=x_{\text{ls}}$最小化$|r|$
$x_{\text{ls}}$被称为$y=Ax$的最小二乘(近似)解。