2015/03/17 by Tarek Elgamal, Elgamal, Tarek, Mohamed Hefeeda +1 · 1 citation
Computer Science · #Blind Source Separation Techniques #Distributed #FOS: Computer and information sciences #FOS: Mathematics #Face and Expression Recognition #Machine Learning (cs.LG) #Neural Networks and Applications #Numerical Analysis (math.NA) #Parallel #and Cluster Computing (cs.DC)
paper · pdf · doi:10.48550/arxiv.1503.05214
openalex publication_date 2015/03/17 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
Classical machine learning algorithms often face scalability bottlenecks when they are applied to large-scale data. Such algorithms were designed to work with small data that is assumed to fit in the memory of one machine. In this report, we analyze different methods for computing an important machine learing algorithm, namely Principal Component Analysis (PCA), and we comment on its limitations in supporting large datasets. The methods are analyzed and compared across two important metrics: time complexity and communication complexity. We consider the worst-case scenarios for both metrics, and we identify the software libraries that implement each method. The analysis in this report helps researchers and engineers in (i) understanding the main bottlenecks for scalability in different PCA algorithms, (ii) choosing the most appropriate method and software library for a given application and data set characteristics, and (iii) designing new scalable PCA algorithms.