In this project, we aim to predict the movie ratings made by each user. To solve this problem, we implemented baseline collaborative filtering methods with matrix factorisation and several optimisation strategies like Stochastic Gradient Descent with momentum (SGDM) and Limited-memory Broyden–Fletcher–Goldfarb–Shanno (L-BFGS). Furthermore, we employed the low rank approximation to compute matrix factorisation with lower dimension, in order to improve the efficiency of training and maximising the prediction performance of our model.