基于社区聚类的改进协同过滤策略研究文献综述

 2022-10-08 12:12:31

  1. 文献综述(或调研报告):

随着互联网和电子商务的高速发展,推荐系统广泛应用于各个电商平台、网站中,推荐系统根据用户的历史数据,分析出客户可能感兴趣的物品,生成推荐列表。推荐系统中用到的推荐算法有很多,在现实环境中的应用中也面临这许多挑战,比如:(1)零售商数量多、数据量巨大。(2)许多场景下需要实时返回结果。(3)新客户往往只有十分有限的数据,而老客户可能会有过量的数据(4)用户数据会随着每一次的用户交互而变化,算法必须立即响应新数据[1]

推荐系统有三类常用推荐算法:传统协同过滤、聚类模型和基于内容的推荐方法[1]

传统的协同过滤算法利用用户的历史购买打分数据,对每个用户构建一个向量,向量中的元素是用户对各个商品的打分,之后计算用户之间的相似度,常用的计算相似度的方法就是计算两用户向量之间的夹角(cosine)。传统协同过滤算法对每一个用户都进行计算,十分精确,然而由于用户和商品数量众多,计算代价很高,最坏的情况下算法时间复杂度为O(MN),其中M是用户数,N为产品数。由于实际使用中大多数用户购买的产品类别不会很多,用户产品矩阵较稀疏,所以算法时间复杂度接近O(M N)[1]

聚类模型通常用非监督的学习算法,最简单的比如K-means,利用用户的兴趣标签,找到相似的用户,将用户集分解成不同的子集,将相似的用户分在同一子集中,再在每个子集上再利用用户的历史购买记录来生成推荐列表[1]。这样可以只用目标客户所在的子集中的用户历史数据来生成推荐列表,大大减少了计算量,提高了效率,相比传统的协同过滤拥有更好的在线计算表现。但是由于不是在所有用户的购买记录集合上进行相似度计算,因此往往准确度不高[1]

基于内容的推荐方法根据商品的属性来进行推荐,总是会给用户推荐拥有相似属性的商品,推荐质量不高。

协同过滤是最受欢迎的算法之一,有不少学者和公司都对其进行了研究和改进。

亚马逊是世界知名的电商公司,早期他们改进了传统的协同过滤,用于自己的平台上为用户提供推荐服务。传统协同过滤是构建用户向量,计算用户的相似度。由于产品类别过多,许多用户购买的产品类型也没有那么广泛,导致用户向量过长且大多稀疏,浪费了算力及空间。为了提高效率,亚马逊运用了基于物品的协同过滤(item-to-item collaborative filtering)[1],将计算用户相似度改为根据购买记录计算产品相似度,构建的向量为产品向量,向量内的元素代表买家的打分。该算法首先找某个产品A的买家,利用这些买家的打分构建A产品向量,之后再找这些买家有哪些买了B产品,利用他们的打构建算B产品的产品向量,之后计算A、B的相似度。由于不会是所有的买家都购买了A产品,因此这种方法相较传统协同过滤算法大大缩减了向量长度,提高了效率。

协同过滤中相似度的计算是决定推荐准确度的关键因素之一,许多研究者提出了不同的相似度计算方法来提高推荐准确度。最传统的方法就是利用余弦相似度(cosine similarity, COS)和皮尔逊相关系数(Pearson correlation coefficient, PCC)[2],。传统皮尔逊像关系数(PPC)计算相似度的方法没有考虑两用户购买打分的同一产品的数量,两用户购买的相同产品数量越多,相似度应该越大越可信。比如A用户买了3个产品,B用户买10个产品,C用户买了4个产品,A、B都购买了a、b产品,且打分相同,A、C都购买了a、b、c三个产品,且打分也相同。传统皮尔逊相关系数算出来A和B、C两人的相似度是一样的,然而显然A和C应该更相似。为此,提出了加权皮尔逊相关系数(weighted Pearson correlation coefficient, WPCC)[3],将用户之间购买打分的相同产品数量作为权重的因子,这样两用户购买的相同产品数量越多,权重就越大。对于传统余弦相似度(COS),没有考虑到用户的打分偏好,同样的产品体验,有些用户喜欢打高分,而由些用户打分比较严厉,打分偏低。对此,Ahn[4]提出了调整的余弦相似度(adjusted cosine similarity, ACOS),对用户向量中的每一个元素都减去该用户打分的均值(未打分的置0)进行中心化,再计算两向量的余弦值。Ahn还考虑了更多因素,将相似度的测量分解为了三个因子:接近度(proximity)、影响力(impact)和大众性(popularity),提出了PIP(Proximity-Impact-Popularity)相似度。接近度(proximity)指若用户A打分5,B打分3,C打分1,他们之间的分数差都为2,但5和3是相对正面的评价,而1是负面评价,需要对其有一个惩罚量,因此B和A要更相似,接近度更高;影响力(impact)指用户对某一产品的喜爱或讨厌的强烈程度,若A、B两用户都打5分,C、D两用户都打3分,则A、B在一个更高的打分偏好上获得了一致,因此认为他们相比C、D具有更高的影响力(impact);大众性(popularity)指若A、B、C用户都对某一产品打4分,但A、B两用户共同打分产品分数均值为3,B、C两用户共同打分的产品分数均值为2,则表明B、C表现出了更多的与平均大众的不同,应有更高的相似性。

PIP方法计算一对用户在某一产品上的接近度(proximity)、影响力(impact)和大众性(popularity),将这三个因子相乘得到这对用户在该产品上的相似度,然后循环所有产品,将这对用户在所有产品上的相似度累加得到这对用户最终的PIP相似度。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版