User:MaurizioFD/sandbox
Hello, my name is MaurizioFD. I'm a PhD student at Politecnico di Milano, Italy.[1] My research topic is recommender systems and machine learning.[1] I do like here and salted peanuts
![A blue tram in Munich](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Tram_in_Munich_2008.jpg/220px-Tram_in_Munich_2008.jpg)
Matrix factorization is a class of collaborative filtering algorithms used in recommender systems. Matrix factorization algorithms work by decomposing the user-item interaction matrix as the product of two lower dimensionality rectangular matrices. [2] This family of methods became widely known during the Netflix prize challenge due to its effectiveness as stated by Simon Funk in his 2006 blog post[3] he used to share his findings with the research community.
Techniques
[edit]The idea behind matrix factorization is to represent users and items in a lower dimensional latent space. Since the initial work by Funk in 2006 a multitude of matrix factorization approaches have been proposed for recommender systems. Some of the most used ones are listed in the following sections.
Funk SVD
[edit]The original algorithm proposed by Simon Funk in his blog post [3] factorized the user-item rating matrix as the product of two lower dimensional matrices, the first one will have a row for each user, while the second will have a column for each item. The row or column associated to a specific user or item is called latent factors.[4] Note that, despite its name, in this matrix factorization algorithm no singular value decomposition is applied. The predicted ratings will be computed as , where , and .
Specifically, the predicted rating user u will give to item i is computed as:
It is possible to tune the expressive power of the model by changing the number of latent factors. It has been demonstrated [5] that a matrix factorization with one latent factor is equivalent to a most popular or top popular recommender (e.g. recommends the items with the most interactions without any personalization). Increasing the number of latent factor will improve personalization, therefore recommendation quality, until the number of factors becomes too high and the model starts to overfit, then the recommendation quality will decrease. A common strategy to avoid overfitting is adding regularization terms to the objective function. FunkSVD was developed as a rating prediction problem, therefore it used explicit numerical ratings as user-item interactions.
All things considered, FunkSVD minimizes the following objective function:
Where is the frobenius norm, the other norms might be different depending on what works best for the specific recommending problem. [6]
SVD++
[edit]While FunkSVD was able to provide very good recommendation quality, its ability to use only explicit numerical ratings as user-items interactions constituted a limitation. Modern day recommender systems should exploit all available interactions both explicit (e.g. numerical ratings) and implicit (e.g. likes, purchases, skipped, bookmarked). To this end SVD++ was designed to take into account implicit interactions as well.[7] [8] Compared to FunkSVD, SVD++ takes also into account user and item bias.
Ihe predicted rating user u will give to item i is computed as:
SVD++ has however some disadvantages, mainly it is not model-based, meaning that if a new user is added, the algorithm is incapable of modeling it unless the whole model is retrained. Even though you might have gathered some interactions, you still do not have the user's latent factors. This is an example of cold-start problem, that is the algorithms cannot deal efficiently with new users or items and therefore specific strategies should be put in place. [9]
It is possible to modify SVD++ in order for it to become a model-based algorithm, therefore allowing to manage easily new items and new users, solving the main drawback of SVD++.
Since the problem of SVD++ is that for new users we don't have the latent factors, it is necessary to represent the user's latent factors in a different way. Since the user's latent factors should represent the preference of that user for the corresponding item's latent factors, user's latent factors can be estimated via the past interactions. Knowing to which items the user interacted to, and therefore its latent factors, allows to estimate the user's ones. Note that this does not entirely solve the cold-start, since still we would need some reliable interactions for new users, but at least there is no need to recompute the whole model every time. It has been demonstrated that this formulation is almost equivalent to a SLIM model[10], which is an item-item model based recommender.
With this formulation, the equivalent item-item recommender would be . Therefore the similarity matrix is symmetric.
Asymmetric SVD
[edit]Asymmetric SVD aims at combining the advantages of SVD++ while being a model based algorithm, therefore being able to consider new users with a few ratings without needing to retrain the whole model. As opposed to the model-based SVD here the user latent factor matrix H is replaced by Q, which learns the user's preferences as function of their ratings. [11]
Ihe predicted rating user u will give to item i is computed as:
With this formulation, the equivalent item-item recommender would be . Since matrices Q and W are different the similarity matrix is asymmetric, hence the name of the model.
Hybrid MF
[edit]In recent years many other matrix factorization models have been developed to exploit the ever increasing amount and variety of available interaction data and use cases. Hybrid matrix factorization algorithms are capable of merging explicit and implicit interactions [12] or both content and collaborative data [13] [14] [15]
See also
[edit]References
[edit]- ^ a b Knut, Albert. Are researchers really underpaid?. p. 157.
- ^ Koren, Yehuda; Bell, Robert; Volinsky, Chris (August 2009). "Matrix Factorization Techniques for Recommender Systems". Computer. 42 (8): 30–37. doi:10.1109/MC.2009.263.
- ^ a b Funk, Simon. "FunkSVD proposal".
- ^ Agarwal, Deepak; Chen, Bee-Chung (28 June 2009). "Regression-based latent factor models". ACM: 19–28. doi:10.1145/1557019.1557029.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ Jannach, Dietmar; Lerche, Lukas; Gedikli, Fatih; Bonnin, Geoffray (2013). "What Recommenders Recommend – An Analysis of Accuracy, Popularity, and Sales Diversity Effects". User Modeling, Adaptation, and Personalization. Springer Berlin Heidelberg: 25–37. doi:10.1007/978-3-642-38844-6_3.
- ^ Paterek, Arkadiusz (2007). "Improving regularized singular value decomposition for collaborative filtering" (PDF). Proceedings of KDD cup and workshop.
- ^ Cao, Jian; Hu, Hengkui; Luo, Tianyan; Wang, Jia; Huang, May; Wang, Karl; Wu, Zhonghai; Zhang, Xing (2015). "Distributed Design and Implementation of SVD++ Algorithm for E-commerce Personalized Recommender System". Communications in Computer and Information Science. Springer Singapore: 30–44. doi:10.1007/978-981-10-0421-6_4.
- ^ Jia, Yancheng (September 2014). "Users' brands preference based on SVD++ in recommender systems". 2014 IEEE Workshop on Advanced Research and Technology in Industry Applications (WARTIA). IEEE. doi:10.1109/wartia.2014.6976489.
- ^ Kluver, Daniel; Konstan, Joseph A. (6 October 2014). "Evaluating recommender behavior for new users". ACM: 121–128. doi:10.1145/2645710.2645742.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ Zheng, Yong; Mobasher, Bamshad; Burke, Robin (6 October 2014). "CSLIM: contextual SLIM recommendation algorithms". ACM: 301–304. doi:10.1145/2645710.2645756.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ Pu, Li; Faltings, Boi (12 October 2013). "Understanding and improving relational matrix factorization in recommender systems". ACM: 41–48. doi:10.1145/2507157.2507178.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ Zhao, Changwei; Sun, Suhuan; Han, Linqian; Peng, Qinke (2016). "HYBRID MATRIX FACTORIZATION FOR RECOMMENDER SYSTEMS IN SOCIAL NETWORKS". Neural Network World. 26 (6): 559–569. doi:10.14311/NNW.2016.26.032.
- ^ Zhou, Tinghui; Shan, Hanhuai; Banerjee, Arindam; Sapiro, Guillermo (26 April 2012). "Kernelized Probabilistic Matrix Factorization: Exploiting Graphs and Side Information". Proceedings of the 2012 SIAM International Conference on Data Mining. Society for Industrial and Applied Mathematics: 403–414. doi:10.1137/1.9781611972825.35.
- ^ Adams, Ryan Prescott; Dahl, George E.; Murray, Iain (25 March 2010). "Incorporating Side Information in Probabilistic Matrix Factorization with Gaussian Processes". arXiv:1003.4944 [cs, stat].
- ^ Fang, Yi; Si, Luo (27 October 2011). "Matrix co-factorization for recommendation with rich side information and implicit feedback". ACM: 65–69. doi:10.1145/2039320.2039330.
{{cite journal}}
: Cite journal requires|journal=
(help)