欠定方程组的最小范数解
Posted 陆嵩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了欠定方程组的最小范数解相关的知识,希望对你有一定的参考价值。
欠定方程组的最小范数解(超曲面和原点的距离,原点球心球面和超曲面的切点)
今天小白问了我一个问题,我觉得颇有意思,做个记录。
问题描述
小白:插入一个问题,这个切点怎么求?就是固定超平面Ax=b 怎么求它的最小二范数。
她说得不是很清楚,我再翻译一下。几何的提法是,超平面 A x = b Ax=b Ax=b 到圆心距离是多少?代数的提法是,欠定方程组 A x = b Ax=b Ax=b 的最小范数解是什么?
问题建模
我喜欢代数这个提法。重新描述一下,我们考虑
y
=
A
x
y=A x
y=Ax
这里的
A
∈
R
m
×
n
A \\in \\mathbfR^m \\times n
A∈Rm×n 是个 胖矩阵,即
m
<
n
m<n
m<n。我们不妨假定
A
A
A 是行满秩的。
对于这个问题,我们知道这里未知量的个数比方程的个数多,也就是解是存在不唯一的。代数学知识告诉我们,它的解集是
x
∣
A
x
=
y
=
x
p
+
z
∣
z
∈
N
(
A
)
\\x \\mid A x=y\\=\\left\\x_p+z \\mid z \\in \\mathcalN(A)\\right\\
x∣Ax=y=xp+z∣z∈N(A)
这里
x
p
x_p
xp 是个特解。零空间的维数
N
(
A
)
=
n
−
m
\\mathcalN(A)=n-m
N(A)=n−m 刻画了自由度的数目。那么,我们能否选择一个
z
z
z ,使得
x
p
+
z
x_p+z
xp+z 的二范数最小呢?
问题解答
这是个经典的计算数学问题了,如果是低于三维的情况,高中的知识很快就能解出来了。高维情况,答案也很简单,他就是
x
ln
=
A
T
(
A
A
T
)
−
1
y
x_\\ln =A^T\\left(A A^T\\right)^-1 y
xln=AT(AAT)−1y
因为 A 是行满秩的,所以
A
A
T
AA^T
AAT 是可逆的。怎么得到的这个解?对于
A
x
=
b
Ax = b
Ax=b
我们令
x
=
A
T
x
ˉ
x = A^T\\bar x
x=ATxˉ,
x
ˉ
\\bar x
xˉ 是个 m 维的。则有
x
=
A
T
x
ˉ
=
A
T
(
A
A
T
)
−
1
b
.
x = A^T\\bar x = A^T(AA^T)^-1b.
x=ATxˉ=AT(AAT)−1b.
事实上,这个
x
ln
x_\\ln
xln 就是最小范数解,它极小化了如下的优化问题,
minimize
∥
x
∥
\\|x\\|
∥x∥
subject to
A
x
=
y
\\quad A x=y
Ax=y
其中, x ∈ R n x \\in \\mathbfR^n x∈Rn。证明如下:
假定其它解满足
A
x
=
y
A x=y
Ax=y,那么
A
(
x
−
x
ln
)
=
0
A\\left(x-x_\\ln \\right)=0
A(x−xln)=0,且
(
x
−
x
ln
)
T
x
ln
=
(
x
−
x
ln
)
T
A
T
(
A
A
T
)
−
1
y
=
(
A
(
x
−
x
ln
)
)
T
(
A
A
T
)
−
1
y
=
0
\\beginaligned \\left(x-x_\\ln \\right)^T x_\\ln &=\\left(x-x_\\ln \\right)^T A^T\\left(A A^T\\right)^-1 y \\\\ &=\\left(A\\left(x-x_\\ln \\right)\\right)^T\\left(A A^T\\right)^-1 y \\\\ &=0 \\endaligned
(x−xln)Txln=(x−xln)TAT(AAT)−1y=(A(x−xln))T(AAT)−1y=0
也就是说,
(
x
−
x
ln
)
⊥
x
ln
\\left(x-x_\\ln \\right) \\perp x_\\ln
(x−xln)⊥xln,那么
∥
x
∥
2
=
∥
x
ln
+
x
−
x
ln
∥
2
=
∥
x
ln
∥
2
+
∥
x
−
x
ln
∥
2
≥
∥
x
ln
∥
2
\\|x\\|^2=\\left\\|x_\\ln +x-x_\\ln \\right\\|^2=\\left\\|x_\\ln \\right\\|^2+\\left\\|x-x_\\ln \\right\\|^2 \\geq\\left\\|x_\\ln \\right\\|^2
∥x∥2=∥xln+x−xln∥2=∥xln∥2+∥x−xln∥2≥∥xln∥2
说明了
x
ln
x_\\ln
xln 是范数最小的解。
A † : = A T ( A A T ) − 1 A^\\dagger:=A^T\\left(A A^T\\right)^-1 A†:=AT(AAT)−1 叫做行满秩胖矩阵 A A A 的伪逆,实际上是 A A A 的右逆。
几何观点
画个示意图如下,
- 这个解垂直于零空间, x ln ⊥ N ( A ) x_\\ln \\perp \\mathcalN(A) x欠定方程组的最小范数解