我知道降低维数的技术,如PCA或SVD。
我想知道这些技术是如何在Apache Spark等分布式大数据平台中实现的。
配方中是否有伪代码或模式?我想知道算法的哪些部分可能会因通信问题而导致瓶颈。
非常感谢您提前
答案 0 :(得分:1)
Apache Mahout实施Distributed Stochastic Singular Value Decomposition,直接基于Nathan Halko的Randomized methods for computing low-rank approximations of matrices
请注意,dssvd
适用于Apache-Mahout Samsara,它是一个将在Spark上运行的库。所以从本质上讲,这是一种基于Spark的svd方法,实际上是分布式的。
关于分布式PCA,Mahout还公开了分布式随机PCA-最近有一些网站改组,但dspca(分布式随机主成分分析)作为示例here给出了算法和实现。
Halko我相信(参见上面的参考资料)也讨论了分布式PCA。我无法告诉你瓶颈在哪里,但我希望这些信息可以帮助你开始研究。