一种基于用户组的多反馈协同过滤推荐方法技术

技术编号:15542632 阅读:92 留言:0更新日期:2017-06-05 11:29
本发明专利技术公开了一种基于用户组的多反馈协同过滤推荐方法,涉及推荐系统领域及机器学习领域。该方法的包括如下步骤:步骤一:对用户‑物品的互动数据进行预处理,使用余弦相似度计算用户间的距离;步骤二:融合距离矩阵,使用K‑Medoids算法分类并得到k个簇;步骤三:在每个簇内单独运行BPR MF算法得到个性化排名,再根据KNN算法生成top‑N推荐。本发明专利技术提供的基于用户组的多反馈协同过滤推荐算法融合了多种用户的反馈数据,包括用户的显性反馈,如评分数据,还包括用户的隐性反馈,如用户浏览数据等。相比与传统的协同过滤推荐算法只考虑到了单一的用户反馈,本文的推荐算法能够更好的缓解数据稀疏性问题,并采用基于学习的贝叶斯个性化推荐算法,通过梯度下降来学习BPR,能够很好的提高推荐系统的准确度。

A multiple feedback collaborative filtering recommendation method based on user group

The invention discloses a multiple feedback collaborative filtering recommendation method based on a group of users, which relates to the field of recommender systems and the field of machine learning. The method comprises the following steps: step one: interactive data to the user items are pre processed using cosine similarity calculation the distance between users; step two: the fusion distance matrix, using the K Medoids algorithm and K clusters; step three: in each cluster single run BPR MF algorithm personalized ranking, according to the KNN algorithm to generate top N recommendation. Multi user group feedback collaborative filtering recommendation algorithm combines multiple user feedback based on the data provided by the invention, including explicit user feedback, such as rating data, including the user's implicit feedback, such as user browsing data etc.. Compared with the traditional collaborative filtering recommendation algorithms only consider a single user feedback, the recommendation algorithm can better alleviate the data sparsity problem, and uses Bayesian learning based personalized recommendation algorithm, the gradient descent learning BPR, can improve the recommendation system very good accuracy.

【技术实现步骤摘要】
一种基于用户组的多反馈协同过滤推荐方法
本专利技术公开了一种基于用户组的多反馈协同过滤推荐方法,具体为根据用户多反馈按照聚类形成K个簇,在用户组里生成个性化推荐列表,涉及推荐系统领域及机器学习领域。
技术介绍
随着信息技术和互联网的快速发展,人们逐渐从信息匮乏的时代走进了信息过载的时代。为了解决信息过载问题,强大的搜索引擎应运而生,使得人们可以在海量的信息中找到自己想要的内容,与搜索引擎一样,推荐系统也可以帮助用户发现有用的信息,并且用户不再是被动的网页浏览者,而逐步成为了主动参与者。近年来,推荐系统受到了越来越多的互联网巨头以及电商的青睐,尤其是个性化推荐技术的发展,对改善用户体验和提高服务质量起到了重要的作用。当前主要的推荐系统主要包括基于关联规则的推荐系统、基于内容的推荐系统、协同过滤系统以及混合推荐系统。基于关联规则的推荐以项目之间的关联规则为基础,通过数据挖掘发现项目之间的潜在关联以实施连带推荐,但是当数据量非常大的时候,此推荐算法的计算复杂度将会随之升高;基于内容的推荐系统首先提取推荐对象的内容特征,其次将产品特征与用户兴趣偏好匹配,将匹配度较高的产品向用户实施推荐,由于多媒体资源目前还没有有效的特征提取方法,因此基于内容的推荐系统会受推荐对象特征提取能力的限制;关于协同过滤推荐,首先找到与目标用户兴趣偏好相似的最近邻居集,然后根据这个最近邻居集对项目的评分来预测目标用户未评分项目的评分,选择预测评分最高的N个项目作为推荐结果反馈给用户,该推荐算法能够发现用户尚未发现且潜在的兴趣偏好,尽管如此,协同过滤推荐算法仍然面临着冷启动、稀疏性、精确性、扩展性等问题;混合推荐系统即通过组合不同的推荐策略,达到扬长避短的目的,从而产生更符合用户需求的推荐,可是混合推荐系统在实际应用中面临着许多困难,它需要解决不同推荐技术的难题进行有机推荐。综上所述,随着用户和项目(物品)数量的急剧上升,传统的推荐系统面临着巨大的挑战,包括冷启动问题、评分矩阵稀疏性问题等,尤其是原始用户-项目评分矩阵较高的稀疏性严重的影响了推荐质量。与此同时,传统的推荐算法大都只考虑了评分这项单一因素,并未结合社交网络分析理论的知识,忽略了用户社交关系、项目关联属性以及一些上下文信息(地理位置、情感因素),这在一定程度上降低了推荐的准确度、新颖度和覆盖度。另外,用户在浏览或购买产品时,形成了用户和产品之间的链接关系,可以把这种链接关系看作是社交网络关系,再通过社交网络分析方法,考察节点之间(用户之间或者产品之间)的相关性,并依此进行推荐。
技术实现思路
本专利技术旨在解决以上问题,针对传统协同过滤推荐算法采用单反馈用户-物品评分数据集,计算用户相似性。提出一种能够提高推荐系统准确度的基于用户组的多反馈协同过滤推荐方法,本专利技术的技术方案如下:一种基于用户组的多反馈协同过滤推荐方法,其包括以下步骤:步骤一:对用户-物品的互动数据进行预处理,使用余弦相似度计算用户间的距离;步骤二:融合距离矩阵,使用K-Medoids算法分类并得到K个簇;步骤三:在每个簇内单独运行BPRMF算法得到个性化排名,根据KNN算法生成top-N推荐。进一步,在步骤一中,用户-物品互动数据作为算法的输入,如果同时考虑评分数据和标签数据,将会有两个矩阵输入。数据预处理包括以下3个步骤。(1)用离散值(1,2,3,4,5)表示用户对项目的偏爱程度。(2)数值表示用户浏览项目的次数(3)布尔值(0或1)表示用户是否给项目打过标签。进一步,在步骤二中,融合距离矩阵,包括以下步骤:(1)通过计算用户间的兴趣距离,根据距离融合公式融合用户兴趣距离得到大小为|U|×|U|的距离矩阵。(2)融合距离的公式:其中Ni表示互动类型的数量,λ*表示平衡不同互动类型的权重系数,定义如下:Nu和Nv分别表示用户u和用户v互动次数,Nuv表示用户u和v共同互动的次数。进一步,在步骤二中,使用K-Medoids算法分类并得到k个簇,包括以下步骤:(1)初始化,从N个数据集中随机选取K个数据作为中心点;(2)将待聚类的数据点集中的点,指派到最近的中心点;(3)进入迭代,知道聚类的质量满足制定的阈值,使总代价减少;(4)对于每一个中心点o和非中心点p,执行如下计算步骤;1.交换点o和p,重新计算交换后的该划分所生成的代价值;2.如果本次交换造成代价增加,则取消交换。进一步,在步骤三中,在每个簇内单独运行BPRMF算法过程如下:(1)将用户对物品的评分(显式反馈“1”,隐式反馈“0”)处理为pair对集<i,j>其中i为评分为1的物品,j为评分为“0”的物品。假设用户有M个“1”的评分,N个“0”的评分,则该用户共有M×N个pair对。这样数据集就由三元组<u,i,j>表示,该三元组的物理含义为:相对于物品j,用户u更喜欢物品i。(2)极大化如下目标其中θ为所求模型,具体包括用户隐含因子矩阵P,及表达物品的隐含因子矩阵Q。(3)使用随机梯度下降法学习BPR,使得BPR-OPT达到最优。进一步,在步骤三中根据KNN算法生成top-N推荐过程如下:(1)计算用户u和v之间的相似度(2)计算用户u对物品i的兴趣其中S(u,K)用户u最接近的K个用户,N(i)表示对物品i有过行为的用户集。附图说明图1为参照本专利技术的一种实施方式的一种基于用户组的多反馈协同过滤推荐方法流程图;图2为本专利技术原始数据预处理流程图;图3为本专利技术提出的融合用户距离生成大小为|U|×|U|用户-用户距离矩阵;图4为本专利技术一个优选实例的聚类结果图;具体实施方式下面结合附图给出一个非限定的实施例对本专利技术作进一步的阐述。这些描述只是示例的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。如图1所示为本专利技术的实例方法流程图,包括:用户-项目互动数据集、计算用户间的兴趣距离、融合用户兴趣距离生成距离矩阵、使用K-Medoids算法生成K个簇、在每个簇内运行BPRMF算法、生成个性推荐列表。本专利技术的实例主要包括如下3个步骤:步骤一:对用户-物品的互动数据进行预处理,使用余弦相似度计算用户间的距离;步骤二:融合距离矩阵,使用K-Medoids算法分类并得到k个簇;步骤三:在每个簇内单独运行BPRMF算法得到个性化排名,再根据KNN算法生成Top-N推荐。上述步骤一:对用户-物品的互动数据进行预处理及用户间距离计算照图2所示,具体可以分以下几个步骤。(1)从存储数据集文件中读入每一行原始记录数据,取出用户ID(UserID)、项目ID(ItemID)和评分值(Value),将某一用户评价过的所有物品及评分都集中在一条记录中,形成键/值对(K/V结构)的形式。输出结果以UserID作为键,<ItemID,Value>数组为值,形式为(UserID,<ItemID,Value>)。(2)收集所有项目的被评分记录,以便与接下来项目评分偏差的计算。这个阶段的数据输入为(UserID,Listofrateditems),将该数据拆成为以ItemID为键,<UserID,Value>为值的对,最后输出(ItemID,listofusersandr本文档来自技高网
...
一种基于用户组的多反馈协同过滤推荐方法

【技术保护点】
一种基于用户组的多反馈协同过滤推荐方法,其特征在于:包括以下步骤:步骤一:对用户‑物品的互动数据进行预处理,使用余弦相似度计算用户间的距离;步骤二:融合距离矩阵,使用K‑Medoids算法分类并得到k个簇;步骤三:在每个簇内单独的运行BPR MF算法,得到个性化推荐列表。

【技术特征摘要】
1.一种基于用户组的多反馈协同过滤推荐方法,其特征在于:包括以下步骤:步骤一:对用户-物品的互动数据进行预处理,使用余弦相似度计算用户间的距离;步骤二:融合距离矩阵,使用K-Medoids算法分类并得到k个簇;步骤三:在每个簇内单独的运行BPRMF算法,得到个性化推荐列表。2.如权利要求1所述的一种基于用户组的多反馈协同过滤推荐方法,其特征在于:在步骤一中,用户-物品的互动数据不仅包括了用户的显性反馈还包含隐性反馈,计算出用户间兴趣距离。3.如权利要求2所述根据用户-物品多反馈,计算用户间的兴趣距离。其中距离4.如权利要求1所述的一种基于用户组的多反馈协同过滤推荐方法,其特征在于:在步骤二中,融合距离矩阵,使用K-Medoids算法分类并得到k个簇:(1)通过计算用户间的兴趣距离,根据距离融合公式融合用户兴趣距离得到;大小为|U|×|U|的距离矩阵,融合距离的公式为其中Ni表示互动类型的数量,λ*表示平衡不同互动类型的权重系数,定义如下:Nu和Nv分别表示用户u和用户v互动次数,Nuv表示用户u和v共同互动的次数。(2)根据距离矩阵,使用K-Medoid算法计算两个数据集...

【专利技术属性】
技术研发人员:张刚周宇红胡恒段志杰陈格刘魁
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1