# Recommendation System Using Autoencoders
## 2 Related Work  
In the context of recommendation systems, several solutions have emerged using collaborative filtering to help users find items that meet their interests and also benefit different organizations and sectors in order to captivate their customers. In the literature several approaches can be found to achieve goals similar to this article. As an example, [PERSON] and [PERSON] have implemented a recommendation system using an algorithm based on SVD smoothing that predicts item ratings that users have not yet rated by employing SVD technology, and then uses Pearson's similarity correlation measurement to find neighbors for the target users, and finally makes recommendations [24]. [PERSON] et al. propose and experimentally validate a technique that has the potential to incrementally build SVD-based models and promises to make the recommender systems highly scalable [25]. [PERSON] et al. propose a new approach combining a clustering algorithm with an SVD algorithm that is widely used in the domain of image-processing into a collaborative filtering algorithm. Then they decompose the rating matrix with the SVD algorithm and merge them into a new rating matrix to calculate the similarity between each pair of users. At last, they take advantage of the similarity to find the nearest neighbors in the collaborative filtering recommendation and predict the ratings of the items to make the recommendation [26]. However, most recommendation systems still face challenges in dealing with the enormous volume, complexity and dynamics of data [27]. In order to address these issues, a number of researchers have dedicated themselves to improving recommendation systems by integrating deep learning techniques. The first attempts to use deep learning for recommendation systems began with the use of restricted Boltzman machines (RBMs) [22]. However, several recent approaches have been using autoencoders. For example, [PERSON] et al. built a flexible Deep Autoencoder (DAE) model, named FlexEncoder, that uses configurable parameters and unique features to analyze the parameter influence on the prediction accuracy of recommender systems [28]. [PERSON] et al. propose AutoRec, a novel autoencoder framework for collaborative filtering (CF). Empirically, AutoRec's compact and efficiently trainable model outperforms state-of-the-art CF techniques (biased matrix factorization, RBM-CF and LLORMA) on the Movielens and Netflix datasets [29]. [PERSON] et al. propose a novel CF method that uses a stacked auto-encoder with denoising, an unsupervised deep learning method, to extract the useful low-dimensional features from the original sparse user-item matrices [30]. [PERSON] et al. proposed an autoencoder based on collaborative filtering method, which provides pre-training and stacking mechanisms. The experimental study on commonly used MovieLens datasets have shown its potential and efficacy in achieving higher recall [31]. Another work developed, where autoencoders were used, was that of [PERSON], [PERSON], & [PERSON] [32] who proposed a Bayesian generative model called collaborative variational autoencoder (CVAE) that considers both rating and content for making recommendations in multimedia scenarios. The model learns deep latent representations from content data in an unsupervised manner and also learns implicit relationships between items and users from both content and ratings. These experiments show that CVAE is able to significantly outperform the state-of-the-art recommendation methods with more robust performance. Other work more similar to this paper is that of [PERSON] & [PERSON] [33] that proposes a model for the rating prediction task in recommender systems, which significantly outperforms previous state-of-the art models in the time-split Netflix dataset. Their model is based on a deep autoencoder with 6 layers and is trained end-to-end without any layer-wise pre-training. They also propose a new training algorithm based on iterative output re-feeding to overcome the natural sparseness of collaborate filtering.