We introduce primed-PCA (pPCA), a two-step algorithm for speeding up the approximation of principal components. This algorithm first runs any approximate-PCA method to get an initial estimate of the principal components (priming), and then applies an exact PCA in the subspace they span. Since this subspace is of small dimension in any practical use, the second step is extremely cheap computationally. Nonetheless, it improves accuracy significantly for a given computational budget across datasets. In this setup, the purpose of the priming is to narrow down the search space, and prepare the data for the second step, an exact calculation. We show formally that pPCA improves upon the priming algorithm under very mild conditions, and we provide experimental validation on both synthetic and real large-scale datasets showing that it systematically translates to improved performance. In our experiments we prime pPCA by several approximate algorithms and report an average speedup by a factor of 7.2 over Oja's rule, and a factor of 10.5 over EigenGame.
翻译:我们引入了原始- PCA( PPCA), 这是加速主元件近似的两步算法 。 这个算法首先运行任何近似- PCA 方法, 以初步估计主要元件( 最优), 然后在它们横跨的子空间中应用精确的 CPE 。 由于这个子空间在任何实际用途中都很小, 第二步是极廉价的计算。 尽管如此, 它还是大大提高了跨数据集的计算预算的准确性 。 在此设置中, 缩小范围的目的是缩小搜索空间, 为第二步准备数据, 精确的计算 。 我们正式显示 PPCA 在非常温和的条件下改进了边际算法, 我们提供合成和真实的大型数据集的实验性验证, 表明它系统地转换为改进了性能 。 在我们的实验中, 我们通过几个近似算法, 并报告平均速度为7.2 超过 Oja 规则的系数, 和 EigenGame 10.5 的系数 。