ML algorithms are able to find complex patterns based on the training data and then make predictions for the CF models. Various model based CF algorithms were developed including matrix factorization (MF), clustering based algorithm, and neural nets.
Usually classification algorithms can be used as CF models if the learner/user ratings are categorical, and regression models and SVD models can be used for numerical ratings. MF based models consider preferences of learners that can be defined by latent factors. Matrix decomposition becomes an optimization problem with loss functions and constraints. The constraints are selected based on the model property such as having non-negative elements in matrices for non negative matrix decomposition.
The most common techniques used in model-based CF model are: