Summary: | 碩士 === 國立交通大學 === 資訊科學與工程研究所 === 106 === Matrix factorization is an important technology in many fields. Currently, FPSG (Zhuang et al., 2013) [1] and NOMAD (Yun et al., 2014) [2] are the best parallel matrix factorization algorithms in shared-memory systems. However, we found some controversial results in the two algorithms.
To ascertain these two algorithms FPSG and NOMAD, there are three primary objectives in this paper: (1) We will carefully compare the differences between the two algorithms and make an objective performance evaluation. (2) We will rewrite a part of NOMAD by using an instruction set called SSE to accelerate parallel calculations. (3) We will also implement different learning rate schedules on FPSG and NOMAD respectively.
After experimenting the results of the two algorithms, it can be seen that the FPSG with FS has relatively good convergence results than NOMAD with MDS both in the cloud and the local environment. Next, we found that NOMAD with RPCS can achieve better convergence results than NOMAD with MDS in Netflix dataset. But NOMAD_PRCS_sse is still slower than FPSG_RPCS_sse. Next, we found the results of FPSG_RPCS_nosse is even better than FPSG_RPCS_sse in the original algorithm. After we modified RPCS slightly, the convergence speed is faster than original algorithm.
|