Efficient and Distributed Generalized Canonical Correlation Analysis for Big Multiview Data

Generalized canonical correlation analysis (GCCA) integrates information from data samples that are acquired at multiple feature spaces (or ‘views’) to produce low-dimensional representations—which is an extension of classical two-view CCA. Since the 1960s, (G)CCA has attracted much attention in statistics, machine learning, and data mining because of its importance in data analytics. Despite these efforts, the existing GCCA algorithms have serious complexity issues. The memory and computational complexities of the existing algorithms usually grow as a quadratic and cubic function of the problem dimension (the number of samples / features), respectively—e.g., handling views with <inline-formula><tex-math notation="LaTeX">$\approx \! \! 1,000$</tex-math><alternatives><mml:math><mml:mrow><mml:mo>≈</mml:mo><mml:mspace width="-0.166667em"/><mml:mspace width="-0.166667em"/><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>000</mml:mn></mml:mrow></mml:math><inline-graphic xlink:href="fu-ieq1-2875908.gif"/></alternatives></inline-formula> features using such algorithms already occupies <inline-formula><tex-math notation="LaTeX">$\approx \! \! 10^6$</tex-math><alternatives><mml:math><mml:mrow><mml:mo>≈</mml:mo><mml:mspace width="-0.166667em"/><mml:mspace width="-0.166667em"/><mml:msup><mml:mn>10</mml:mn><mml:mn>6</mml:mn></mml:msup></mml:mrow></mml:math><inline-graphic xlink:href="fu-ieq2-2875908.gif"/></alternatives></inline-formula> memory and the per-iteration complexity is <inline-formula><tex-math notation="LaTeX">$\approx\! \! 10^9$</tex-math><alternatives><mml:math><mml:mrow><mml:mo>≈</mml:mo><mml:mspace width="-0.166667em"/><mml:mspace width="-0.166667em"/><mml:msup><mml:mn>10</mml:mn><mml:mn>9</mml:mn></mml:msup></mml:mrow></mml:math><inline-graphic xlink:href="fu-ieq3-2875908.gif"/></alternatives></inline-formula> flops—which makes it hard to push these methods much further. To circumvent such difficulties, we first propose a GCCA algorithm whose memory and computational costs scale <italic>linearly</italic> in the problem dimension and the number of nonzero data elements, respectively. Consequently, the proposed algorithm can easily handle very large sparse views whose sample and feature dimensions both exceed <inline-formula><tex-math notation="LaTeX">$\approx\! \! 100,000$</tex-math><alternatives><mml:math><mml:mrow><mml:mo>≈</mml:mo><mml:mspace width="-0.166667em"/><mml:mspace width="-0.166667em"/><mml:mn>100</mml:mn><mml:mo>,</mml:mo><mml:mn>000</mml:mn></mml:mrow></mml:math><inline-graphic xlink:href="fu-ieq4-2875908.gif"/></alternatives></inline-formula>. Our second contribution lies in proposing two distributed algorithms for GCCA, which compute the canonical components of different views in parallel and thus can further reduce the runtime significantly if multiple computing agents are available. We provide detailed convergence analyses of the proposed algorithms and show that all the large-scale GCCA algorithms converge to a Karush-Kuhn-Tucker (KKT) point at least sublinearly. Judiciously designed synthetic and real-data experiments are employed to showcase the effectiveness of the proposed algorithms.