|
Algorithm 1 GraphNet based Structure-aware SCCA (GN-SCCA) |
|
Require: |
X = {x1, …, xn}T, Y = {y1, …, yn}T
|
|
Ensure: |
Canonical vectors u and v. |
1: |
Initialize u ∈ ℝp
× 1, v ∈ ℝq
× 1; L1=Du − Au and L2 = Dv − Av only from the training data; |
2: |
while not converged do
|
3: |
while not converged regarding u do
|
4: |
Calculate the diagonal matrix D1, where the k1-th element is
; |
5: |
Update u = (λ1L1 + β1D1 + γ1XTX)−1
XTYv; |
6: |
end while
|
7: |
while not converged regarding v do
|
8: |
Calculate the diagonal matrix D2, where the k2-th element is
; |
9: |
Update v = (λ2L2 + β2D2 + γ2YTY)−1
YTXu; |
10: |
end while
|
11: |
end while |
12: |
Scale u so that ∥Xu∥2 = 1; |
13: |
Scale v so that ∥Yv∥2 = 1. |
|