我们来详细看一下,求解超定方程得最小二乘解:
A
X
=
0
AX=0
AX=0
我们不可能让其真正的等于0,但是我们可以让它无限的接近于0,所以本问题转换为了求解最小值的工作,对其进行
S
V
D
SVD
SVD分解:
∣
∣
U
D
V
⊤
⋅
X
∥
m
i
n
=
∣
∣
D
⋅
V
T
⋅
x
∥
m
i
n
{|| U D V^{\top} \cdot X\|}_{min}={||D \cdot V^T \cdot x\|}_{min}
∣∣UDV⊤⋅X∥min=∣∣D⋅VT⋅x∥min
因为
U
N
×
N
U_{N \times N }
UN×N 是一个正交矩阵,只会改变
X
X
X的方向,并不会改变他的模值即,所以我们忽略
U
U
U
∣
∣
U
⋅
x
∥
=
∣
∣
x
∥
||U \cdot x\|=||x\|
∣∣U⋅x∥=∣∣x∥
其中
∣
∣
V
T
⋅
x
∥
=
∣
∣
y
∥
||V^T \cdot x\|=||y\|
∣∣VT⋅x∥=∣∣y∥,并且有额外的约束
∣
∣
y
∥
=
1
||y\|=1
∣∣y∥=1,这是因为
V
T
V^T
VT也是一个
4
×
4
4\times 4
4×4的正交矩阵
[
σ
0
σ
1
σ
2
σ
3
]
N
×
4
[
y
0
y
1
y
2
y
3
]
=
0
{\left[\begin{array}{lllllllll} \sigma_{0} & & & \\ & \sigma_{1} & & \\ & & \sigma_{2} & \\ & & & \sigma_{3}\\ &&&\\ &&&\\ &&\\ \end{array}\right]}_{N \times 4} {\left [\begin{array}{l l l l l l} y_{0} \\ y_{1} \\ y_{2} \\ y_{3} \\ \end{array}\right]}=0
⎣
⎡σ0σ1σ2σ3⎦
⎤N×4⎣
⎡y0y1y2y3⎦
⎤=0
上面的式子要想求得最小,可以等价为求
∑
i
=
0
3
σ
i
y
i
\sum_{i=0}^3 \sigma_i y_i
∑i=03σiyi得最小值,因为
U
U
U是一个奇异值矩阵,其中第四行的奇异值最小,所以我们可以取:
[ 0 0 0 y 3 ] {\left [\begin{array}{l l l l l l} {0} \\ 0 \\ 0 \\ y_{3} \\ \end{array}\right]} ⎣ ⎡000y3⎦ ⎤
则 V T ⋅ x = [ 0 0 0 1 ] V^T\cdot x={\left [\begin{array}{l l l l l l} {0} \\ 0 \\ 0 \\ 1 \\ \end{array}\right]} VT⋅x=⎣ ⎡0001⎦ ⎤其中 V = [ v 0 T v 1 T v 2 T v 4 T ] V=[v^T_0 \ v^T_1 \ v^T_2 \ v^T_4] V=[v0T v1T v2T v4T]
此时我们就可以得到最优解 x = [ 0 0 0 v 4 ] x={\left [\begin{array}{l l l l l l} {0} \\ 0 \\ 0 \\ v_4 \\ \end{array}\right]} x=⎣ ⎡000v4⎦ ⎤,也就是最小奇异值对应的向量。