摘要
相对于传统的协同过滤推荐算法,Slope One算法以其简单、高效而广泛使用。原生Slope One推荐算法是基于各个项目之间的平均偏差预测用户评分,最终以多个预测评分的均值作为用户的最终预测评分。而带权重Slope One是在原生Slope One算法的基础上,以项目共同评价的用户个数作为权重,在一定程度上提高算法的推荐精度。但该算法并未考虑项目之间的相似度,为了进一步提高算法的推荐精度,提出一种改进的Slope One算法,该算法同时考虑了用户共同评分个数以及项目之间相似度,并以两者的乘积为权重。其中项目之间相似度分别采用余弦相似度、修正余弦相似度和皮尔逊相似度进行求解。使用标准Movie Lens中的数据集对3种改进算法预测结果分别进行验证,结果表明:相对于原始Slope One算法和带权重的Slope One算法,改进算法提高预测的准确性。
Compared with the traditional cooperative filtering recommendation algorithm, Slope One algorithm is widely used by simple and efficient. Native Slope one recommendation algorithm is based on the average deviation between the various projects to predict the user's score, and ultimately the average of multiple predictions as the user's final forecast score. And the weight of Slope one is based on the native Slope one algorithm, the number of users evaluated by the project as a weight, to a certain extent, improves the recommended accuracy of the algo- rithm. However, in order to further improve the recommendation accuracy of the algorithm, proposes an improved Slope one algorithm, which also considers the number of users" common scores and the similarity between the projects, takes the product of the two as the weight. Where the similarity between the projects are used cosine similarity, Pearson correction cosine similarity and similarity to solve it. Finally, uses the data set in the standard MovieLens to verify the prediction results of the three improved algorithms respectively. The results show that the improved algorithm improves the accuracy of the prediction compared with the original Slope one algorithm and the weighted Slope one algorithm.
作者
黄义纯
HUANG Yi-chun(College of Computer Science, Sichuan University, Chengdu 610065)