- 本文所要优化的目标函数:
m i n ∑ n = 1 N ∑ i = 1 3 ∥ G ( i ) ( n ) ∥ ∗ + α 2 ∥ X − ψ ( [ G ] ) ∥ F 2 min \quad \sum_{n=1}^N \sum_{i=1}^3 \|G^{(n)}_{(i)}\|_*+\frac{\alpha}{2}\|X-\psi([G])\|_F^{2} minn=1∑Ni=1∑3∥G(i)(n)∥∗+2α∥X−ψ([G])∥F2
s . t . P Ω ( X ) = P Ω ( T ) s.t. P_{\Omega}(\mathcal{X})=P_{\Omega}(\mathcal{T}) s.t.PΩ(X)=PΩ(T)
其中 X 是 只 有 部 分 真 实 点 T 中 包 括 所 有 的 真 实 点 \mathcal{X}是只有部分真实点 \quad \mathcal{T}中包括所有的真实点 X是只有部分真实点T中包括所有的真实点
- 接下来需要采用
A
D
M
M
ADMM
ADMM算法进行该目标函数的求解
- 首先由于
T
R
L
R
F
TRLRF
TRLRF模型的变量是相互依赖的,添加辅助变量来简化优化
→ m i n ∑ n = 1 N ∑ i = 1 3 ∥ G ( i ) ( n ) ∥ ∗ + α 2 ∥ X − ψ ( [ G ] ) ∥ F 2 \large \rightarrow min \quad \sum_{n=1}^N \sum_{i=1}^3 \|G^{(n)}_{(i)}\|_*+\frac{\alpha}{2}\|X-\psi([G])\|_F^{2} →min∑n=1N∑i=13∥G(i)(n)∥∗+2α∥X−ψ([G])∥F2
添加辅助变量 M \mathcal{M} M,然后通过扩展拉格朗日乘子法改写目标函数形式
→ m i n ∑ n = 1 N ∑ i = 1 3 ( ∥ M ( i ) ( n , i ) ∥ ∗ + < Y ( n , i ) , M ( n , i ) − G ( n ) > + μ 2 ∥ M ( n , i ) − G ( n ) ∥ F 2 ) + α 2 ∥ X − ψ ( [ G ] ) ∥ F 2 \large \rightarrow min \quad \sum_{n=1}^N \sum_{i=1}^3 (\|M^{(n,i)}_{(i)}\|_* + <\mathcal{Y}^{(n,i)},M^{(n,i)}-G^{(n)}> + \frac{\mu}{2} \| M^{(n,i)}-G^{(n)} \|_F^{2}) +\frac{\alpha}{2} \|X-\psi([G])\|_F^{2} →min∑n=1N∑i=13(∥M(i)(n,i)∥∗+<Y(n,i),M(n,i)−G(n)>+2μ∥M(n,i)−G(n)∥F2)+2α∥X−ψ([G])∥F2
s . t . M ( i ) ( n , i ) = G ( i ) ( n ) \large s.t. \mathcal{M}_{(i)}^{(n,i)}=\mathcal{G}_{(i)}^{(n)} s.t.M(i)(n,i)=G(i)(n)
s . t . P Ω ( X ) = P Ω ( T ) \large s.t. P_{\Omega}(\mathcal{X})=P_{\Omega}(\mathcal{T}) s.t.PΩ(X)=PΩ(T)
- 首先由于
T
R
L
R
F
TRLRF
TRLRF模型的变量是相互依赖的,添加辅助变量来简化优化
第一步
,对 G ( n ) G^{(n)} G(n)进行更新- 将
G
(
n
)
G^{(n)}
G(n)看作是一个变量,然后对目标函数关于
G
(
n
)
G^{(n)}
G(n)进行求导,导数如下:
→ ∑ i = 1 3 ( − Y ( n , i ) − μ ( M ( n , i ) − G ( n ) ) + ( α 2 ∥ X − ψ ( [ G ] ) ∥ F 2 ) ′ \large \rightarrow \sum_{i=1}^3(-\mathcal{Y}^{(n,i)} -\mu(M^{(n,i)}-G^{(n)})+ (\frac{\alpha}{2} \|X-\psi([G])\|_F^{2})^{'} →∑i=13(−Y(n,i)−μ(M(n,i)−G(n))+(2α∥X−ψ([G])∥F2)′
→ 求 该 导 数 的 原 函 数 \large \rightarrow 求该导数的原函数 →求该导数的原函数
→ ∫ ∑ i = 1 3 μ ( − 1 μ Y ( n , i ) − M ( n , i ) + G ( n ) ) d ( G ( n ) ) + α 2 ∥ X − ψ ( [ G ] ) ∥ F 2 + C G \large \rightarrow \int \sum_{i=1}^3 \mu(-\frac{1}{\mu} \mathcal{Y}^{(n,i)} - M^{(n,i)}+G^{(n)})d(G^{(n)}) + \frac{\alpha}{2} \|X-\psi([G])\|_F^{2}+C_{G} →∫∑i=13μ(−μ1Y(n,i)−M(n,i)+G(n))d(G(n))+2α∥X−ψ([G])∥F2+CG
→ ∑ i = 1 3 μ 2 ∥ M ( n , i ) − G ( n ) + 1 μ Y ( n , i ) ∥ F 2 + α 2 ∥ X − ψ ( [ G ] ) ∥ F 2 + C G \large \rightarrow \sum_{i=1}^3 \frac{\mu}{2}\|M^{(n,i)}-G^{(n)}+\frac{1}{\mu} \mathcal{Y}^{(n,i)} \|_F^{2} + \frac{\alpha}{2} \|X-\psi([G])\|_F^{2}+C_{G} →∑i=132μ∥M(n,i)−G(n)+μ1Y(n,i)∥F2+2α∥X−ψ([G])∥F2+CG - 这是一个最小二乘问题,对其更新就要求他的最小值,做法便是对该目标函数进行求导,令其为零即可:
→ ∑ i = 1 3 ( − Y ( n , i ) − μ ( M ( n , i ) − G ( n ) ) + ( α 2 ∥ X − ψ ( [ G ] ) ∥ F 2 ) ′ \large \rightarrow \sum_{i=1}^3(-\mathcal{Y}^{(n,i)} -\mu(M^{(n,i)}-G^{(n)})+ (\frac{\alpha}{2} \|X-\psi([G])\|_F^{2})^{'} →∑i=13(−Y(n,i)−μ(M(n,i)−G(n))+(2α∥X−ψ([G])∥F2)′
→ ∑ i = 1 3 ( − Y ( n , i ) − μ M ( n , i ) + μ G ( n ) ) + α ( X − ψ ( [ G ] ) ) ( ψ ( [ G ] ) ) ′ \large \rightarrow \sum_{i=1}^3(-\mathcal{Y}^{(n,i)} -\mu M^{(n,i)}+\mu G^{(n)})+\alpha(X-\psi([G]))(\psi([G]))^{'} →∑i=13(−Y(n,i)−μM(n,i)+μG(n))+α(X−ψ([G]))(ψ([G]))′
令该导数为零,即得到如下等式:
→ ∑ i = 1 3 ( Y ( n , i ) + μ M ( n , i ) − μ G ( n ) ) = α ( ψ ( [ G ] − X ) ) ( ψ ( [ G ] ) ) ′ \large \rightarrow \sum_{i=1}^3(\mathcal{Y}^{(n,i)} +\mu M^{(n,i)}-\mu G^{(n)})=\alpha(\psi([G]-X))(\psi([G]))^{'} →∑i=13(Y(n,i)+μM(n,i)−μG(n))=α(ψ([G]−X))(ψ([G]))′
其中在模-2展开的情形下 ( ψ ( [ G ] ) ) ′ = G ( 2 ) ( ≠ n ) (\psi([G]))^{'}=G^{(\neq n)}_{(2)} (ψ([G]))′=G(2)(=n)
→ ∑ i = 1 3 ( Y ( 2 ) ( n , i ) + μ M ( 2 ) ( n , i ) − μ G ( 2 ) ( n ) ) = α ( G ( 2 ) ( n ) G ( 2 ) ( ≠ n , T ) − X ( n ) ) ) G ( 2 ) ( ≠ n ) \large \rightarrow \sum_{i=1}^3(\mathcal{Y}^{(n,i)}_{(2)} + \mu M^{(n,i)}_{(2)}-\mu G^{(n)}_{(2)}) =\alpha(G^{(n)}_{(2)}G^{(\neq n,T)}_{(2)}-X_{(n)}))G^{(\neq n)}_{(2)} →∑i=13(Y(2)(n,i)+μM(2)(n,i)−μG(2)(n))=α(G(2)(n)G(2)(=n,T)−X(n)))G(2)(=n)
→ ∑ i = 1 3 ( Y ( 2 ) ( n , i ) + μ M ( 2 ) ( n , i ) − μ G ( 2 ) ( n ) ) = α G ( 2 ) ( n ) G ( 2 ) ( ≠ n , T ) G ( 2 ) ( ≠ n ) − α X ( n ) G ( 2 ) ( ≠ n ) \large \rightarrow \sum_{i=1}^3(\mathcal{Y}^{(n,i)}_{(2)} + \mu M^{(n,i)}_{(2)}-\mu G^{(n)}_{(2)}) =\alpha G^{(n)}_{(2)} G^{(\neq n,T)}_{(2)} G^{(\neq n)}_{(2)}-\alpha X_{(n)}G^{(\neq n)}_{(2)} →∑i=13(Y(2)(n,i)+μM(2)(n,i)−μG(2)(n))=αG(2)(n)G(2)(=n,T)G(2)(=n)−αX(n)G(2)(=n)
→ α G ( 2 ) ( n ) G ( 2 ) ( ≠ n , T ) G ( 2 ) ( ≠ n ) + 3 μ G ( 2 ) ( n ) = ∑ i = 1 3 ( Y ( 2 ) ( n , i ) + μ M ( 2 ) ( n , i ) ) + α X ( n ) G ( 2 ) ( ≠ n ) \large \rightarrow \alpha G^{(n)}_{(2)} G^{(\neq n,T)}_{(2)} G^{(\neq n)}_{(2)}+3\mu G^{(n)}_{(2)} =\sum_{i=1}^3(\mathcal{Y}^{(n,i)}_{(2)}+\mu M^{(n,i)}_{(2)})+\alpha X_{(n)}G^{(\neq n)}_{(2)} →αG(2)(n)G(2)(=n,T)G(2)(=n)+3μG(2)(n)=∑i=13(Y(2)(n,i)+μM(2)(n,i))+αX(n)G(2)(=n)
→ G ( 2 ) ( n ) ( α G ( 2 ) ( ≠ n , T ) G ( 2 ) ( ≠ n ) + 3 μ I ) = ∑ i = 1 3 ( Y ( 2 ) ( n , i ) + μ M ( 2 ) ( n , i ) ) + α X ( n ) G ( 2 ) ( ≠ n ) \large \rightarrow G^{(n)}_{(2)}(\alpha G^{(\neq n,T)}_{(2)} G^{(\neq n)}_{(2)}+3\mu I) =\sum_{i=1}^3(\mathcal{Y}^{(n,i)}_{(2)}+\mu M^{(n,i)}_{(2)})+\alpha X_{(n)}G^{(\neq n)}_{(2)} →G(2)(n)(αG(2)(=n,T)G(2)(=n)+3μI)=∑i=13(Y(2)(n,i)+μM(2)(n,i))+αX(n)G(2)(=n)
→ G ( 2 ) ( n ) = ( ∑ i = 1 3 ( Y ( 2 ) ( n , i ) + μ M ( 2 ) ( n , i ) ) + α X ( n ) G ( 2 ) ( ≠ n ) ) ( α G ( 2 ) ( ≠ n , T ) G ( 2 ) ( ≠ n ) + 3 μ I ) − 1 \large \rightarrow G^{(n)}_{(2)}=(\sum_{i=1}^3(\mathcal{Y}^{(n,i)}_{(2)}+\mu M^{(n,i)}_{(2)})+\alpha X_{(n)}G^{(\neq n)}_{(2)}) (\alpha G^{(\neq n,T)}_{(2)} G^{(\neq n)}_{(2)}+3\mu I)^{-1} →G(2)(n)=(∑i=13(Y(2)(n,i)+μM(2)(n,i))+αX(n)G(2)(=n))(αG(2)(=n,T)G(2)(=n)+3μI)−1
然后两边同时进行模-2收缩,便可以得到关于 G ( n ) G^{(n)} G(n)的更新公式
- 将
G
(
n
)
G^{(n)}
G(n)看作是一个变量,然后对目标函数关于
G
(
n
)
G^{(n)}
G(n)进行求导,导数如下:
第二步
,对 M ( n , i ) M^{(n,i)} M(n,i)进行更新- 与上述更新方式相同,可以先写出
L
(
)
L()
L()关于
M
(
n
,
i
)
M^{(n,i)}
M(n,i)的表达式,然后求导,令其结果为零即可。
→ L ( M ( n , i ) ) = ∥ M ( i ) ( n , i ) ∥ ∗ + μ 2 ∥ M ( n , i ) − G ( n ) + 1 μ Y ( n , i ) ∥ F 2 + C M \large \rightarrow L(M^{(n,i)})=\|M^{(n,i)}_{(i)}\|_{*}+\frac{\mu}{2} \|M^{(n,i)}-G^{(n)} + \frac{1}{\mu}\mathcal{Y}^{(n,i)} \|_F^{2}+C_M →L(M(n,i))=∥M(i)(n,i)∥∗+2μ∥M(n,i)−G(n)+μ1Y(n,i)∥F2+CM
对其进行求导操作,其中比较困难的是关于矩阵核范数求导,一般有两种方法,第一种方法是 S V T SVT SVT(论文中经常用的方法,第二种是利用定义进行证明(不一定对于所有的都适用))
1 、 S V T 算 法 1、SVT算法 1、SVT算法
T h e o r e m 1 : 对 于 任 意 的 μ > 0 并 且 Y ∈ R n 1 × n 2 符 合 如 下 形 式 的 最 优 解 为 : Theorem \quad 1:对于任意的\mu >0 并且Y \in R^{n_1 \times n_2} 符合如下形式的最优解为: Theorem1:对于任意的μ>0并且Y∈Rn1×n2符合如下形式的最优解为:
D μ ( Y ) = a r g m i n x { 1 2 ∥ X − Y ∥ F 2 + μ ∥ X ∥ ∗ } D_{\mu}(Y)=argmin_x\{\frac{1}{2}\|X-Y\|_F^{2}+\mu\|X\|_*\} Dμ(Y)=argminx{21∥X−Y∥F2+μ∥X∥∗}
其中 D μ ( ) D_{\mu}() Dμ() 操作称之为 S V T SVT SVT ,算法思想如下
(1)对 Y Y Y 进行奇异值分解为 Y = U ∑ V T Y= U \sum V^T Y=U∑VT ,其中 ∑ \sum ∑是包含奇异值的矩阵,接下来 U U U 和 V V V 保持不变,然后对所有的奇异值减去 μ \mu μ 的操作,如果该奇异值小于 μ \mu μ 则令其为零。
→ D μ ( Y ) = U d i a g ( σ i − μ ) + V \large \rightarrow D_{\mu}(Y)=Udiag{(\sigma_i-\mu)}_+V →Dμ(Y)=Udiag(σi−μ)+V
接下来可以对该目标函数通过SVT的方法求解最优解
→ \large \rightarrow → 可以看出该目标函数中的 Y = G ( n ) − 1 μ Y ( n , i ) Y=G^{(n)}-\frac{1}{\mu}\mathcal{Y}^{(n,i)} Y=G(n)−μ1Y(n,i)
→ M ( n , i ) = f o l d i ( D 1 μ ( G ( i ) ( n ) − 1 μ Y ( i ) ( n , i ) ) ) \large \rightarrow M^{{(n,i)}}=fold_i(D_{\frac{1}{\mu}} (G^{(n)}_{(i)}-\frac{1}{\mu}\mathcal{Y}^{(n,i)}_{(i)})) →M(n,i)=foldi(Dμ1(G(i)(n)−μ1Y(i)(n,i)))
- 与上述更新方式相同,可以先写出
L
(
)
L()
L()关于
M
(
n
,
i
)
M^{(n,i)}
M(n,i)的表达式,然后求导,令其结果为零即可。
第三步
,对 X X X进行更新,- 这一步比较容易,因为观测点的值是给定的,剩下的点由
G
G
G相乘得到
→ X = P Ω ( T ) + P Ω + ( ψ ( [ G ] ) ) \large \rightarrow X=P_{\Omega}(T)+P_{\Omega^{+}}(\psi([G])) →X=PΩ(T)+PΩ+(ψ([G]))
- 这一步比较容易,因为观测点的值是给定的,剩下的点由
G
G
G相乘得到
第四步
,对 Y ( n , i ) \mathcal{Y}^{(n,i)} Y(n,i)进行更新- → Y + ( n , i ) = Y ( n , i ) + μ ( M ( n , i ) − G ( n ) ) \large \rightarrow \mathcal{Y}^{(n,i)}_+=\mathcal{Y}^{(n,i)}+\mu (M^{(n,i)}-G^{(n)}) →Y+(n,i)=Y(n,i)+μ(M(n,i)−G(n))
第五步
,对 μ \mu μ进行更新, μ \mu μ是惩罚项因子,也是随着每一次的迭代需要变化的- → μ + = m a x { ρ μ , μ m a x } , 1 < = ρ < = 1.5 \large \rightarrow \mu_+=max\{\rho \mu ,\mu_{max}\},1<=\rho<=1.5 →μ+=max{ρμ,μmax},1<=ρ<=1.5 ρ \rho ρ是一个超参数