基于覆盖约简的个性化用户协同过滤推荐方法与流程

文档序号:15462607发布日期:2018-09-18 18:32阅读:137来源:国知局
本发明涉及推荐系统领域,尤其涉及一种可提高推荐精确度且具有多样性的基于覆盖约简的个性化用户协同过滤推荐方法。
背景技术
:推荐系统能够通过用户的个人信息智能地感知用户的兴趣或需求,实现信息的高质量推荐,有效地解决了“信息过载”问题。用户协同过滤算法是推荐系统领域应用最广泛、最成功的技术之一,其假设如果用户在过去有相似的爱好,那么他们在将来也可能有相似的爱好,具有计算简单、效率及精度高等优点。但是,现有的用户协同过滤算法中,目标用户的邻近用户趋于拥有相同的爱好,所以通过这些邻近用户获得的预测评分高的物品往往集中于少量种类的物品,甚至仅仅是流行物品,因此其推荐的多样性往往不尽人意。技术实现要素:本发明是为了解决现有技术所存在的上述技术问题,提供一种可提高推荐精确度且具有多样性的基于覆盖约简的个性化用户协同过滤推荐方法。本发明的技术解决方案是:一种基于覆盖约简的个性化用户协同过滤推荐方法,其特征在于依次按照如下步骤进行:步骤1.统计形成二维评分信息表:根据用户对物品的评分信息形成二维评分信息表RM={U,I,R∪{*}};所述二维评分信息表RM中,U表示用户的集合,I表示物品的集合,R∪{*}表示用户对物品的评分集合,其中*表示用户未对物品进行评分;令用户u∈U对物品i∈I的评分为ru,i∈R∪{*},并且用户u的平均评分为;θ为用户评分的阈值,如果ru,i≥θ,表明用户u喜欢物品i;用户u已评分的物品集合为Iu={i∈I|ru,i≠*};为用户u未评分的物品集合;物品属性矩阵为AM;在用户集合U中,如果存在用户a喜爱的物品集合包含于用户b喜爱的物品集合,那么用户a就称为目标用户的冗余用户;步骤2.利用覆盖约简算法对冗余用户进行约简:步骤2.1令物品集合I作为论域I,在论域I中,每个用户喜欢的物品组成一个集合;在物品属性矩阵AM中提取目标用户的喜爱属性:(1)式(1)中,m表示属性的数目,atm表示一个属性,avm表示属性atm的值;步骤2.2.利用获得的目标用户的喜爱属性,构建目标用户的决策集D,决策集D由具备喜爱属性的物品集合组成:(2)式(2)中,atm(i)=avm表示物品i在属性atm上的值为avm;步骤2.3.将论域I由物品集合缩减为目标用户的决策集D,即论域D;对于每一个用户u∈U,构建用户u在论域D上的喜爱物品集合Cu:(3)令C*=D-∪Cu,C={C1,C2…Cn,C*}构成了目标用户在论域D的一个覆盖C;步骤2.4利用覆盖约简算法,将冗余元素从覆盖C中约简,得到约简完毕后的覆盖reduct(C)及约简后的用户Ur:(4)步骤3.利用约简后的用户Ur构建目标用户au的候选邻近用户u;步骤4.计算目标用户和候选邻近用户的相似度,选取目标用户的邻近用户:利用皮尔森相似度量函数(5)计算目标用户au和候选邻近用户u∈Ur之间的相似度,(5)式(5)中,sim(au,u)表示目标用户au和候选邻近用户u∈Ur之间的相似度,Iau={i∈I|rau,i≠*}表示目标用户au评价过的物品集合,表示目标用户的平均评分值;然后选择相似度高的前K个候选邻近用户作为目标用户的邻近用户Nau(k);步骤5.对目标用户未评分物品进行预测评分:根据目标用户的邻近用户Nau(k)的评分信息,利用调整加权和函数(6)对目标用户au未评分的物品集合进行预测评分,得到目标用户的预测评分表;(6)式(6)中,Pau,i表示目标用户au对物品i的预测评分,Ui={u∈U|ru,i≠*}表示评价过物品i的用户集合;λ作为一个正则化因子:(7)步骤6.选取预测评分高的前N个物品作为推荐结果。本发明明确定义了目标用户的冗余用户的概念,根据覆盖粗糙集中覆盖约简可以移除冗余元素的功能,将目标用户的冗余用户移除,从而保证了目标用户的邻近用户的质量,从而利用这些高质量的邻近用户的评分信息实现为目标用户提供高精度和多样化的个性化推荐。附图说明图1为本发明实施例的流程示意图;图2为本发明实施例与对比例精确度度量(MAE和RMSE)随着目标用户的邻近用户数量的变化而相应的结果示意图。图3为本发明实施例与对比例多样性度量(Coverage)随着目标用户的邻近用户数量的变化而相应的结果示意图。具体实施方式本发明的一种基于覆盖约简的个性化用户协同过滤推荐方法,如图1所示依次按照如下步骤进行:步骤1.统计形成二维评分信息表:根据用户对物品的评分信息形成二维评分信息表RM={U,I,R∪{*}};所述二维评分信息表RM中,U表示用户的集合,I表示物品的集合,R∪{*}表示用户对物品的评分集合,其中*表示用户未对物品进行评分;令用户u∈U对物品i∈I的评分为ru,i∈R∪{*},并且用户u的平均评分为;θ为用户评分的阈值,如果ru,i≥θ,表明用户u喜欢物品i;用户u已评分的物品集合为Iu={i∈I|ru,i≠*};为用户u未评分的物品集合;物品属性矩阵为AM;在用户集合U中,如果存在用户a喜爱的物品集合包含于用户b喜爱的物品集合,那么用户a就称为目标用户的冗余用户;如:用户集合U={用户1,用户2,用户3,目标用户},物品集合I={物品1,物品2,物品3,物品4,物品5,物品6},评分R的取值范围为[1,5]。则二维评分信息表RM如表1所示:表1令用户评分的阈值等与3,评分大于等于3的物品作为用户的喜爱物品,由表1可知:用户1的喜爱物品为{物品2,物品4,物品6};用户2的喜爱物品为{物品4,物品6};用户3的喜爱物品为{物品2,物品3,物品6};目标用户的喜爱物品为{物品1,物品3,物品4};步骤2.利用覆盖约简算法对冗余用户进行约简:步骤2.1令物品集合I作为论域I,在论域I中,每个用户喜欢的物品组成一个集合;在物品属性矩阵AM中提取目标用户的喜爱属性:(1)式(1)中,m表示属性的数目,atm表示一个属性,avm表示属性atm的值;如令物品集合I={物品1,物品2,物品3,物品4,物品5,物品6}作为论域,表2表示物品的属性矩阵AM,根据表2和目标用户的喜爱物品集合,统计得到目标用户的喜爱物品所对应的属性值:喜剧=3,惊悚=2,动作=1,戏剧=1,音乐=1,选择统计值最大的两个属性作为目标用户的喜爱属性,则目标用户的喜爱属性为:[喜剧=1]∧[惊悚=1]∧[动作=0]∧[戏剧=0]∧[音乐=0]表2喜剧惊悚动作戏剧音乐物品110110物品211010物品311000物品411001物品500110物品611101步骤2.2.利用获得的目标用户的喜爱属性,构建目标用户的决策集D,决策集D由具备喜爱属性的物品集合组成:(2)式(2)中,atm(i)=avm表示物品i在属性atm上的值为avm;如用目标用户的喜爱属性:[喜剧=1]∧[惊悚=1]∧[动作=0]∧[戏剧=0]∧[音乐=0],构建目标用户的决策集D,该决策集由所有拥有(喜剧,惊悚)属性的物品构成,即:根据表2可得决策集D={物品2,物品3,物品4,物品6};步骤2.3.为了最大限度地消除目标用户的冗余用户,将论域I由物品集合缩减为目标用户的决策集D,即论域D;对于每一个用户u∈U,构建用户u在论域D上的喜爱物品集合Cu:(3)令C*=D-∪Cu,C={C1,C2…Cn,C*}构成了目标用户在论域D的一个覆盖C;如C1={物品2,物品4,物品6};C2={物品4,物品6};C3={物品2,物品3,物品6};则C={C1,C2,C3}就构成目标用户决策集D上的一个覆盖C;步骤2.4利用覆盖约简算法,将冗余元素从覆盖C中约简,得到约简完毕后的覆盖reduct(C);冗余元素约简完毕意味着目标用户的冗余用户已经全部删除,从而约简后的用户Ur:(4)由于C2⊂C1,根据覆盖约简算法,C2被称为冗余元素从覆盖C中移除,因此reduct(C)={C1,C3};用户2就被称为目标用户的冗余用户被移除所以约简后的用户Ur={用户1,用户3};步骤3.利用约简后的用户Ur构建目标用户au的候选邻近用户u,即目标用户的候选邻近用户为{用户1,用户3};步骤4.计算目标用户和候选邻近用户的相似度,选取目标用户的邻近用户:利用皮尔森相似度量函数(5)计算目标用户au和候选邻近用户u∈Ur之间的相似度,(5)式(5)中,sim(au,u)表示目标用户au和候选邻近用户u∈Ur之间的相似度,Iau={i∈I|rau,i≠*}表示目标用户au评价过的物品集合,表示目标用户的平均评分值;然后选择相似度高的前K个候选邻近用户作为目标用户的邻近用户Nau(k);即利用皮尔森相似度量函数分别计算目标用户和用户1,目标用户和用户3的相似度:sim(目标用户,用户1)=-0.76sim(目标用户,用户3)=-0.53如果选取相似度最高的两位候选邻近用户作为目标用户的邻近用户,则目标用户的邻近用户N目标用户(2)={用户3,用户1};步骤5.对目标用户未评分物品进行预测评分:根据目标用户的邻近用户Nau(k)的评分信息,利用调整加权和函数(6)对目标用户au未评分的物品集合进行预测评分,得到目标用户的预测评分表;(6)式(6)中,Pau,i表示目标用户au对物品i的预测评分,Ui={u∈U|ru,i≠*}表示评价过物品i的用户集合;λ作为一个正则化因子:(7)根据目标用户的邻近用户的评分信息,利用调整加权函数对目标用户未评分的物品5和物品6进行预测评分,结果如下:P目标用户,物品5=2.16P目标用户,物品6=4.93步骤6.选取预测评分值最高的一个物品作为推荐结果的话,物品6将推荐给目标用户。实验:(1)使用公开数据集使用推荐系统领域经常用来测试推荐系统性能的公开数据集MovieLens。该数据集包含943个用户,1682个电影和100000个评分,评分值分布为{1,2,3,4,5},每个用户至少对20个电影进行了评分。(2)评价度量本发明采用平均绝对误差MAE和均方根误差RMSE来度量算法的精确度,MAE和RMSE都是通过计算用户的实际评分和预测评分之间的偏差来度量推荐结果的精确度,因此,MAE和RMSE越小,推荐精度越高:(8)(9)采用覆盖度Coverage来度量算法的多样性。覆盖度指能够推荐给目标用户的物品种类占所有目标用户为评价物品种类的比例,因此,覆盖度Coverage越高,推荐越多样化。(10)式(10)中,,其中Su,i表示评价过物品i的用户u的邻近用户。(3)参数设置本发明采用皮尔森相似度量函数计算用户的相似度,使用调整加权函数对目标用户未评分的物品进行预测评分。选取目标用户最喜欢的前两个物品属性作为目标用户的喜爱属性。为了清楚地对比本发明与传统用户协同过滤算法,目标用户的邻近用户数量K∈{20,25,30,…,60}。将推荐物品的数量设定为{2,4,6,8,10,12}。(4)实验结果对比与分析本发明的基于覆盖约简的个性化用户协同过滤推荐方法用CBCF表示,传统的用户协同过滤算法用UBCF表示,图2显示了精确度度量MAE和RMSE的结果。通过图2数据可知,随着目标用户的邻近用户数目的增加,CBCF算法的MAE和RMSE结果一直小于UBCF算法的结果。由于MAE和RMSE越小,推荐精度越高,因此CBCF能够推荐比UBCF精度更高的物品。图3显示了多样性度量Coverage的结果,通过图3可知,随着目标用户的邻近用户数目的增加,CBCF算法的覆盖度明显大于UBCF的覆盖度。由于覆盖度Coverage越高,推荐越多样化,因此CBCF能够推荐比UBCF更加多样的物品。综合实验结果可知,本发明能够同时提供高精度和多样化的推荐结果,从而实现目标用户的个性化推荐。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1