1. 标准正交基
标准正交基是长度均1的基向量,在子空间中所有标准正交基均互相垂直,即它们的点积为0。
长度为 1 的向量
q
1
,
q
2
,
…
,
q
n
q_1,q_2,\dots,q_n
q1,q2,…,qn,满足如下等式,表示为标准正交基:
q
i
T
q
j
=
{
0
,
i
≠
j
1.
i
=
j
,
∣
∣
q
i
∣
∣
=
1
\begin{equation} q_i^Tq_j=\left\{ \begin{array}{ll} 0, &i \neq j \\ 1.&i=j\\ \end{array}, \quad ||q_i||=1 \right. \end{equation}
qiTqj={0,1.i=ji=j,∣∣qi∣∣=1
- 标准正交基是为什么会让计算变得更好
假设我们有矩阵Q是n行n列情况下,矩阵Q里面包含n个标准正交基 q i q_i qi,表示如下:
Q = [ q 1 q 2 … q n ] , Q T = [ q 1 T q 2 T ⋮ q n T ] , Q T Q = I \begin{equation} Q=\begin{bmatrix} q_1&q_2&\dots&q_n \end{bmatrix},Q^T=\begin{bmatrix} q_1^T\\\\q_2^T\\\\\vdots\\\\q_n^T \end{bmatrix},Q^TQ=I \end{equation} Q=[q1q2…qn],QT= q1Tq2T⋮qnT ,QTQ=I - 我们记得对于矩阵A来说,我们想把向量b投影到矩阵A的列空间中,可以组建一个投影矩阵P
P = A ( A T A ) − 1 A T \begin{equation} P=A(A^TA)^{-1}A^T \end{equation} P=A(ATA)−1AT - 我们将标准正交矩阵Q来代替A,整理可得:
P = Q ( Q T Q ) − 1 Q T = Q Q T \begin{equation} P=Q(Q^TQ)^{-1}Q^T=QQ^T \end{equation} P=Q(QTQ)−1QT=QQT - 如果矩阵Q是方阵,并且满足 Q T Q = I Q^TQ=I QTQ=I,那么可得 Q T = Q − 1 Q^T=Q^{-1} QT=Q−1
- 置换矩阵M
M = [ 0 0 1 1 0 0 0 1 0 ] ; M − 1 = [ 0 1 0 0 0 1 1 0 0 ] = M T ; \begin{equation} M=\begin{bmatrix}0&0&1\\\\1&0&0\\\\0&1&0\end{bmatrix};M^{-1}=\begin{bmatrix}0&1&0\\\\0&0&1\\\\1&0&0\end{bmatrix}=M^T; \end{equation} M= 010001100 ;M−1= 001100010 =MT; - 旋转矩阵R
R = [ cos θ − sin θ sin θ cos θ ] ; R − 1 = [ cos θ sin θ − sin θ cos θ ] = R T ; \begin{equation} R=\begin{bmatrix}\cos{\theta}&-\sin{\theta}\\\\\sin{\theta}&\cos{\theta}\end{bmatrix};R^{-1}=\begin{bmatrix}\cos{\theta}&\sin{\theta}\\\\-\sin{\theta}&\cos{\theta}\end{bmatrix}=R^T; \end{equation} R= cosθsinθ−sinθcosθ ;R−1= cosθ−sinθsinθcosθ =RT; - 当 θ = − π 4 , R − 1 = 1 2 [ 1 1 1 − 1 ] ; \theta=-\frac{\pi}{4},R^{-1}=\frac{1}{\sqrt{2}}\begin{bmatrix}1&1\\\\1&-1\end{bmatrix}; θ=−4π,R−1=21 111−1 ;
- 哈达玛矩阵H
H = 1 2 [ 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 ] \begin{equation} H=\frac{1}{2}\begin{bmatrix}1&1&1&1\\\\1&-1&1&-1\\\\1&1&-1&-1\\\\1&-1&-1&1\end{bmatrix} \end{equation} H=21 11111−11−111−1−11−1−11
2. 正交矩阵
假设我们有一个标准正交矩阵Q,表示如下:
Q
=
1
3
[
1
−
2
2
2
−
1
−
2
2
2
1
]
\begin{equation} Q=\frac{1}{3}\begin{bmatrix}1&-2&2\\\\2&-1&-2\\\\2&2&1\end{bmatrix} \end{equation}
Q=31
122−2−122−21
我们想将矩阵投影到矩阵Q的列空间中,根据上节讲到的问题,假设Q满秩,
Q
T
Q
=
I
Q^TQ=I
QTQ=I,投影矩阵P表示如下:
P
=
A
(
A
T
A
)
−
1
A
T
⇒
P
=
Q
(
Q
T
Q
)
−
1
Q
T
=
Q
Q
T
\begin{equation} P=A(A^TA)^{-1}A^T\Rightarrow P=Q(Q^TQ)^{-1}Q^T=QQ^T \end{equation}
P=A(ATA)−1AT⇒P=Q(QTQ)−1QT=QQT
- 当Q时方阵,且Rank(Q)=n,可以得到 Q − 1 = Q T Q^{-1}=Q^T Q−1=QT,那么投影矩阵 P = Q Q − 1 = I P=QQ^{-1}=I P=QQ−1=I
3. 线性回归
当我们在解方程中,发现无法得到准确的解,我们需要将向量b投影到矩阵A的列空间中,从而得到近似解
X
^
\hat{X}
X^ , 根据上节内容,可以得到最小二乘法,也就是线性回归方程,表示如下:
A
T
A
X
^
=
A
T
b
\begin{equation} A^TA\hat{X}=A^Tb \end{equation}
ATAX^=ATb
- 我们将矩阵A用正交矩阵Q代替,定义矩阵Rank(Q)=n,得到
Q
T
Q
=
I
Q^TQ=I
QTQ=I 可以得到如下方程:
Q T Q X ^ = Q T b ⇒ X ^ = Q T b \begin{equation} Q^TQ\hat{X}=Q^Tb\Rightarrow \hat{X}=Q^Tb \end{equation} QTQX^=QTb⇒X^=QTb
x i ^ = q i T b \begin{equation} \hat{x_i}=q_i^Tb \end{equation} xi^=qiTb - 重点:在数学领域,当我们已知一组标准正交基,那么我们可以将向量b 通过上述式子,直接得到标准正交基中的近似解 x i ^ \hat{x_i} xi^,真是神奇!!!这样就会很简单的把一个复杂的求解过程,变换成简单的方式来得到近似解!!!!数学神奇!!!
4. Gram-Schmidt 正交化
Gram-Schmidt 的作用是将原本不垂直和不正交的向量a,b,转换后变成两个向量 a 1 , b 1 a_1,b_1 a1,b1,并且使得 ∣ ∣ a 1 ∣ ∣ = 1 , ∣ ∣ b 1 ∣ ∣ = 1 ||a_1||=1,||b_1||=1 ∣∣a1∣∣=1,∣∣b1∣∣=1
4.1 求投影矩阵p
假设我们有两个向量a,b ,我们要求向量b 在向量a上的投影向量p;
- 向量p的长度|p|
a T b = ∣ a ∣ ⋅ ∣ b ∣ ⋅ cos ( θ ) ; ⇒ ∣ p ∣ = a T b ∣ a ∣ \begin{equation} a^Tb=|a|\cdot|b|\cdot\cos(\theta);\Rightarrow |p|=\frac{a^Tb}{|a|} \end{equation} aTb=∣a∣⋅∣b∣⋅cos(θ);⇒∣p∣=∣a∣aTb - 向量p的方向单位向量
p
0
p_0
p0
p 0 = a ∣ a ∣ \begin{equation} p_0=\frac{a}{|a|} \end{equation} p0=∣a∣a - 那么投影矩阵p 表示如下,
a
T
a
=
∣
a
∣
⋅
∣
a
∣
a^Ta=|a|\cdot|a|
aTa=∣a∣⋅∣a∣:
p = ∣ p ∣ p 0 = a T b ∣ a ∣ a ∣ a ∣ = a T b a T a a \begin{equation} p=|p|p_0=\frac{a^Tb}{|a|}\frac{a}{|a|}=\frac{a^Tb}{a^Ta}a \end{equation} p=∣p∣p0=∣a∣aTb∣a∣a=aTaaTba - 那么与向量a垂直的向量e 可以表示如下:
e = b − p = b − a T b a T a a \begin{equation} e=b-p=b-\frac{a^Tb}{a^Ta}a \end{equation} e=b−p=b−aTaaTba
跟Gram-Schmidt 变换一样! - 那我们来验证下是否e与向量a垂直
a T e = a T ( b − a T b a T a a ) = a T b − a T a T b a T a a \begin{equation} a^Te=a^T(b-\frac{a^Tb}{a^Ta}a)=a^Tb-\frac{a^Ta^Tb}{a^Ta}a \end{equation} aTe=aT(b−aTaaTba)=aTb−aTaaTaTba - 由于
a
T
b
=
b
T
a
;
a^Tb=b^Ta;
aTb=bTa;且为常数,可以放在任意位置
a T e = a T b − a T a ⋅ a T b a T a = a T b − a T b = 0 \begin{equation} a^Te=a^Tb-\frac{a^Ta\cdot a^Tb}{a^Ta}=a^Tb-a^Tb=0 \end{equation} aTe=aTb−aTaaTa⋅aTb=aTb−aTb=0
a ⊥ e \begin{equation} a\perp e \end{equation} a⊥e - 求第三个正交向量c,那我们知道的是,我们只需要用向量c ,减去c在向量a上的分量,向量b上的分量即可
c = c − a T c a T a a − b T c b T b b \begin{equation} c = c-\frac{a^Tc}{a^Ta}a-\frac{b^Tc}{b^Tb}b \end{equation} c=c−aTaaTca−bTbbTcb - 验证是否满足垂直条件
a T c = a T c − a T a T c a T a a − a T b T c b T b b \begin{equation} a^Tc = a^Tc-\frac{a^Ta^Tc}{a^Ta}a-\frac{a^Tb^Tc}{b^Tb}b \end{equation} aTc=aTc−aTaaTaTca−bTbaTbTcb
b T c = b T c − b T a T c a T a a − b T b T c b T b b \begin{equation} b^Tc = b^Tc-\frac{b^Ta^Tc}{a^Ta}a-\frac{b^Tb^Tc}{b^Tb}b \end{equation} bTc=bTc−aTabTaTca−bTbbTbTcb -
a
T
c
,
b
T
c
a^Tc,b^Tc
aTc,bTc 均为常数,可以任意调整位置,且
a
T
b
=
b
T
a
=
0
a^Tb=b^Ta=0
aTb=bTa=0
a T c = a T c − a T a a T a a T c − a T b b T b b T c = a T c − a T c − 0 = 0 \begin{equation} a^Tc = a^Tc-\frac{a^Ta}{a^Ta}a^Tc-\frac{a^Tb}{b^Tb}b^Tc=a^Tc-a^Tc-0=0 \end{equation} aTc=aTc−aTaaTaaTc−bTbaTbbTc=aTc−aTc−0=0
b T c = b T c − b T a a T a a T c − b T b b T b b T c = b T c − 0 − b T c = 0 \begin{equation} b^Tc =b^Tc-\frac{b^Ta}{a^Ta}a^Tc-\frac{b^Tb}{b^Tb}b^Tc=b^Tc-0-b^Tc=0 \end{equation} bTc=bTc−aTabTaaTc−bTbbTbbTc=bTc−0−bTc=0 - 通过Gramd-Schmidt 变换后,新成立的向量a,b,c 均相互正交。
a ⊥ b ⊥ c \begin{equation} a\perp b \perp c \end{equation} a⊥b⊥c - 最后就是将向量a,b,c 长度变为1
a = a ∣ ∣ a ∣ ∣ , b = b ∣ ∣ b ∣ ∣ , c = c ∣ ∣ c ∣ ∣ \begin{equation} a=\frac{a}{||a||},b=\frac{b}{||b||},c=\frac{c}{||c||} \end{equation} a=∣∣a∣∣a,b=∣∣b∣∣b,c=∣∣c∣∣c
4.2 Gramd-schmidt计算
假设我们有两个向量a,b 表示如下:
a
=
[
1
1
1
]
,
b
=
[
1
0
2
]
,
c
=
[
1
2
1
]
\begin{equation} a=\begin{bmatrix}1\\\\1\\\\1 \end{bmatrix},b=\begin{bmatrix}1\\\\0\\\\2 \end{bmatrix},c=\begin{bmatrix}1\\\\2\\\\1 \end{bmatrix} \end{equation}
a=
111
,b=
102
,c=
121
- 计算正交后的a,b
a = a = [ 1 1 1 ] , b = b − a T b a T a a = [ 0 − 1 1 ] \begin{equation} a=a=\begin{bmatrix}1\\\\1\\\\1 \end{bmatrix},b=b-\frac{a^Tb}{a^Ta}a=\begin{bmatrix}0\\\\-1\\\\1 \end{bmatrix} \end{equation} a=a= 111 ,b=b−aTaaTba= 0−11 - 计算正交后的c,这里的b 是正交后的b,重点!!!!
c = c − a T c a T a a − b T c b T b b = [ − 1 3 1 6 1 6 ] \begin{equation} c=c-\frac{a^Tc}{a^Ta}a-\frac{b^Tc}{b^Tb}b=\begin{bmatrix}-\frac{1}{3}\\\\\frac{1}{6}\\\\\frac{1}{6} \end{bmatrix} \end{equation} c=c−aTaaTca−bTbbTcb= −316161
q 1 = a ∣ ∣ a ∣ ∣ = 1 3 [ 1 1 1 ] , q 2 = b ∣ ∣ b ∣ ∣ = 1 2 [ 0 − 1 1 ] ; q 3 = c ∣ ∣ c ∣ ∣ = 1 6 [ − 2 1 1 ] \begin{equation} q_1=\frac{a}{||a||}=\frac{1}{\sqrt{3}}\begin{bmatrix}1\\\\1\\\\1 \end{bmatrix},q_2=\frac{b}{||b||}=\frac{1}{\sqrt{2}}\begin{bmatrix}0\\\\-1\\\\1 \end{bmatrix};q_3=\frac{c}{||c||}=\frac{1}{\sqrt{6}}\begin{bmatrix}-2\\\\1\\\\1 \end{bmatrix} \end{equation} q1=∣∣a∣∣a=31 111 ,q2=∣∣b∣∣b=21 0−11 ;q3=∣∣c∣∣c=61 −211
4.3 矩阵分解
在用行消元的过程中我们得到如下:
- L为下三角矩阵,U为上三角矩阵
A X = L U X \begin{equation} AX=LUX \end{equation} AX=LUX - 现在我们通过Gramd-Schmidt正交得到如下
- Q为m行n列的标准正交向量组矩阵,R为n行n列的正线上的三角阵
A m × n X = Q m × n R n × n X \begin{equation} A_{m\times n}X=Q_{m\times n}R_{n\times n}X \end{equation} Am×nX=Qm×nRn×nX