Orthogonal - 正交
本页目录
x, y \in \mathbb{R}^{n} 正交(Orthogonal)定义为 x^Ty=0。
x\in \mathbb{R}^n 的长度(Length)定义为 ||x|| = \sqrt{ x^Tx }。
x,y\in \mathbb{R}^n 之间的角度定义为 \cos\theta= \frac{x^Ty}{\lVert x \rVert\lVert y \rVert}。
柯西-施瓦茨不等式(Cauchy-Schwarz): 对于任意两个内积空间中的向量 x,y,有:
|x\cdot y|^{2}\leq \lvert x \cdot x \rvert \lvert y\cdot y \rvert
这和角度的定义相统一,因为 |\cos\theta|\leq 1 。
定理:若一组向量相互正交且它们不是零向量,则它们是线性无关的。
- 证明:对于方程
c_{1}v_{1}+c_{2}v_{2}+\dots+c_{n}v_{n}=0,将它点乘v_{1}得v_{1}^T(c_{1}v_{1}+c_{2}v_{2}+\dots+c_{n}v_{n})=0,也就是说v_{1}^Tc_{1}v_{1}=c_{1}\lVert v_{1} \rVert^{2}=0。由于\lVert v_{1} \rVert\neq 0,那么c_{1}=0。类似的c_{i}都为0。
两个子空间 V,W 彼此正交定义为 \forall v\in V, w\in W,有 v^Tw=0。记作 V \perp W。
C(A)\perp N(A^T)
- 证明:
b \in C(A) \implies \exists x,\text{s.t. }Ax=b;y\in N(A^T)\implies y^TA=0。从而y^Tb=y^T(Ax)=(y^TA)x=0。从而y^T\perp b。
C(A^T)\perp N(A)
- 证明:
x\in N(A)\implies Ax=0\implies x^TA^T=0,故x\perp A^T。
V\subseteq \mathbb{R}^n 的垂直补(Orthogonal Complement)定义为所有满足 v\perp V 的向量 v 组成的集合,记作 V^{\perp}。一个空间和其垂直补的维数之和为 n。
可以证明 C(A)^{\perp}=N(A^T), C(A^{T})^{\perp}= N(A)。
Ax=b相容的一个等价条件:y^Tb=0 , \forall y\in N(A^{T})。
A 表示的线性变换把 C(A^T) 映射到 C(A) 中,把 N(A) 映射到 0。对于任何一个 n 维向量 x,它可以写成 x=x_{r}+x_{n},而 Ax=A(x_{r}+x_{n})=Ax_{r}。这里 x_{r} 是行空间中的一个向量,而 Ax_{r} 是列空间中的一个向量。所以从几何上看,它把自己的行空间映射到列空间。
投影与最小平方解
b 在 a 上的投影(Projection):p= \lVert p \rVert \frac{a}{\lVert a \rVert}= \lVert b \rVert\cos\theta \frac{a}{\lVert a \rVert}=\frac{a^Tb}{\lVert a \rVert^{2}}a。
投影的矩阵表示: T:\mathbb{R}^n\to \mathbb{R}^n, b \mapsto \frac{a^Tb}{\lVert a \rVert^{2}}a。所以矩阵表示就是 \frac{aa^T}{a^Ta}。
应用:最小平方解(Least Square Solutions),求平方和 \sum_{i=1}^m(a_{i1}x_{1}+a_{i2}x_{2}+\dots+a_{in}x_{n}-b_{i})^{2} 的最小值,其中 a_{ij}, b_{i} 为常数。
- 把问题转换为求
\lVert Ax-b \rVert^{2}的最小值。A将x映射到C(A)中。在平面C(A)中的向量Ax与任意向量b终点连线的长度最小,需要这个连线与C(A)垂直,所以b-A\hat{x} \in C(A)^{\perp}=N(A^T)。那么A^T(b-A\hat{x})=0。 - 只需解方程
\mathbf{(A^T A)\hat{x}=A^T b}。 - 为什么这个方程组有解?从几何角度可以理解。
- 也可以通过证明
\text{rank}(A^TA)=\text{rank}(\begin{bmatrix}A^TA &A^Tb\end{bmatrix})。- 显然
\text{rank}(A^TA)\leq\text{rank}(\begin{bmatrix}A^TA &A^Tb\end{bmatrix})。 - 另有
\text{rank}(A^TA)=\text{rank}(A^T)\geq\text{rank}(A^T \begin{bmatrix}A & b\end{bmatrix})=\text{rank}(\begin{bmatrix}A^TA & A^Tb\end{bmatrix})。
- 显然
- 若
A^T A可逆,则\hat{x}=(A^TA)^{-1}A^T b。也就是,A的最优左逆左乘b。 - 若
A可逆,则可以进一步得到\hat{x}=A^{-1}b。
对于 n=2 的情况就是用最小二乘法求线性回归直线。
- 设这个回归直线为
b=C+Dt。则要使得残差平方和\sum_{i=1}^m(C+Dt_{i}-b_{i})^{2}最小。 - 这里
A=\begin{bmatrix}1 & t_{1} \\ 1 & t_{2} \\ \dots & \dots \\ 1 & t_{m}\end{bmatrix},b=\begin{bmatrix}b_{1} \\ b_{2} \\ \dots \\ b_{m}\end{bmatrix}。 - 则只需解方程
A^TA\begin{bmatrix}C \\ D\end{bmatrix}=A^T即可求出直线的系数。 - 为了方便计算,可以让
b=C_{1}+D_{1}(t-\bar{t}),这里原直线的参数C=C_{1}-D_{1}t, D=D_{1}。那么A=\begin{bmatrix}1 & t_{1}-\bar{t} \\ 1 & t_{2}-\bar{t} \\ \dots & \dots \\ 1 & t_{n}-\bar{t}\end{bmatrix},则A=\begin{bmatrix}v_{1} & v_{2}\end{bmatrix}的两列是正交的。那么\hat{C}=\frac{v_{1}^Tb}{v_{1}^Tv_{1}},\hat{D}=\frac{v_{2}^Tb}{v_{2}^Tv_{2}}。
考虑这个几何问题。
- 由于
A\hat{x}为C(A)上使得其终点与b终点连线垂直于C(A)的向量,b在C(A)上的投影即为p=A\hat{x}=A(A^TA)^{-1}A^Tb。 - 那么投影到
C(A)的线性变换的矩阵表示为P=A(A^TA)^{-1} A^T。 - 这里
P有些性质。比如P^{2}=P,P^T=P。
定义投影矩阵(Projection Matrix):满足 P^{2}=P 且 P^T=P 的矩阵。
- 任何投影矩阵都来自于投影到某个列空间
C(A)的投影。 - 推论:容易验证
Q=I-P也是投影矩阵。若P=A(A^TA)^{-1}A^T,则Q是投影到C(A)^{\perp}=N(A^T)的投影矩阵。这是因为,x可以正交分解为Px+(I-P)x。 - 例如要求投影到平面
x+y+z=0的投影矩阵,可以先求投影到其法向量n=\begin{bmatrix}1 \\ 1 \\ 1\end{bmatrix}上的投影矩阵\frac{nn^T}{n^Tn},再用恒等矩阵减去它。 - 求高维投影矩阵,不如去找它正交补的投影矩阵,再用恒等矩阵减去它就好了。
加权最小平方解(Weighted least-square solution):求平方和 \sum_{i=1}^mw_{i}^{2}(a_{i1}x_{1}+a_{i2}x_{2}+\dots+a_{in}x_{n}-b_{i})^{2} 的最小值,其中 a_{ij}, b_{i} 为常数。
- 只需要把
w_{i}放到平方里面去即可。 - 构造
W=\begin{bmatrix}w_{1} & \dots & \dots & \dots \\ \dots & w_{2} & \dots & \dots \\ \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & w_{n} \end{bmatrix},则转换为求\lVert WA\hat{x_{w}}-Wb \rVert^{2}的最小值。 - 也就是
(WA)^T(WA)\hat{x_{w}}=(WA)^T(Wb。 - 也就是
A^T(W^TW)A\hat{x_{w}}=A^T(W^TW)B。
规范正交基与正交矩阵
规定 q_{1},q_{2},\dots,q_{s} 为一组向量,且满足:
q_{i}^Tq_{j}=\begin{cases}
1 & i=j \\
0 & i\neq j
\end{cases}
则称它们是规范正交(Orthonormal)的。
若 q_{1}, q_{2},\dots,q_{n} 是空间 V 的一组基且它们规范正交,则称它们为规范正交基(Orthonormal Basis)。
正交矩阵(Orthogonal Matrix):一个有着规范正交的列的方矩阵
Q^TQ=I
例如,旋转矩阵,排列矩阵以及反射矩阵都是正交矩阵。
正交矩阵代表的变换会保持长度不变:
\lVert Qx \rVert=\lVert x \rVert
这是因为,(Qx)^T(Qx)=x^TQ^TQx=x^Tx。
更一般地,它会保持内积不变/夹角不变:
(Qx)^T(Qy)=x^Ty
正交基/正交矩阵的好处:
- 坐标非常容易求出来。
b=\sum x_{i}q_{i}
\implies q_{i}^Tb=q_{i}^Tq_{i}x_{i}
\implies x_{i}=q_{i}^Tb - 逆非常容易求出来。
Q=\begin{bmatrix} q_{1} & q_{2} & \dots & q_{n} \end{bmatrix}
\implies Q^{-1}=Q^T
Qx=b\implies x=Q^Tb=\begin{bmatrix} q_{1}^Tb \\ \dots \\ q_{n}^Tb \end{bmatrix} - 任意向量分解到基上都相当于投影上去。
b=\sum (q_{i}^Tb)q_{i} -
长度很好求。
\lVert b \rVert = \sqrt{ \sum (q_{i}b)^{2} } Q^T也是一个正交矩阵,也就是说行也是正交的
(Q^T)^TQ^T=(QQ^T)^T=I- 【注意这里的
Q代表不一定为方阵,但列正交的情况 】若要求Qx=b的最小平方解,则\hat{x}=(Q^TQ)Q^Tb=Q^Tb,则投影p=Q\hat{x}=QQ^Tb=\sum (q_{i}^Tb)q_{i},也就是说,投影到C(Q)相当于投影到Q的列向量上再相加。 - 投影到
C(Q)上的投影矩阵为P=Q(Q^TQ)^{-1}Q^T=QQ^T。
Householder 变换
Householder 变换:将某个向量 x 关于某个 n-1 维超平面 V 做反射。假设平面的法向量为 v,则变换的矩阵表示为
H=I_{n}-2 \frac{vv^T}{v^Tv}
这是因为,H:\mathbb{R}^n \to \mathbb{R}^n, x=x_{\parallel}+x_{\perp}\mapsto x_{\parallel}-x_{\perp},又有 P_{v}x=x_{\perp},则 Hx=x_{\parallel}-x_{\perp}=x-2x_{\perp}=x-2P_{v}x,进而 H=I-2P_{v}=I-2 \frac{vv^T}{v^Tv}。
- 对合性:
H^{2}=I - 正交性:
H^TH=0 - 对称性:
H=H^T
Householder 变换的意义在于,作为一个反射变换,它可以将向量的某些元素置零而保持长度不变。 - 例题:要找某个对称矩阵
A使得A^{2}=I且其第一列为某单位向量u。 - 不妨令
A为一个 Householder 矩阵,由题意得Ae_{1}=u,也就是说e_{1}与u关于 Householder 变换的超平面对称,那么可以取法向量v=e_{1}-u。从而得到矩阵A。
Gram-Schmidt 正交化
若我们已经有了 V 的一组基 \{ a_{1},a_{2},\dots,a_{n} \},我们可以通过 Gram-Schmidt 正交化(Orthogonalization)求出 V 的一组规范正交基 q_{1},q_{2},\dots,q_{n}。
先把 a_{1} 归一化:
q_{1}=\frac{a_{1}}{\lVert a_{1} \rVert}
把 a_{2} 去掉其投影到 q_{1} 的部分,再归一化
q_{2}=\frac{a_{2}-(q_{1}^Ta_{2})a_{1}}{\lVert a_{2}-(q_{1}^Ta_{2}) a_{1}\rVert }
循环往复,减去往前面所有(正交的)向量做的投影:
A_{j+1}=a_{j+1}-\sum_{i=1}^j (q_{i}^T a_{j+1})q_{i}
q_{j+1}= \frac{A_{j+1}}{\lVert A_{j+1} \rVert }
当然也可以到最后再做单位化,计算会简单一些。
QR 分解
A=\begin{bmatrix}
a_{1} & a_{2} & \dots & a_{n}
\end{bmatrix}
Q=\begin{bmatrix}
q_{1} & q_{2} & \dots & q_{n}
\end{bmatrix}
这里有:
\begin{align}
a_{1}&=\lVert a_{1} \rVert q_{1}= q_{1}^Ta_{1}q_{1}\\
a_{2}&=(q_{1}^Ta_{2})q_{1}+(q_{2}^Ta_{2})q_{2} \\
\dots \\
a_{n}&=\sum_{i=1}^n(q_{i}^Ta_{n})q_{i}
\end{align}
因此可以构造矩阵
R=\begin{bmatrix}
q_{1}^Ta_{1} & q_{1}^Ta_{2} & \dots & q_{1}^Ta_{n} \\
0 & q_{2}^Ta_{2} & \dots & q_{2}^Ta_{n} \\
0 & 0 & \dots & \dots \\
0 & 0 & 0 & q_{n}^Ta_{n} \\
\end{bmatrix}
使得 A=QR。也就是说,R 的第 i 列是 A 的第 i 列在 q_{1},q_{2},\dots,q_{i} 做投影得到。也可以用 R=Q^TA 来算。
这里 A 是一个列线性无关的 m\times n 矩阵,Q 是列规范正交的 m\times n 矩阵,R 是可逆的上三角矩阵。
(若 m=n:任何可逆的矩阵可以分解成一个正交矩阵乘一个上三角矩阵。)
若 A=QR,则 Ax=b 的最小平方解: A^TA=(QR)^T(QR)=R^TR,故方程 A^TA\hat{x}=A^Tb 化简为 R^TR\hat{x}=R^TQ^Tb,由于 R^T 可逆,有:
R\hat{x}=Q^Tb 这个方程比较好解,因为 R 是上三角矩阵,只需回代即可。
内积
定义抽象的向量空间中的内积 \left< \cdot, \cdot \right>:V\times V\to \mathbb{R},要求满足:
- 对称性(Symmetric):
\left< v,w \right> =\left< w,v \right> - 双线性(Bilinear):
\left< c_{1}v+c_{2}w,a \right> = c_{1} \left< v,a \right> + c_{2}\left< w,a \right>, \left< a, c_{1}v+c_{2}w \right> = c_{1}\left< a,v \right>+c_{2}\left< a,w \right>。 - 正定性(Positive-Definiteness):
\left< v,v \right> \geq 0, 且v=\vec{0} \iff \left< v,v \right> = 0
例如,对定义在 [0,1] 上的 f(t),要找其最佳拟合直线 b=C+Dt,则需要让 E^{2}=\int_{0}^1(f(t)-C-Dt)^{2}dt 最小。
- 我们定义这里的内积为
\left< f,g \right> =\int_{0}^1f(t)g(t)dt。 - 让
v_{1}=f(t), v_{2}=C\cdot 1+D \cdot t,则要让\lVert v_{1}-v_{2} \rVert^{2}最小。 - 这里
v_{2}在\{ 1,t \}张成的平面内,故这个长度最小,需要v_{2}为v_{1}在这个平面上的投影。 - 用 Gram-Schmidt 正交化可以找到一组正交基
a_{1}= 1, a_{2}=t-\frac{1}{2}。 - 于是这个投影就是
\frac{\left< a_{1}, v \right> }{\left< a_{1}, a_{1} \right> } a_{1}+ \frac{\left< a_{2},v \right> }{\left< a_{2},a_{2} \right> } a_{2} - 这也就是要找的直线。