The matrix factorization (MF) algorithm plays an important role in collaborative filtering (CF). The traditional MF algorithms usually assume that the correlated data is distributed on a linear hyperplane, which is not always the case. Therefore, it is a hot topic to combine the kernel algorithm with the matrix factorization algorithm for collaborative filtering. Aiming at the shortcomings of the existing CF algorithm, an single matrix factorization method based on dictionary is firstly proposed for collaborative filtering. On this basis, considering that data can be efficiently embedded into high dimensional space, only one kernel function can not achieve the limitation of optimality energy, a matrix factorization algorithm based on multi kernel learning (MKLMF) is proposed for collaborative filtering. The MKLMF algorithm assumes that there are a set of p positive defined base kernels, and then the two potential factor matrices are embedded into the high dimensional Hilbert space by the best linear group of the learned p kernels. Finally, the product of the two potential factor matrices is used to realize the nonlinear reconstruction of the scoring matrix in the original space. A full simulation experiment is carried out with real data sets. The simulation results show that the proposed algorithm can accurately grasp the nonlinear correlation between data, and the prediction accuracy is better than the latest CF algorithm.