Input: |
P data matrices X(1), X(2), ..., X(P), parameters β ω
|
Output: |
P basis matrices U(1), U(2), ..., U(P), P relation matrices S(1), S(2), ..., S(P), factor matrices V, weight vector Π = (π(1), π(2), ..., π(P)) |
1: Begin
|
2: InitializeU(1), U(2), ..., U(P), S(1), S(2), ..., S(P), V |
3: Initialize
|
4: loop
|
5: for
p=1 to P
do
|
6: Fix V, update U(p), S(p)
|
7: end for
|
8: Fix U(1), U(2), ..., U(P), update VL
|
9: Fix U(1), U(2), ..., U(P), update VUL
|
10: for
p=1 to P
do
|
11: Fix U, S, V, compute
|
12: end for
|
13: Update Π |
14: break loop if convergence |
15: End
|