基本方法
1 Neighborhood-based (item-item)
参考文献:Item-based Collaborative Filtering Recommendation Algorithms
根据与item i 相似的
相似度的计算有多种方式,例如余弦相似度,皮尔森相关系数等。
当然,还可以用 user-user 估计,但是users 数目往往很大,不适合较大规模数据。
2 Model-based (矩阵分解)
参考文献:Matrix Factorization Techniques for Recommender Systems
基于相似度的方法只能找出相似的items,意味着向一个看了动作片的人推荐更多动作片。但现实情况是,喜欢看动作片的人可能不仅仅喜欢动作片,也喜欢爱情片,或者爱情动作片。这就需要挖掘出潜在因素来进行推荐(latent factors)。
将 user-item 评分矩阵分解为 user_features x item_features。
由于R矩阵是非常稀疏的,有大量缺失值,如果使用传统SVD分解需要填补缺失值。这样做有两个缺点:1. 填补什么值?会造成不准确;2. 填补后变成稠密矩阵,计算量大增。于是采用忽略缺失值的方法,最小化 least square。但要注意防止 overfitting,加入正则化项(与模型复杂度成正比)。<