当前位置: 首页 > 专利查询>车海莺专利>正文

一种基于混合协同过滤的推荐方法技术

技术编号:15864223 阅读:29 留言:0更新日期:2017-07-23 09:08
本发明专利技术公开了一种基于混合协同过滤的推荐方法,包括如下步骤:建立一个用户‑项目评分矩阵,使用优化奇异值分解的方法将用户‑项目矩阵分解成关于用户和关于项目的两个隐性因子矩阵;采用梯度下降法针对两个隐性因子矩阵不断迭代逼近最优目标参数;将两个隐性因子矩阵相乘,得到一个满秩的用户‑项目矩阵;在满秩的用户‑项目矩阵上,引入用户评分偏差和项目评分偏差,然后采用两种基于KNN的协同过滤算法相结合,分别获得基于项目的协同过滤预测评分和基于用户的协同过滤预测评分,将两种协同过滤预测评分加权求和得到用户对项目的预测评分,最终将预测评分最高的多个项目生成推荐列表给用户。

【技术实现步骤摘要】
一种基于混合协同过滤的推荐方法
本专利技术涉及推荐
,具体涉及一种基于混合协同过滤的推荐方法。
技术介绍
在瞬息万变的互联网时代,网络技术高速发展,与此同时,信息呈几何级数不断增长,每个用户在互联网中可获得的信息越来越多,信息量已经远远超出了人力的筛选范围。这意味着虽然信息量增大了,用户获取可用信息的效率却降低了。因此,如何在海量信息中为用户挑选其可能感兴趣的或者可能对用户有用的信息就成了一个重要的研究课题。为解决这个问题,推荐系统应运而生。推荐系统被用于向用户推荐产品,这些产品可以是最热门的产品,也可以是基于用户的人口统计学计算得出的结果,当然,最常用的方式还是基于用户的历史行为对用户的喜好进行预测。所以,推荐系统的工作可以看成是一个电商个性化的过程,因为它使得电商网站可以适应每一个用户的需求,为其提供特定的商品。过去,推荐系统仅仅被部分电商网站当做一个新奇的、小众的应用,如今,推荐系统已经变成了一个非常重要的商业工具,并在慢慢的改变互联网商业的格局。在工业界中,目前最常用的协同过滤推荐方式就是基于KNN的协同过滤推荐,然而,基于KNN的协同过滤调推荐最大的问题就是矩阵的稀疏性会导致预测结果精度的下降,而在实际的应用中,用户-项目的评分矩阵通常都是比较稀疏的,因此,很多推荐结果并不理想。
技术实现思路
有鉴于此,本专利技术提供了一种基于混合协同过滤的推荐方法,能够在用户-项目评分矩阵稀疏的情况下弥补矩阵稀疏性并产生较高质量的推荐结果。为了达到上述目的,本专利技术的技术方案包括如下步骤:步骤1、建立一个用户-项目评分矩阵,使用优化奇异值分解的方法将用户-项目矩阵分解成关于用户和关于项目的两个隐性因子矩阵。步骤2、采用梯度下降法针对两个隐性因子矩阵不断迭代逼近最优目标参数;步骤3、将两个隐性因子矩阵相乘,得到一个满秩的用户-项目矩阵。步骤4、在满秩的用户-项目矩阵上,引入用户评分偏差和项目评分偏差,然后采用两种基于KNN的协同过滤算法相结合,分别获得基于项目的协同过滤预测评分和基于用户的协同过滤预测评分,将两种协同过滤预测评分加权求和得到用户对项目的预测评分,最终将预测评分最高的多个项目生成推荐列表给用户。进一步地,步骤1中用户-项目评分矩阵中包括m个用户和n个项目,将该用户-项目评分矩阵进行奇异值分解,获得关于用户的隐性因子矩阵U和关于项目的隐性因子矩阵M;其中U为一个F×m阶矩阵,M为一个F×n阶矩阵,F为奇异值个数,即为隐性因子的个数。进一步地,最优目标参数为:ui=[ui1,ui2,…,uif,…,uiF],mj=[mj1,mj2,…,mjf,…,mjF];rij为实际评分;λ为预设的正则化约束平衡系数,di为设定的用户i的评分偏差,dj为设定的项目j的评分偏差;f∈[1,F],uif为矩阵U的第i行第f列的值,mif为矩阵M的第j行第f列的值。进一步地,用户对项目的预测评分为为用户i对项目j的预测评分,di为设定的用户i的评分偏差,dj为设定的项目j的评分偏差;f∈[1,F],uif为矩阵U的第i行第f列的值,mjf为矩阵M的第j行第f列的值。进一步地,基于项目的协同过滤预测评分为:通过用户u对与目标项目i相似的项目集合的实际评分来预测用户u对项目i的评分;基于用户的协同过滤预测评分为:通过相似用户对目标项目i的评分来预测用户u对项目i的评分。进一步地,采用MapReduce+Hadoop的方式完成KNN算法的并行化。有益效果:本专利技术提供一种基于混合协同过滤的推荐方法SVD&KNNHybridCollaborativeFiltering(SKHCF),包含:基于优化奇异值分解(SingularValueDecomposition,SVD)的矩阵填充技术和混合的基于KNN的协同过滤算法(HybridKNN-BasedCollaborativeFiltering,H-KNN),首先使用优化奇异值分解的方法将用户-项目矩阵分解成用户和项目两个隐性因子矩阵,采用梯度下降法不断迭代逼近最优目标参数,再将两个矩阵相乘,得到一个满秩的用户-项目矩阵,随后在满秩矩阵上采用H-KNN算法,预测用户对项目的评分,最终产生给目标用户的推荐列表。本专利技术一方面,利用基于混合协同过滤的推荐方法,解决了传统协同过滤中由于用户-项目评分矩阵相对稀疏而造成的推荐结果不准确、推荐精度不高的问题;另一方面,形成了一套切实可行的系统方案,对于符合条件的输入,均可以产生相对较优的推荐结果。具体实施方式下面结合实施例对本专利技术进行详细描述。实施例1、本实施例提供了一种基于混合协同过滤的推荐方法,包括如下步骤:步骤1、建立一个用户-项目评分矩阵,使用优化奇异值分解的方法将用户-项目矩阵分解成关于用户和关于项目的两个隐性因子矩阵;本实施例中,用户-项目评分矩阵中包括m个用户和n个项目,将该用户-项目评分矩阵进行奇异值分解,获得关于用户的隐性因子矩阵U和关于项目的隐性因子矩阵M;其中U为一个F×m阶矩阵,M为一个F×n阶矩阵,F为奇异值个数,即为隐性因子的个数。步骤2、采用梯度下降法针对两个隐性因子矩阵不断迭代逼近最优目标参数;本实施例中,最优目标参数为:ui=[ui1,ui2,…,uif,…,uiF],mj=[mj1,mj2,…,mjf,…,mjF];rii为实际评分;λ为预设的正则化约束平衡系数,di为设定的用户i的评分偏差,dj为设定的项目j的评分偏差;f∈[1,F],uif为矩阵U的第i行第f列的值,mjf为矩阵M的第j行第f列的值。步骤3、将两个隐性因子矩阵相乘,得到一个满秩的用户-项目矩阵;步骤4、在满秩的用户-项目矩阵上,引入用户评分偏差和项目评分偏差,然后采用两种基于KNN的协同过滤算法相结合,分别获得基于项目的协同过滤预测评分和基于用户的协同过滤预测评分,将两种协同过滤预测评分加权求和得到用户对项目的预测评分,最终将预测评分最高的多个项目生成推荐列表给用户。采用奇异值分解的方式完成矩阵填充后,接下来就要利用H-KNN算法产生推荐结果。H-KNN算法的主要工作有两个,分别是查询相似的邻居和预测项目评分。其中最重要的步骤就是查询相似邻居,在查询相似邻居前需要构建一个用户-项目的二维矩阵。H-KNN算法实质上是两种基于KNN的协同过滤算法的结合,即基于项目的协同过滤和基于用户的协同过滤。其中,基于项目的协同过滤通过用户u对与目标项目i相似的项目集合的实际评分来预测用户u对项目i的评分;而基于用户的协同过滤通过相似用户对目标项目i的评分来预测用户u对项目i的评分。两种不同方式预测的用户u对项目i的评分都能作为最终结果直接展示,而为了得到更准确的结果,此处引入加权因子t,对两种预测评分进行加权求和,在所有的预测分值中选取Top-N生成推荐列表。其具体公式如下所示。ru,i=t×ru+(1-t)×ri其中,t为引入的控制参数,取值范围为[0,1],取值间隔为0.1,理论上经实验后t可取到在特定数据集上的最优值,如果实验条件允许,还可以适当减小取值间隔,得到更理想的t值。ru为采用基于用户的协同过滤算法得到的目标用户对某一项目的评分,ri为采用基于项目的协同过滤算法得到的目标用户对某一项目的评分。当t值为0时,仅考虑基于用户的协本文档来自技高网...

【技术保护点】
一种基于混合协同过滤的推荐方法,其特征在于,包括如下步骤:步骤1、建立一个用户‑项目评分矩阵,使用优化奇异值分解的方法将用户‑项目矩阵分解成关于用户和关于项目的两个隐性因子矩阵;步骤2、采用梯度下降法针对两个隐性因子矩阵不断迭代逼近最优目标参数;步骤3、将两个隐性因子矩阵相乘,得到一个满秩的用户‑项目矩阵;步骤4、在满秩的用户‑项目矩阵上,引入用户评分偏差和项目评分偏差,然后采用两种基于KNN的协同过滤算法相结合,分别获得基于项目的协同过滤预测评分和基于用户的协同过滤预测评分,将两种协同过滤预测评分加权求和得到用户对项目的预测评分,最终将预测评分最高的多个项目生成推荐列表给用户。

【技术特征摘要】
1.一种基于混合协同过滤的推荐方法,其特征在于,包括如下步骤:步骤1、建立一个用户-项目评分矩阵,使用优化奇异值分解的方法将用户-项目矩阵分解成关于用户和关于项目的两个隐性因子矩阵;步骤2、采用梯度下降法针对两个隐性因子矩阵不断迭代逼近最优目标参数;步骤3、将两个隐性因子矩阵相乘,得到一个满秩的用户-项目矩阵;步骤4、在满秩的用户-项目矩阵上,引入用户评分偏差和项目评分偏差,然后采用两种基于KNN的协同过滤算法相结合,分别获得基于项目的协同过滤预测评分和基于用户的协同过滤预测评分,将两种协同过滤预测评分加权求和得到用户对项目的预测评分,最终将预测评分最高的多个项目生成推荐列表给用户。2.如权利要求1所述的一种基于混合协同过滤的推荐方法,其特征在于,所述的步骤1中所述用户-项目评分矩阵中包括m个用户和n个项目,将该用户-项目评分矩阵进行奇异值分解,获得关于用户的隐性因子矩阵U和关于项目的隐性因子矩阵M;其中U为一个F×m阶矩阵,M为一个F×n阶矩阵,F为奇异值个数,即为隐性因子的个数。3.如权利要求2所述的一种基于混合协同过滤的推荐方法,其特征在于,所述最优目标参数为:

【专利技术属性】
技术研发人员:车海莺
申请(专利权)人:车海莺
类型:发明
国别省市:北京,11

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

1