作者水平有限,欢迎大家提出文中错误
正交性
x
T
y
=
0
x^Ty=0
xTy=0
则称
x
⊥
y
x\perp y
x⊥y,此时
∥
x
∥
2
+
∥
y
∥
2
=
∥
x
+
y
∥
2
\left\|x\right\|^2+\left\|y\right\|^2=\left\|x+y\right\|^2
∥x∥2+∥y∥2=∥x+y∥2,称为勾股定理或
P
y
t
h
a
g
o
r
a
s
′
l
a
w
Pythagoras'\ law
Pythagoras′ law
- 0 ⊥ a n y v e c t o r 0\perp any \ vector 0⊥any vector
- 如果说子空间 S S S与子空间 T T T垂直, ∀ v ∈ S , ∀ w ∈ T , v ⊥ w \forall v\in S,\forall w\in T,v\perp w ∀v∈S,∀w∈T,v⊥w
- 对于矩阵 A A A, C ( A T ) ⊥ N ( A ) C(A^T)\perp N(A) C(AT)⊥N(A), C ( A ) ⊥ N ( A T ) C(A)\perp N(A^T) C(A)⊥N(AT)
标准正交矩阵
Q
i
s
a
o
r
t
h
o
n
o
r
m
a
l
m
a
t
r
i
x
,
o
n
l
y
i
f
Q\ is\ a\ orthonormal\ matrix,\ only\ if
Q is a orthonormal matrix, only if
q
i
T
q
j
=
{
0
,
i
f
i
≠
j
1
,
i
f
i
=
j
q_i^Tq_j= \left\{ \begin{aligned} 0,\ if\ i\not=j\\ 1,\ if\ i=j \end{aligned} \right.
qiTqj={0, if i=j1, if i=j
Q
T
Q
=
I
Q^TQ=I
QTQ=I
对于一般的正交矩阵上式得出了一个对角阵,对角元是各列向量长度平方
如果
Q
Q
Q是方阵
Q
T
=
Q
−
1
Q^T=Q^{-1}
QT=Q−1
即使
Q
m
∗
n
Q_{m*n}
Qm∗n不是方阵
Q
n
∗
m
T
Q
m
∗
n
=
I
n
∗
n
Q^T_{n*m}Q_{m*n}=I_{n*n}
Qn∗mTQm∗n=In∗n
同时不难得出
Q
Q
Q总是列满秩的。
比如4维的
A
d
h
e
m
a
r
m
a
t
r
i
x
Adhemar\ matrix
Adhemar matrix,矩阵中只有-1和1,但并不是所有维度的矩阵都有这种形式
1
2
[
1
1
1
1
1
−
1
1
−
1
1
1
−
1
−
1
1
−
1
−
1
1
]
\frac{1}{2} \left[ \begin{matrix} 1&1&1&1 \\ 1&-1&1&-1\\ 1&1&-1&-1 \\ 1&-1&-1&1\\ \end{matrix} \right]
21⎣⎢⎢⎡11111−11−111−1−11−1−11⎦⎥⎥⎤
投影矩阵
一维情况
首先考虑向一维子空间的投影,
p
p
p是
b
b
b投影后的像,
b = p + e b=p+e b=p+e, b T a = p T a + e T a b^Ta=p^Ta+e^Ta bTa=pTa+eTa,
由于 e ⊥ a e\perp a e⊥a,所以 e T a = 0 e^Ta=0 eTa=0,所以有 b T a = p T a b^Ta=p^Ta bTa=pTa,
又因为 a a a与 p p p同向, p T a = ∥ p ∥ ∥ a ∥ p^Ta=\left \| p\right \| \left \| a\right \| pTa=∥p∥∥a∥,所以 a T b a T a = ∥ p ∥ ∥ a ∥ \frac {a^Tb}{a^Ta}=\frac{\left \| p\right \| }{ \left \| a\right \|} aTaaTb=∥a∥∥p∥,
所以矩阵 a a T a T a \frac{aa^T}{ a^Ta} aTaaaT是一个投影算子,也可以看出 p p p是子空间中距离 b b b最近的像
向多维情况拓展,假设投影矩阵 P P P可以将向量投影到 A A A的列空间 C ( A ) C(A) C(A)。
最小二乘法
在向多维情况拓展之前,首先说一下最小二乘法
考虑一个线性方程组 A x = b , b ∉ C ( A ) Ax=b,b\notin C(A) Ax=b,b∈/C(A),此方程组一定是无解的,但是可以找到方程最近的一个解,通过把 b b b投影到 C ( A ) C(A) C(A)。
设此像为 p p p,方程组变为 A x ^ = p A\hat{x}=p Ax^=p,
A x ^ A\hat x Ax^是距离 b b b最近的 C ( A ) C(A) C(A)中的像,那么误差向量 e = b − A x ^ e=b-A\hat{x} e=b−Ax^一定垂直于 C ( A ) C(A) C(A)。
所以有 A T ( b − A x ^ ) = 0 A^T(b-A\hat{x})=0 AT(b−Ax^)=0。(特别一提 e ∈ N ( A ) e\in N(A) e∈N(A))
则 A T A x ^ = A T b A^TA\hat{x}=A^Tb ATAx^=ATb
此时如果 A T A A^TA ATA是奇异的(明显是方阵,而且是对称矩阵),推导便走到了尽头。所以下面论证 A T A A^TA ATA的可逆性。
若
A
x
=
0
Ax=0
Ax=0,那么
A
T
A
x
=
0
A^TAx=0
ATAx=0,则
N
(
A
)
⊆
N
(
A
T
A
)
N(A)\subseteq N(A^TA)
N(A)⊆N(ATA)
若
A
T
A
x
=
0
A^TAx=0
ATAx=0,则
x
T
A
T
A
x
=
0
x^TA^TAx=0
xTATAx=0,则
(
A
x
)
T
A
x
=
0
(Ax)^TAx=0
(Ax)TAx=0,则
A
x
=
0
Ax=0
Ax=0,则
N
(
A
T
A
)
⊆
N
(
A
)
N(A^TA)\subseteq N(A)
N(ATA)⊆N(A)
综上所述, N ( A T A ) = N ( A ) N(A^TA)=N(A) N(ATA)=N(A), r a n k A T A = r a n k A rank\ A^TA=rank\ A rank ATA=rank A。
换言之,只有当 A A A行满秩或列满秩的时候, A T A A^TA ATA才是可逆的。
回到投影矩阵
上一节已经知道只有
A
A
A行满秩或列满秩的时候,
(
A
T
A
)
−
1
(A^TA)^{-1}
(ATA)−1才存在, 那么我们就假设
A
A
A毫无冗余地描述了其列空间,于是我们立马可得
x
^
=
(
A
T
A
)
−
1
A
T
b
\hat{x}=(A^TA)^{-1}A^Tb
x^=(ATA)−1ATb
A
x
^
=
A
(
A
T
A
)
−
1
A
T
b
A\hat{x}=A(A^TA)^{-1}A^Tb
Ax^=A(ATA)−1ATb
p
=
A
(
A
T
A
)
−
1
A
T
b
p=A(A^TA)^{-1}A^Tb
p=A(ATA)−1ATb
至此,投影矩阵
P
P
P已经得出
P
=
A
(
A
T
A
)
−
1
A
T
P=A(A^TA)^{-1}A^T
P=A(ATA)−1AT
可见此矩阵与一维情况有相似之处,当
A
A
A是一个向量的时候,矩阵会退化为其一维形式
如果
A
A
A是一个标准正交的矩阵,记作
Q
Q
Q,则
P
=
Q
Q
T
P=QQ^T
P=QQT
投影矩阵的若干性质
- 不难证明, P P P是对称矩阵
- P n = P P^n=P Pn=P,可以轻松证明,不再赘述
- ∀ v ∈ C ( A ) , P v = v \forall\ v\in C(A),Pv=v ∀ v∈C(A),Pv=v
- 如果 A A A可逆, P = I P=I P=I
再述最小二乘法
假设有一些数据构成了向量 b m e a s u r e m e n t b_{measurement} bmeasurement,理想条件下, b m e a s u r e m e n t b_{measurement} bmeasurement在矩阵方程中是有解的,但是由于测量过程中噪声的存在, b m e a s u r e m e n t b_{measurement} bmeasurement偏离了真值,造成了 A x = b m e a s u r e m e n t Ax=b_{measurement} Ax=bmeasurement无解,但是正如上文所说,可以将 b m e a s u r e m e n t b_{measurement} bmeasurement投影到 C ( A ) C(A) C(A)中,使得方程可解,即拟合。其实拟合的数据点足够多可以消除噪声的影响,得到现有数据对应的最可能解。
在
R
2
\mathbb R^2
R2中讨论
假设解为
y
=
a
x
+
c
y=ax+c
y=ax+c,
[
x
1
1
x
2
1
⋮
⋮
x
n
1
]
[
a
c
]
=
[
y
1
⋮
y
2
y
n
]
\begin{bmatrix} x_1 & 1 \\ x_2 & 1\\ \vdots & \vdots\\ x_{n} & 1 \\ \end{bmatrix} \left[ \begin{matrix} a\\ c\\ \end{matrix} \right]= \left[ \begin{matrix} y_1 \\ \vdots \\ y_2 \\ y_n \\ \end{matrix} \right]
⎣⎢⎢⎢⎡x1x2⋮xn11⋮1⎦⎥⎥⎥⎤[ac]=⎣⎢⎢⎢⎡y1⋮y2yn⎦⎥⎥⎥⎤
此为
A
x
=
b
m
e
a
s
u
r
e
m
e
n
t
Ax=b_{measurement}
Ax=bmeasurement
方程
A
T
A
x
^
=
A
T
b
A^TA\hat x=A^Tb
ATAx^=ATb的解为
[
a
^
c
^
]
\left[ \begin{matrix} \hat a\\ \hat c\\ \end{matrix} \right]
[a^c^]
A
T
A
=
[
∑
i
=
1
n
x
i
2
∑
i
=
1
n
x
i
∑
i
=
1
n
x
i
n
]
A^TA= \left[ \begin{matrix} \sum\limits_{i=1}^nx_i^2 & \sum\limits_{i=1}^nx_i\\ \sum\limits_{i=1}^nx_i & n\\ \end{matrix} \right]
ATA=⎣⎢⎡i=1∑nxi2i=1∑nxii=1∑nxin⎦⎥⎤
A
T
b
=
[
∑
i
=
1
n
x
i
y
i
∑
i
=
1
n
y
i
]
A^Tb= \left[ \begin{matrix} \sum\limits_{i=1}^nx_iy_i\\ \sum\limits_{i=1}^ny_i\\ \end{matrix} \right]
ATb=⎣⎢⎡i=1∑nxiyii=1∑nyi⎦⎥⎤
解为:
a
^
=
n
∑
i
=
1
n
x
i
y
i
−
∑
i
=
1
n
x
i
∑
i
=
1
n
y
i
n
∑
i
=
1
n
x
i
2
−
(
∑
i
=
1
n
x
i
)
2
,
c
^
=
y
ˉ
−
a
^
x
ˉ
\hat a=\frac{n\sum\limits_{i=1}^nx_iy_i-\sum\limits_{i=1}^nx_i\sum\limits_{i=1}^ny_i}{n\sum\limits_{i=1}^nx_i^2-(\sum\limits_{i=1}^nx_i)^2}, \hat c=\bar y-\hat a\bar x
a^=ni=1∑nxi2−(i=1∑nxi)2ni=1∑nxiyi−i=1∑nxii=1∑nyi,c^=yˉ−a^xˉ
以上即为高中数学的线性回归方程
而上述方法可以达到什么最优呢?根据投影的几何意义,投影是为了
∥
b
−
p
∥
\left\|b-p\right\|
∥b−p∥最小
在二维的最小二乘法中,
∥
e
∥
2
=
∑
i
=
1
n
[
y
i
−
(
a
^
x
ˉ
+
c
^
)
]
2
{\left\|e\right\|}^2=\sum\limits^n_{i=1} \left[ y_i-(\hat a \bar x+\hat c) \right]^2
∥e∥2=i=1∑n[yi−(a^xˉ+c^)]2
∇
e
=
0
\nabla e=0
∇e=0是我们需要求的状态,则
∂
a
^
e
=
0
,
∂
c
^
e
=
0
\partial_{\hat a}e=0,\ \partial_{\hat c}e=0
∂a^e=0, ∂c^e=0
这个微分方程的解和上式一样
如果
A
A
A是一个标准正交的矩阵,记作
Q
Q
Q,则方程
A
T
A
x
^
=
A
T
b
A^TA\hat x=A^Tb
ATAx^=ATb化为
x
^
=
Q
T
b
\hat x=Q^Tb
x^=QTb
其意义是在标准正交基
[
q
1
…
q
n
]
[q_1\dots q_n]
[q1…qn]下,向量
b
b
b的第
i
i
i个坐标为
x
^
=
q
i
T
b
\hat x=q_i^Tb
x^=qiTb
Gram-Schmidt正交化
通过Gram-Schmidt正交化,可以根据 A A A找到一组 C ( A ) C(A) C(A)的标准正交基
看一个
R
3
\mathbb R^3
R3的例子
Q
=
[
q
1
…
q
n
]
Q= \left[ \begin{matrix} q_1 \dots q_n \end{matrix} \right]
Q=[q1…qn]
首先
q
1
=
1
∥
a
1
∥
a
1
q_1=\frac 1{\left\|a_1\right\|}a_1
q1=∥a1∥1a1
对于
q
2
q_2
q2
a
2
a_2
a2在
a
1
a_1
a1上的投影向量等于
a
1
a
1
T
a
1
T
a
1
a
2
\frac{a_1a_1^T}{a_1^Ta_1}a_2
a1Ta1a1a1Ta2,则
e
1
=
(
I
−
q
1
q
1
T
q
1
T
q
1
)
a
2
e_1=(I-\frac{q_1q_1^T}{q_1^Tq_1})a_2
e1=(I−q1Tq1q1q1T)a2
或者
e
1
=
a
2
−
(
q
1
T
a
2
)
q
1
e_1=a_2-(q_1^Ta_2)q_1
e1=a2−(q1Ta2)q1
而
e
1
∥
q
2
e_1\parallel q_2
e1∥q2,所以
q
2
=
1
∥
e
1
∥
e
1
q_2=\frac 1{\left\|e_1\right\|}e_1
q2=∥e1∥1e1
对于
q
3
q_3
q3,需要先构造矩阵
B
=
[
q
1
q
2
]
B= \left[ \begin{matrix} q_1&q_2 \end{matrix} \right]
B=[q1q2]
a
3
a_3
a3在
C
(
B
)
C(B)
C(B)上的投影为
B
(
B
T
B
)
−
1
B
T
a
3
B(B^TB)^{-1}B^Ta_3
B(BTB)−1BTa3,则
e
2
=
(
I
−
B
(
B
T
B
)
−
1
B
T
)
a
3
e_2=(I-B(B^TB)^{-1}B^T)a_3
e2=(I−B(BTB)−1BT)a3
或者
e
2
=
a
3
−
(
q
1
q
1
T
+
q
2
q
2
T
)
a
3
e_2=a_3-(q_1q_1^T+q_2q_2^T)a_3
e2=a3−(q1q1T+q2q2T)a3
e
2
=
a
3
−
(
q
1
T
a
3
)
q
1
+
(
q
2
T
a
3
)
q
2
e_2=a_3-(q_1^Ta_3)q_1+(q_2^Ta_3)q_2
e2=a3−(q1Ta3)q1+(q2Ta3)q2
q
3
=
1
∥
e
2
∥
e
2
q_3=\frac1{\left\|e_2\right\|}e_2
q3=∥e2∥1e2
推广到任意维空间,第
i
i
i个向量的正交化
e
i
−
1
=
a
i
−
∑
j
=
1
i
−
1
(
q
j
T
a
i
)
q
j
,
q
i
=
1
∥
e
i
−
1
∥
e
i
−
1
e_{i-1}=a_i-\sum\limits_{j=1}^{i-1}(q_j^Ta_i)q_j,\ q_i=\frac1{\left\|e_{i-1}\right\|}e_{i-1}
ei−1=ai−j=1∑i−1(qjTai)qj, qi=∥ei−1∥1ei−1
注意这里公式似乎和一些教材上的有所不同,是因为这些教材上没有在生成了正交基后立即对其标准化,导致
B
T
B
≠
I
B^TB\not=I
BTB=I,而是一个对角阵。导致了每一项下系数不为1。
A = Q R A=QR A=QR
如果是消元法的矩阵形式是
A
=
L
U
A=LU
A=LU
那么Gram-Schmidt正交化的矩阵形式就是
A
=
Q
R
A=QR
A=QR
[
a
1
a
2
⋯
a
m
]
=
[
q
1
q
2
⋯
q
m
]
[
a
1
T
q
1
a
2
T
q
1
⋯
a
m
T
q
1
a
1
T
q
2
a
2
T
q
2
⋯
a
m
T
q
2
⋮
⋮
⋱
⋮
a
1
T
q
m
a
2
T
q
m
⋯
a
m
T
q
m
]
\left[ \begin{matrix} a1&a_2&\cdots&a_m \end{matrix} \right]= \left[ \begin{matrix} q_1&q_2&\cdots &q_m \end{matrix} \right] \left[ \begin{matrix} a_1^Tq_1&a_2^Tq_1&\cdots&a_m^Tq_1\\ a_1^Tq_2&a_2^Tq_2&\cdots&a_m^Tq_2\\ \vdots&\vdots&\ddots&\vdots\\ a_1^Tq_m&a_2^Tq_m&\cdots&a_m^Tq_m\\ \end{matrix} \right]
[a1a2⋯am]=[q1q2⋯qm]⎣⎢⎢⎢⎡a1Tq1a1Tq2⋮a1Tqma2Tq1a2Tq2⋮a2Tqm⋯⋯⋱⋯amTq1amTq2⋮amTqm⎦⎥⎥⎥⎤
其中对角线以下的元素全为0,
R
R
R 是一个上三角矩阵
[
a
1
a
2
⋯
a
m
]
=
[
q
1
q
2
⋯
q
m
]
[
a
1
T
q
1
a
2
T
q
1
⋯
a
m
T
q
1
a
2
T
q
2
⋯
a
m
T
q
2
⋱
⋮
a
m
T
q
m
]
\left[ \begin{matrix} a1&a_2&\cdots&a_m \end{matrix} \right]= \left[ \begin{matrix} q_1&q_2&\cdots &q_m \end{matrix} \right] \left[ \begin{matrix} a_1^Tq_1&a_2^Tq_1&\cdots&a_m^Tq_1\\ &a_2^Tq_2&\cdots&a_m^Tq_2\\ & &\ddots&\vdots\\ & & &a_m^Tq_m\\ \end{matrix} \right]
[a1a2⋯am]=[q1q2⋯qm]⎣⎢⎢⎢⎡a1Tq1a2Tq1a2Tq2⋯⋯⋱amTq1amTq2⋮amTqm⎦⎥⎥⎥⎤