优化问题:
Z ^ = arg min ∥ Z − X ∥ F 2 s.t. rank ( Z ) ⩽ N , Z ∈ R M × L \begin{aligned} \widehat{\mathbf{Z}}=\arg \min &\|\mathbf{Z}-\mathbf{X}\|_{\mathrm{F}}^{2} \\ \text { s.t. } & \operatorname{rank}(\mathbf{Z}) \leqslant N, \mathbf{Z} \in \mathbb{R}^{M \times L} \end{aligned} Z =argmin s.t. ∥Z−X∥F2rank(Z)⩽N,Z∈RM×L
该限制条件可以改写为:
Z
=
C
Y
∈
R
M
×
L
,
C
T
C
=
I
N
,
C
∈
R
M
×
N
,
Y
∈
R
N
×
L
\mathbf{Z}=\mathbf{C Y} \in \mathbb{R}^{M \times L}, \mathbf{C}^{\mathrm{T}} \mathbf{C}=\mathbf{I}_{N}, \mathbf{C} \in \mathbb{R}^{M \times N}, \mathbf{Y} \in \mathbb{R}^{N \times L}
Z=CY∈RM×L,CTC=IN,C∈RM×N,Y∈RN×L
因此,优化问题等价为:
(
C
^
,
Y
^
)
=
arg
min
C
T
C
=
I
N
{
min
Y
∈
R
N
×
L
∥
C
Y
−
X
∥
F
2
}
=
arg
min
C
T
C
=
I
N
{
min
Y
∈
R
N
×
L
Tr
(
Y
T
Y
−
2
Y
T
C
T
X
+
X
T
X
)
}
⇒
{
C
^
=
arg
min
C
T
C
=
I
N
Tr
(
[
I
M
−
C
C
T
]
X
X
T
)
Y
^
=
C
^
T
X
\begin{aligned} (\widehat{\mathbf{C}}, \widehat{\mathbf{Y}}) &=\arg \min _{\mathbf{C}^{\mathrm{T}} \mathbf{C}=\mathbf{I}_{N}}\left\{\min _{\mathbf{Y} \in \mathbb{R}^{N \times L}}\|\mathbf{C Y}-\mathbf{X}\|_{\mathrm{F}}^{2}\right\} \\ &=\arg \min _{\mathbf{C}^{\mathrm{T}} \mathbf{C}=\mathbf{I}_{N}}\left\{\min _{\mathbf{Y} \in \mathbb{R}^{N \times L}} \operatorname{Tr}\left(\mathbf{Y}^{\mathrm{T}} \mathbf{Y}-2 \mathbf{Y}^{\mathrm{T}} \mathbf{C}^{\mathrm{T}} \mathbf{X}+\mathbf{X}^{\mathrm{T}} \mathbf{X}\right)\right\} \\ \Rightarrow &\left\{\begin{array}{l} \widehat{\mathbf{C}}=\arg \min _{\mathbf{C}^{\mathrm{T}} \mathbf{C}=\mathbf{I}_{N}} \operatorname{Tr}\left(\left[\mathbf{I}_{M}-\mathbf{C C}^{\mathrm{T}}\right] \mathbf{X} \mathbf{X}^{\mathrm{T}}\right) \\ \widehat{\mathbf{Y}}=\widehat{\mathbf{C}}^{\mathrm{T}} \mathbf{X} \end{array}\right. \end{aligned}
(C
,Y
)⇒=argCTC=INmin{Y∈RN×Lmin∥CY−X∥F2}=argCTC=INmin{Y∈RN×LminTr(YTY−2YTCTX+XTX)}{C
=argminCTC=INTr([IM−CCT]XXT)Y
=C
TX
注意到:
Tr
(
[
I
M
−
C
C
T
]
X
X
T
)
=
T
r
(
X
X
T
)
−
t
r
(
C
T
X
X
T
C
)
\operatorname{Tr}\left(\left[\mathbf{I}_{M}-\mathbf{C C}^{\mathrm{T}}\right] \mathbf{X} \mathbf{X}^{\mathrm{T}}\right)=\mathrm{Tr}(\mathbf{XX}^T)-\mathrm{tr}(\mathbf{C^TXX^TC})
Tr([IM−CCT]XXT)=Tr(XXT)−tr(CTXXTC)
因此,当且仅当
C
T
\mathbf{C}^T
CT为
X
X
T
\mathbf{XX}^T
XXT的最大N列向量时,取到最值。因此:
Z
^
=
C
^
Y
^
=
C
^
C
^
T
X
=
C
^
C
^
T
∑
i
=
1
rank
(
X
)
σ
i
u
i
v
i
T
=
∑
i
=
1
N
σ
i
u
i
v
i
T
\widehat{\mathbf{Z}}=\widehat{\mathbf{C}} \widehat{\mathbf{Y}}=\widehat{\mathbf{C}} \widehat{\mathbf{C}}^{\mathrm{T}} \mathbf{X}=\widehat{\mathbf{C}} \widehat{\mathbf{C}}^{\mathrm{T}} \sum_{i=1}^{\operatorname{rank}(\mathbf{X})} \sigma_{i} \mathbf{u}_{i} \mathbf{v}_{i}^{\mathrm{T}}=\sum_{i=1}^{N} \sigma_{i} \mathbf{u}_{i} \mathbf{v}_{i}^{\mathrm{T}}
Z
=C
Y
=C
C
TX=C
C
Ti=1∑rank(X)σiuiviT=i=1∑NσiuiviT
