协同过滤中基于用户的相似度计算方法研究
【摘要】协同过滤算法已经成为推荐系统中应用程度最为广泛和有效的一种方法。评分预测推荐算法作为协同过滤的一个重要的分支研究方向,有着非常重要的地位和研究价值。评分预测推荐中基于用户的协同过滤推荐算法最关键的一步就是用户间相似度的计算。弄清基于用户的不同相似度计算方法的特点、公式和优缺点,对提高协同过滤的评分预测准确度具有重要意义。
【关键词】协同过滤;评分预测;相似度
推荐系统中最为重要的推荐算法就是协同过滤推荐算法,协同过滤在工业界和学术界已经得到了很深入的研究和发展,具有举足轻重的商用价值和学术意义。基于用户的协同过滤推荐算法是协同过滤算法的一个重要研究分支,自 20 世纪 90 年代以来一直是领域内关注的焦点。基于用户的协同过滤算法中最关键的步骤就是对用户相似度的计算。不同的相似度计算方法具有不同的公式和优缺点,能适应不同的数据环境。
一、基于用户的协同过滤推荐算法
基于用户的协同过滤是一种基于存储的协同过滤推荐算法。该算法认为一个用户会喜欢和他有相似兴趣爱好的用户喜欢的产品。因此,要对一个用户做推荐,首先得找到和他兴趣爱好相似的用户。
在User CF 中,两个用户兴趣爱好相似是因为他们喜欢相似的产品。这种相似性通过用户相似度进行衡量。衡量两个用户的相似度主要有两种思路:一种认为对于给定用户u、a,若他们对于任意产品i总是给出相似的评分,则认为这两个用户相似,这种方法被称为 Correlation相似度方法;另一种则认为如果用户u、a总是对相同的产品进行浏览、评价等行为,则这两个用户相似,这种方法被称为Relevance相似度方法。
利用计算所得的用户相似度,User CF为待推荐用户寻找近邻,以便利用近邻行为预测当前用户的行为。近邻搜索是User CF算法的核心内容之一,其效率和质量直接影响推荐算法的有效性。近邻搜索往往需要为当前用户寻找K个最相似的用户,因此,亦被称为 K近邻方法(K-Nearest Neighbors,简称KNN)。
在确定了用户u的近邻集合后,User CF 利用这些近邻的评分信息,将其进行加权平均,预测用户u对未评分产品的评分值。其计算方法如下面公式所示:
其中,为用户u和用户a的相似度,N(u)为用户u的近邻集合。在Top-N推荐忠,UserCF通过预测用户对产品的评分值信息,对用户未评分产品进行排序,预测评分值较高的前N个产品推荐给用户。
二、四种典型的衡量用户相似度的方法
(一)余弦相似度(Cosine)[1]是一种典型的 Correlation 相似度方法。它将用户的历史评分信息看作是n维向量,即使用u、a分别表示用户u和用户a的历史评分信息。其中向量的第i个元素是该用户对第i个产品的评分值,未评分产品用0代替。用户u和用户a的余弦相似度可以用两个向量的夹角余弦表示,即:
其中是用户u对产品i的评分值,是用户u和用户a共同评分的产品集合。
(二)皮尔逊相关性(Pearson Correlation, PC)[1]亦是一种典型的Correlation 相似度方法。它是自然科学领域中广泛用于度量两个变量间线性相关程度的方法之一。在User CF中,它可以有效描述两个用户在若干个产品上评分变化趋势的一致程度。其计算方法如公式所示:
其中,是用户u对产品的平均评分值。
(三)欧几里德距离相似度(Euclidean Distance Similarity)[3] 最初用于计算欧几里德空间中两个点的距离,后引用到推荐领域,用来计算两个用户间的相似度,距离越小,相似度越大,其计算方法如下:
(四)Jaccard 相似度[4]是一种典型的Relevance相似度方法。它通过计算用户u和用户a评分的产品集合的相似程度衡量两个用户之间的相似度,两个用户共同评分的产品越多则他们越相似,其计算方法为:
(五)对数似然相似度(Log-Likelihood)[5]亦是一种典型的Relevance相似度方法。它通过计算用户和用户所评分产品集合的对数似然相似度衡量两个用户间的相似程度,其计算方法如以下三个公式所示:
其中,的取值(项目次数)如下表所示:
(六)斯皮尔曼等级关联(Spearman Rank Correlation, SRC)定义为物品i在用户u所评分物品中的排位(并列评分用它们的平均排名),则用户u和v的相似度可以这样计算:
其中,是用户所评价物品的平均排名。
三、不同相似度计算方法的比较
由于没有考虑负关联,欧几里德距离求得的预测评分准确度是最低的。Jaccard 相似度并没有考虑评分的多少而是根据评价的排名确定相似度。同时,PC的准确度在一定范围内准确度要比其他相似度计算方法要高,但随着数据库的变化,SRC逐渐高于PC。事实上,各种相似度计算方法之间的准确度在不同数据量条件和评分规则下,并非一成不变,是变化的。具体如何变化,还有待进一步研究。但是有实验表明PC和SRC在数据库环境发生变化时,其准确度是逐渐变化的。
总之,根据数据库中用户数量、用户评分数量、评分规则以及评价物品数量等数据量的变化,协同过滤需要应用的相似度计算方法也应当有所不同,甚至需要进行动态的混合和组合。只有这样才能使推荐系统的结果达到评分预测准确率最高,从而使用户最满意,获得用户与程序设计者双赢的目的。
参考文献
[1] Adomavicius,G.,&Tuzhilin;,A.(2005).Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions[J].IEEE Transactions on Knowledge and Data Engineering, 2005-9-9,17(6),734-749.doi:10.1109/TKDE.
[2]Manning, C.D., Raghavan, P., & Schütze, H.. Introduction to information retrieval[J]. New York, NY, USA: Cambridge University Press, 2008.
[3]Shang, M.S., L. Lü, W. Zeng, et al. Relevance is more significant than correlation: Information filtering on sparse data[J]. EPL (Europhysics Letters), 2009. 88(6): 68008.
[4]Herlocker, J. L.. Understanding and improving automated collaborative filtering systems[D]. University of Minnesota Ph.D. thesis. 2000. AAI9983577.
[5]Kendall, M., Gibbons, J.D. Rank Correlation Methods 5 edn[M]. Charles Griffin, 1990.
作者简介
吴晓琼(出生年1990),女,山西,河北大学管理学院管理科学与工程专业在读硕士研究生。