关键词:线性方程组,矩阵,秩,矩阵逆,伪逆,左逆,右逆,
线性方程组求解:
A
x
=
y
Ax=y
Ax=y
已知
A
∈
R
m
×
n
A\in\R^{m\times n}
A∈Rm×n和
y
∈
R
m
y\in\R^m
y∈Rm,求
x
∈
R
n
x\in\R^n
x∈Rn。
m
m
m为方程个数(行数),
n
n
n为未知数个数(列数),根据
m
m
m,
n
n
n的大小关系,可以分为3类:
(1)
m
>
n
m>n
m>n:超定方程组,
(2)
m
=
n
m=n
m=n:适定方程组,
(3)
m
<
n
m<n
m<n:欠定(不定)方程组;
三种情况都可能相容(有解)也可能不相容(无解),因此这个关系划分不够本质,最本质的关系应该由秩的概念划分:
(1)相容方程组
r
a
n
k
[
A
]
=
r
a
n
k
[
A
,
y
]
rank[A]=rank[A,y]
rank[A]=rank[A,y],有解。
(2)不相容方程组:
r
a
n
k
[
A
]
<
r
a
n
k
[
A
,
y
]
rank[A]<rank[A,y]
rank[A]<rank[A,y],无解。
对于相容方程组:
首先所有的相容方程组都可以由Moore Penrose逆求解:
x
=
A
+
y
+
(
I
−
A
+
A
)
c
x=A^+y+(I-A^+A)c
x=A+y+(I−A+A)c
其中
A
+
A^+
A+为Moore Penrose
逆
,
c
逆,c
逆,c为
R
n
\R^n
Rn中任意向量。
其包含三种情况:
(1)
r
a
n
k
[
A
]
=
n
rank[A]=n
rank[A]=n, 列满秩:(由于
r
a
n
k
[
A
]
≤
m
i
n
(
m
,
n
)
rank[A]\leq min(m,n)
rank[A]≤min(m,n),暗含
n
≤
m
n\leq m
n≤m),此时
A
+
A
=
I
A^+A=I
A+A=I,有唯一解:
x
=
(
A
T
A
)
−
1
A
T
y
x=(A^TA)^{-1}A^Ty
x=(ATA)−1ATy
其中
(
A
T
A
)
−
1
A
T
(A^TA)^{-1}A^T
(ATA)−1AT被标记为左逆
A
L
−
1
A^{-1}_L
AL−1。
当
A
A
A的列为单位正交基时,
x
=
A
T
y
x=A^Ty
x=ATy。
(2)
r
a
n
k
[
A
]
=
m
rank[A]=m
rank[A]=m,行满秩:(由于
r
a
n
k
[
A
]
≤
m
i
n
(
m
,
n
)
rank[A]\leq min(m,n)
rank[A]≤min(m,n),暗含
m
≤
n
m\leq n
m≤n),
当
m
=
n
m=n
m=n,与情况(1)相同,有唯一解。
当
m
<
n
m<n
m<n, 有无穷解,一特解为
x
=
A
T
(
A
A
T
)
−
1
y
x=A^T(AA^T)^{-1}y
x=AT(AAT)−1y
其中
A
T
(
A
A
T
)
−
1
A^T(AA^T)^{-1}
AT(AAT)−1被标记为右逆
A
R
−
1
A^{-1}_R
AR−1。
当
A
A
A的行为单位正交基时,
x
=
A
T
y
x=A^Ty
x=ATy。(卷积转置可视化原理)。
(3)
r
a
n
k
[
A
]
<
m
i
n
(
m
,
n
)
rank[A]<min(m,n)
rank[A]<min(m,n), 有无穷解:
x
=
A
+
y
+
(
I
−
A
+
A
)
c
x=A^+y+(I-A^+A)c
x=A+y+(I−A+A)c
其中
A
+
A^+
A+为Moore Penrose
逆
,
c
逆,c
逆,c为
R
n
\R^n
Rn中任意向量,解空间维度为
n
−
r
a
n
k
[
A
]
n-rank[A]
n−rank[A]。
对于无穷解的情况,一般取其极小范数解:
∣
∣
x
0
∣
∣
2
=
min
A
x
=
y
∣
∣
x
∣
∣
2
||x_0||_2=\min\limits_{Ax=y}||x||_2
∣∣x0∣∣2=Ax=ymin∣∣x∣∣2,
x
0
=
A
+
y
。
x_0=A^+y。
x0=A+y。
对于不相容方程组:
(1)对于不相容方程组,基于最小二乘原则,可以得到最小二乘问题:
min
x
∣
∣
A
x
−
y
∣
∣
2
\min\limits_x||Ax-y||_2
xmin∣∣Ax−y∣∣2
则可以取得最小值的全部解为
x
0
=
A
+
y
+
(
I
−
A
+
A
)
c
x_0=A^+y+(I-A^+A)c
x0=A+y+(I−A+A)c,
c
c
c为任意
R
n
\R^n
Rn。注意当
A
+
A
=
I
A^+A=I
A+A=I,(
r
a
n
k
[
A
]
=
n
rank[A]=n
rank[A]=n)时,有唯一解取得最小值。
因此不相容方程组的最小二乘解一般不唯一,常取最小二范数解
x
0
=
A
+
y
x_0=A^+y
x0=A+y,称为极小范数最小二乘解。
(2)如果对解加上其他约束,则得到其他形式的解[deep learning. p61]。比如约束
x
T
x
≤
1
x^Tx\leq 1
xTx≤1:
min
x
1
2
∣
∣
A
x
−
y
∣
∣
2
2
\min\limits_x\frac{1}{2}||Ax-y||_2^2
xmin21∣∣Ax−y∣∣22
s
.
t
.
x
T
x
≤
1
s.t.~~~x^Tx\leq 1
s.t. xTx≤1
(3)最小二乘标准形式(带正则项的最小二乘)[PRML,p144]
min
x
1
2
∣
∣
A
x
−
y
∣
∣
2
2
+
λ
2
∣
∣
x
∣
∣
2
2
\min\limits_x\frac{1}{2}||Ax-y||_2^2+\frac{\lambda}{2}||x||_2^2
xmin21∣∣Ax−y∣∣22+2λ∣∣x∣∣22
解析解为
x
0
=
(
λ
I
+
A
T
A
)
−
1
A
T
y
x_0=(\lambda I+A^TA)^{-1}A^Ty
x0=(λI+ATA)−1ATy。
Moore Penrose伪逆
最后我们看Moore Penrose伪逆的求法:
(1) [deep learning,p 28]
A
+
=
lim
α
→
0
(
A
T
A
+
α
I
)
−
1
A
T
A^+=\lim\limits_{\alpha\rightarrow0}(A^TA+\alpha I)^{-1}A^T
A+=α→0lim(ATA+αI)−1AT
或
A
+
=
V
D
+
U
T
A^+=VD^+U^T
A+=VD+UT
其中
U
,
D
,
V
U,D,V
U,D,V来自于SVD分解。
A
=
U
D
V
T
A=UDV^T
A=UDVT。
(2)[PRML,p142]
A
+
=
(
A
T
A
)
−
1
A
T
A^+=(A^TA)^{-1}A^T
A+=(ATA)−1AT
(3)
利用SVD分解[矩阵论简明教程,p142]:
A
+
=
V
D
+
U
T
A
+
=
V
[
Σ
−
1
0
0
0
]
U
T
A^+=VD^+U^T A^+=V \begin{bmatrix} \Sigma^{-1}& 0\\ 0 & 0 \end{bmatrix} U^T
A+=VD+UTA+=V[Σ−1000]UT
其中
A
=
U
D
V
T
A=UDV^T
A=UDVT。
或者利用满秩[矩阵论简明教程,p148]:
A
+
=
G
T
(
G
G
T
)
−
1
(
F
T
F
)
−
1
F
T
A^+=G^T(GG^T)^{-1}(F^TF)^{-1}F^T
A+=GT(GGT)−1(FTF)−1FT
A
=
F
G
,
F
∈
R
r
m
×
r
,
G
∈
R
r
r
×
n
A=FG,F\in\R_r^{m\times r},G\in\R_{r}^{r\times n}
A=FG,F∈Rrm×r,G∈Rrr×n。
列满秩时:
A
+
=
(
A
T
A
)
−
1
A
T
A^+=(A^TA)^{-1}A^T
A+=(ATA)−1AT
行满秩时:
A
+
=
A
T
(
A
A
T
)
−
1
A^+=A^T(AA^T)^{-1}
A+=AT(AAT)−1
https://zhuanlan.zhihu.com/p/91859104