一种基于双聚类填充的协同过滤方法技术

技术编号:14399367 阅读:88 留言:0更新日期:2017-01-11 12:39
本发明专利技术涉及一种基于双聚类填充的协同过滤方法。包括基于双聚类的缺失项填充:对于每个缺失项在整个原始评分矩阵中找出所有包含该缺失项的子矩阵,计算所有子矩阵的平均平方残差Hmin(m,n),根据平均平方残差最小的子矩阵估计缺失项的值;基于用户的协同过滤推荐:分别赋予原始数据和填充数据以不同的可靠性权重,根据所述可靠性权重计算目标用户和其他用户之间的相似度,将与目标用户最相似度最高的若干个用户的集合作为目标用户的最近邻集合,根据目标用户的最近邻集合的评分信息预测目标用户对商品的评分;针对每个用户,向其推荐评分最高的若干个商品。本发明专利技术引入了可靠性矩阵区分真实评分项和填充项改进相似度函数及预测评分函数,改善了评分矩阵数据稀疏性带来的影响。

【技术实现步骤摘要】

本专利技术属于协同过滤推荐领域,具体涉及一种基于双聚类填充的协同过滤方法
技术介绍
随着因特网和电子商务的迅猛发展,网站的信息急剧增加,人们想要从海量的数据中快速定位到自己的需要的信息变得愈加困难。人们身处数据的海洋中却仍然承受着信息的匮乏,信息超载的现象越来越加严重。在此背景下个性化推荐系统日益受到重视。数据稀疏性是协同过滤面临的最大挑战,在实际的商业推荐系统中,用户和项目的数量十分的庞大,而用户往往只在很少的项目上有评分记录,从而导致实际的评分矩阵非常的稀疏,通常商业推荐系统的评价矩阵稀疏度超过99%以上。在评分矩阵数据稀疏的情况下用户共同标注的项目数非常少,从而导致对于目标用户找不到足够而有效的最近邻居集合进而影响推荐质量。针对数据稀疏性问题,本专利技术提出了基于双聚类填充的协同过滤算法。算法首先对评分矩阵中的缺失值应用双聚类算法进行填充,经过填充后评分矩阵的稠密度增加,并引入了可靠性矩阵以区分原始值和填充值。之后结合基于用户的协同过滤算法对目标用户和目标项目进行预测评分。推荐技术中基本分为两类:基于记忆的和基于模型的。其中基于模型的协调过滤方法采用机器学习算法或其他技术学得到一个模型,运行时只需要预计算模型就能进行预测。基于记忆的技术则直接通过保存在内存中的评分数据进行计算直接得到推荐结果。基于记忆的方法由于使用全部数据能获得较基于模型的方法更高的推荐精度,但是由于计算量巨大因此会遇到可扩展性问题。基于记忆的技术中分为基于用户的协调过滤和基于项目的协调过滤,基于项目的协调过滤首先构建一个项目间相似度矩阵,运行时通过确定与目标项目最相似的项目并计算目标用户对这些近邻的物品的评分的加权总和得到目标用户对目标项目的评分。基于用户的协同过滤则是首先查找和目标用户最相似度额相似邻居用户集合,然后根据相似邻居用户集合对项目的的评分预测目标用户对目标项目的评分。基于项目的协调过滤在大数量级时推荐速度很快,但是推荐精度不如基于用户的协调过滤方法高,基于用户的协调过滤方法能获得较高的推荐准确度。在协同过滤算法由于不需要考虑项目的内容、易于实现等特点被广泛应用于电影推荐、音乐推荐以及电子商务等领域。协同过滤的原理是首先为目标用户找出一组与之偏好一致的邻居用户集合,然后对邻居用户进行分析,把邻居用户感兴趣的项目推荐给目标用户。如今许多大型网站如亚马逊、豆瓣FM等都应用了协同过滤技术为用户提供个性化服务。传统基于用户协同过滤算法是基于这样的假设:如果用户对一些项目的评分相似,那么他们的兴趣就是相似的,因此这些用户对其他项目的评分也会相似。通过对目标用户计算查找其相似邻居集合,并根据近邻集合对目标用户推荐。算法包含两个部分:(1)相似度函数:常用的相似度计算函数有余弦相似度、相关相似度等。其中基于用户的协同过滤算法常用相关相似度函数。具体公式如(1)所示:sim(ua,ub)=(Σj∈S(raj-ra‾)·(rbj-rb‾)Σj∈S(raj-ra‾)2Σj∈S(rbj-rb‾)2)---(1)]]>其中raj表示用户ua对项目lj的评分,rbj表示用户ub对项目lj的评分,和分别表示用户ua和ub对项目的评分均值。(2)预测评分函数:在通过公式(1)获得目标用户的相似近邻集合后,对于目标项目通过如公式(2)所示的预测评分函数预测其评分值。pred(ua,lj)=ra‾+Σui∈Nsim(ua,ui)·(rij-ri‾)Σui∈Nsim(ua,ui)---(2)]]>其中ua是目标用户、N是其最近邻居集合,是用户i的评分均值。由于用户评分的记录数很少,导致评分数据极端稀疏,协同过滤的稀疏性问题会导致推荐质量下降,对于新用户没有该用户对项目的任何评分记录,因而无法为其匹配与其兴趣相似的最近邻居。
技术实现思路
针对现有技术中存在的上述不足之处,本专利技术要解决的技术问题是提供一种基于双聚类填充的协同过滤方法,在传统基于用户协同过滤算法的基础上,采用双聚类算法对原始评分矩阵进行预测填充以增加数据的稠密度,通过增加矩阵的稠密度使得困扰协同过滤算法的稀疏性问题得到了改善。本专利技术为实现上述目的所采用的技术方案是:一种基于双聚类填充的协同过滤方法,包括以下步骤:基于双聚类的缺失项填充:对于每个缺失项在整个原始评分矩阵中找出所有包含该缺失项的子矩阵,计算所有子矩阵的平均平方残差Hmin(m,n),根据平均平方残差最小的子矩阵估计缺失项的值;基于用户的协同过滤推荐:分别赋予原始数据和填充数据以不同的可靠性权重,根据所述可靠性权重计算目标用户和其他用户之间的相似度,将与目标用户最相似度最高的若干个用户的集合作为目标用户的最近邻集合,根据目标用户的最近邻集合的评分信息预测目标用户对商品的评分;针对每个用户,向其推荐评分最高的若干个商品。所述子矩阵至少为5行5列。所述计算所有子矩阵的平均平方残差Hmin(m,n),具体为:Hmin(m,n)=A1+A2+A3+A4-A5(1)A1=1mnΣp∈UΣq∈V(rpq+SUMmn-1nΣt=1nrpt-1mΣs=1mrsq)2---(2)]]>A2=1mnΣq∈V(riq+SUMmn-1nΣt∈Vrit-1mΣs=1mrsq)2---(3)]]>A3=1mnΣq∈U(rpj+SUMmn-1mΣs∈Ursj-1nΣt=1nrpt)2---(4)]]>A4=1mn(SUMmn-1nΣt∈Vrit-1mΣs∈Ursj)2---(5)]]>A5=(m-1)(n-1)m2n2(1(m-1)(n-1)Σp∈UΣq∈Vrpq-1n-1Σt∈Vrit-1m-1Σs∈Ursj)2---(6)]]>其中,A为仅包含一个缺失项的子矩阵。A1、A2、A3、A4、A5分别为子矩阵A中的计算式、m为A的行总数、n为A的列总数、SUM为子矩阵A中所有非缺失项数目的总和、集合U={1,2,…,i-1,i+1,…,m本文档来自技高网
...
一种基于双聚类填充的协同过滤方法

【技术保护点】
一种基于双聚类填充的协同过滤方法,其特征在于,包括以下步骤:基于双聚类的缺失项填充:对于每个缺失项在整个原始评分矩阵中找出所有包含该缺失项的子矩阵,计算所有子矩阵的平均平方残差Hmin(m,n),根据平均平方残差最小的子矩阵估计缺失项的值;基于用户的协同过滤推荐:分别赋予原始数据和填充数据以不同的可靠性权重,根据所述可靠性权重计算目标用户和其他用户之间的相似度,将与目标用户最相似度最高的若干个用户的集合作为目标用户的最近邻集合,根据目标用户的最近邻集合的评分信息预测目标用户对商品的评分;针对每个用户,向其推荐评分最高的若干个商品。

【技术特征摘要】
1.一种基于双聚类填充的协同过滤方法,其特征在于,包括以下步骤:基于双聚类的缺失项填充:对于每个缺失项在整个原始评分矩阵中找出所有包含该缺失项的子矩阵,计算所有子矩阵的平均平方残差Hmin(m,n),根据平均平方残差最小的子矩阵估计缺失项的值;基于用户的协同过滤推荐:分别赋予原始数据和填充数据以不同的可靠性权重,根据所述可靠性权重计算目标用户和其他用户之间的相似度,将与目标用户最相似度最高的若干个用户的集合作为目标用户的最近邻集合,根据目标用户的最近邻集合的评分信息预测目标用户对商品的评分;针对每个用户,向其推荐评分最高的若干个商品。2.根据权利要求1所述的一种基于双聚类填充的协同过滤方法,其特征在于,所述子矩阵至少为5行5列。3.根据权利要求1所述的一种基于双聚类填充的协同过滤方法,其特征在于,所述计算所有子矩阵的平均平方残差Hmin(m,n),具体为:Hmin(m,n)=A1+A2+A3+A4-A5(1)A1=1mnΣp∈UΣq∈V(rpq+SUMmn-1nΣt=1nrpt-1mΣs=1...

【专利技术属性】
技术研发人员:汪家升宋宏周晓锋郝胜轩陈喆
申请(专利权)人:中国科学院沈阳自动化研究所
类型:发明
国别省市:辽宁;21

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

1