典型的正交普鲁克问题表达如下:
min
∥
A
Ω
−
B
∥
F
s
.
t
.
Ω
⊤
Ω
=
I
\begin{array}{ll} \min& ∥A\Omega−B∥_F\\ s.t.& \Omega^\top\Omega=I \end{array}
mins.t.∥AΩ−B∥FΩ⊤Ω=I其中
A
,
B
∈
R
m
×
n
A ,B\in R^{m\times n}
A,B∈Rm×n 已知,待求的
Ω
∈
R
n
×
n
\Omega\in R^{n\times n}
Ω∈Rn×n 为正交矩阵。
∣
∣
X
∣
∣
F
||X||_F
∣∣X∣∣F 称为Frobenius 范数,是矩阵范数的一种:
∣
∣
X
∣
∣
F
=
trace
(
X
⊤
X
)
=
∑
i
,
j
x
i
j
2
||X||_F = \sqrt{\text{trace}(X^\top X)} = \sqrt{\sum_{i,j}x_{ij}^2}
∣∣X∣∣F=trace(X⊤X)=i,j∑xij2即所有元素的平方和。
下面来求解该问题:
∥
A
Ω
−
B
∥
F
2
=
t
r
a
c
e
(
(
A
Ω
−
B
)
⊤
(
A
Ω
−
B
)
)
=
t
r
a
c
e
(
Ω
⊤
A
⊤
A
Ω
−
B
⊤
A
Ω
−
Ω
⊤
A
⊤
B
+
B
⊤
B
)
=
t
r
a
c
e
(
Ω
⊤
A
⊤
A
Ω
)
−
t
r
a
c
e
(
B
⊤
A
Ω
)
−
t
r
a
c
e
(
Ω
⊤
A
⊤
B
)
+
t
r
a
c
e
(
B
⊤
B
)
=
t
r
a
c
e
(
Ω
⊤
A
⊤
A
Ω
)
−
2
t
r
a
c
e
(
B
⊤
A
Ω
)
+
t
r
a
c
e
(
B
⊤
B
)
=
t
r
a
c
e
(
Ω
Ω
⊤
A
⊤
A
)
−
2
t
r
a
c
e
(
B
⊤
A
Ω
)
+
t
r
a
c
e
(
B
⊤
B
)
=
t
r
a
c
e
(
A
⊤
A
)
−
2
t
r
a
c
e
(
B
⊤
A
Ω
)
+
t
r
a
c
e
(
B
⊤
B
)
\begin{array}{ll} ∥A\Omega−B∥_F^2 &= trace((A\Omega−B)^\top(A\Omega−B)) \\ &= trace( \Omega^\top A^\top A \Omega -B^\top A\Omega - \Omega^\top A^\top B +B^\top B) \\ &=trace( \Omega^\top A^\top A \Omega) -trace(B^\top A\Omega) - trace(\Omega^\top A^\top B) +trace(B^\top B) \\ &=trace( \Omega^\top A^\top A \Omega) -2trace(B^\top A\Omega) +trace(B^\top B) \\ &=trace( \Omega\Omega^\top A^\top A ) -2trace(B^\top A\Omega) +trace(B^\top B)\\ &=trace( A^\top A ) -2trace(B^\top A\Omega) +trace(B^\top B)\\ \end{array}
∥AΩ−B∥F2=trace((AΩ−B)⊤(AΩ−B))=trace(Ω⊤A⊤AΩ−B⊤AΩ−Ω⊤A⊤B+B⊤B)=trace(Ω⊤A⊤AΩ)−trace(B⊤AΩ)−trace(Ω⊤A⊤B)+trace(B⊤B)=trace(Ω⊤A⊤AΩ)−2trace(B⊤AΩ)+trace(B⊤B)=trace(ΩΩ⊤A⊤A)−2trace(B⊤AΩ)+trace(B⊤B)=trace(A⊤A)−2trace(B⊤AΩ)+trace(B⊤B)
所以最小化
∥
A
Ω
−
B
∥
F
∥A\Omega−B∥_F
∥AΩ−B∥F 等价于最大化
t
r
a
c
e
(
B
⊤
A
Ω
)
trace(B^\top A\Omega)
trace(B⊤AΩ),即正交普鲁克问题等价于:
max
t
r
a
c
e
(
C
Ω
)
s
.
t
.
Ω
⊤
Ω
=
I
\begin{array}{ll} \max& trace(C\Omega)\\ s.t.& \Omega^\top\Omega=I \end{array}
maxs.t.trace(CΩ)Ω⊤Ω=I其中
C
=
B
⊤
A
C = B^\top A
C=B⊤A。
对
C
C
C 奇异值分解:
U
Σ
V
⊤
=
C
U\Sigma V^\top = C
UΣV⊤=C,则上述问题等价于最大化:
t
r
a
c
e
(
C
Ω
)
=
t
r
a
c
e
(
U
Σ
V
⊤
Ω
)
=
t
r
a
c
e
(
Σ
V
⊤
Ω
U
)
=
t
r
a
c
e
(
Σ
Z
)
(
令
Z
=
V
⊤
Ω
U
)
=
∑
i
,
j
σ
i
j
z
i
j
=
∑
i
σ
i
i
z
i
i
≤
∑
i
σ
i
i
\begin{array}{ll} trace(C\Omega) &= trace(U\Sigma V^\top \Omega) \\ &= trace(\Sigma V^\top \Omega U) \\ &= trace(\Sigma Z) \quad(令Z=V^\top \Omega U)\\ &= \sum_{i,j}\sigma_{ij}z_{ij} \\ &= \sum_{i}\sigma_{ii}z_{ii} \\ &\leq \sum_{i}\sigma_{ii} \end{array}
trace(CΩ)=trace(UΣV⊤Ω)=trace(ΣV⊤ΩU)=trace(ΣZ)(令Z=V⊤ΩU)=∑i,jσijzij=∑iσiizii≤∑iσii取等号的条件为:
Z
Z
Z 的对角元为 1.
不妨令
Z
=
I
=
V
⊤
Ω
U
Z=I = V^\top \Omega U
Z=I=V⊤ΩU,解得:
Ω
=
V
U
⊤
\Omega = VU^\top
Ω=VU⊤