基于协同过滤的智能书籍推荐系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

评委一评分,签名及备注队号:20038评委三评分,签名及备注评委二评分,签名及备注选题:B评委四评分,签名及备注题目:基于协同过滤的智能书籍推荐系统摘要随着信息技术和互联网的迅速发展,人们逐渐从信息匮乏的时代走入了信息过载的时代,对于信息消费者来说,从大量信息中找到自己感兴趣的信息是非常困难的事情;而对于信息生产者来说,让自己生产的信息脱颖而出,受到广大用户的关注,也是非常困难的事情。为了解决这一矛盾,建立了基于主成分分析的去相关模型、预测书籍评分模型、协同过滤推荐模型,解决了用户从众多书籍中找出优质图书的难题。针对问题一:依据相关性理论,建立了基于主成分分析的去相关模型,得到了影响用户对书籍评价的主要因素。首先对给出的数据进行分析和筛选,找出可能会对书籍评分产生影响的因素。其次,建立主成分分析的去相关模型,研究所选因素是否能够科学、准确地影响对书籍的评价。最后,通过分析得出影响用户对书籍评价的因素为书籍标签数和间接关注度(关注好友)。针对问题二:依据线性回归理论,建立了预测书籍评分模型,可预测出用户对书籍的评分。首先建立预测用户和已评用户的评分矩阵,对每本书引入阅读特征),()(21xxix,对每一个用户引入一个参数,对评分矩阵逐列进行线性回归,得到的矩阵再由梯度下降法优化,求得模型参数'。其次,参数'和两个特征进行内积,建立最终的预测书籍评分模型,并用该模型预测附件中指定的六个人对各自六种不同书籍的评分。最后,通过比较预测评分与所给评分,进行误差分析,得到模型预测值较精确。针对问题三:依据协同过滤技术,建立了协同过滤推荐模型,可给用户推荐感兴趣的书籍。首先根据问题二得到用户对书籍的评分,创建所有已有评分的系数矩阵。其次,通过比较改进的余弦相似矩阵和皮尔逊相似矩阵的MAE值,得到被推荐用户相似性最大的若干用户。最后根据相似性最大用户所看过的书籍,给出被推荐用户感兴趣的书籍。最后,分析了模型的优缺点。本文运用协同过滤技术为对评分和书籍推荐系统进行了研究,对用户成功推荐了书籍。另外,本文建立的数学模型具有较强的“可移植性”,可推广到网络、媒体、影视等领域。关键字:主成分分析,回归预测,协同过滤,相似矩阵-1-基于协同过滤的智能书籍推荐系统1.问题重述与分析随着信息技术和互联网的不断发展,大量的信息涌现在我们面前。用户面对这些信息很难找到自己真正感兴趣的内容,而信息提供商也很难把优质的信息准确传达给感兴趣的用户。因此,研究书籍评分的问题对信息提供商为用户推荐优质的图书有着非常重要的应用价值。问题一要求找出影响用户对书籍评分的因素。需要挖掘题目所给文字信息和数据库信息,对给出的数据进行合理的分析、筛选,找出可能会对书籍评分产生影响的因素,通过建立模型,研究所选因素是否能影响用户对书籍的评价。问题二要求预测predict.txt附件中的用户对未看过书籍的评分。依据第一问找出的影响用户对书籍评分的因素,作为参数,建立基于项目的评分预测模型,并求出评分。问题三要求给每个用户推荐三本没看过的书籍。从用户的角度考虑,应该关注与他兴趣爱好相似的人所看过的书籍,从中间找出评分比较高的书籍作为用户最终推荐的书籍。因此,要解决如何更好地找出与该用户相似度高的其他用户。2.模型假设(1)通过数据挖掘,本文仅考虑标签数、关注度、书被翻阅次数三个可能的因素,不考虑其他的因素;(2)好友关系是单向的;(3)用户没有评分的项目均将评分假设为其所在行的平均值;(4)不考虑原始数据的缺失问题。3.符号说明ijR:相关系数ix:1i表示书签1,2i表示书签2MAE:平均绝对偏差xysim:用户xi和项目yi之间的相似度ya,P:目标用户对为未评分目标的预测分数uNBS:用户u的最近邻居集合nR:用户u和用户n对项目的平均评分4.模型的建立与求解4.1基于主成分分析的去相关模型4.1.1相关性理论主成分分析法【1】是一种通过降维技术把多个变量化为少数几个主成分(即综合变量)的统计分析方法。其中每个主成分都是原始变量的线性组合,各主成分之间互不相关,从而这些主成分能够反映原始变量的绝大部分信息,且所含的信息互不重叠。采用这种方法可以克服单一的理化指标不能真实反映用户对书籍评-2-分的全面特征的缺点,引进多方面的理化指标,但又将复杂因素归结为几个主成分,使得复杂问题得以简化,同时找出更为科学、准确的影响书籍评价的因素。首先,根据题目所给数据,找出可能影响用户对书籍评分的因素即:1、某本书被用户翻阅过的次数;2、间接关注度(用户社交所体现的某本书的关系数据);3、书籍的标签数。其次,对找出的三个因素进行整体检验,即对整个评价体系中的每一个元素(即单项评价指标)进行可行性、正确性、真实性三个方面进行分析。(所谓可行性,是指该指标的数值能否正确获得,那些无法或很难取得准确资料的指标,或者即使能取得但花费很高,都是不可行的,)所谓正确性,则是指指标的计算方法和计算范围及计算内容应该科学。所谓真实性,主要是分析特定综合评价数据资料的质量高低,是否符合特定综合评价方法的需要。最后,将综合评价指标体系的度量对象划分成若干个不同组成部分或不同侧面(即子系统),并逐步细分,直到每一个部分和侧面都可以用具体的统计指标来描述和实现。针对如何排除无关信息的干扰问题,本文采用主成分分析法中的去相关方法,排除相关性比较大且各指标之间重叠度小的因子,从而最终得到影响用户对书籍评分的因素。4.1.2模型建立与求解根据题中给出的标签数据、关系数据和书籍数据,运用matlab进行数据挖掘,程序语句见附录一。针对如何排除无关信息的干扰问题,采用主成分分析法中的去相关排除相关性比较大的指标来得到最终的评价指标。首先计算相关系数矩阵:PPPPPPRRRRRRRRRR212222111211(1)在公式(1)中,),,2,1.(pjiRij为原来变量ix与jx的相关系数,其计算公式为:nknkjkjikinkjkjikiijxxxxxxxxR11221)()())(((2)因为R是实对称矩阵(即jiijRR)所以只需计算其上三角元素或下三角元素即可,结果如表1所示:-3-表1:相关性系数矩阵相关性间接关注度被翻阅的次数书籍标签数间接关注度Pearson相关性1-.064-.110显著性(双侧).195.255N191919被翻阅的次数Pearson相关性-.0641.559*显著性(双侧).195.013N191919书籍标签数Pearson相关性-.110.559*1显著性(双侧).255.013N191919*.Correlationissignificantatthe0.05level(2-tailed).然后根据表1中相关性分析可知,书籍标签数和被翻阅的次数相关性比较大,被翻阅的次数被剔除。最后本文求得影响用户对书籍评分的因素如图1所示。书籍评分因素间接关注度书籍标签数图1:最终确定的指标个数4.2预测书籍评分模型4.2.1模型的建立对于每个BookID、Booktag为其所属标签,此标签可以理解读者为对书籍类型的偏好,即读者的阅读特征),(21xxxi。阅读特征中包含读者对书籍的隐式信息,进行相关数据挖掘可以得到书籍评分和用户之间的关系。关于数据挖掘的方法有很多种,例如,线性回归、机器学习系统设计、以及支持向量机等方法。所有文献中所涉及到的机器学习的过程,都可以视为对数学模型参数进行优化求解过程,从广义来看学习的过程可以转化为优化问题。机器学习过程中有三个要素影响着其学习的效率和效果。Hypothesis函数tfunctionscos函数以及descentgradient下降梯度函数。综合各种方法的优缺点,本文采用优化的多变量线性回归【3】进行书籍评分和读者阅读特征之间的关系。经过数据处理得到用户书籍评分表,此表为二维向量,如表2所示:-4-表2:待预测与已知数据列表7245481415665899771507625225(待预测)1x2x473690400?929118400?235338445?424691445?916469404?793936440?对每个读者引入参数,构造监督方法,对评分矩阵逐列进行线性回归并对模型进行优化,得到模型参数'。多变量假设输出由多维决定,即输入为多维特征。多元线性回归的模型:nnxxxx22110)(h本文选取两个特征进行回归预测,为加强模型准确度,对应每一个读者j引入常数项特征0x和参数j1nR对每个用户都训练一个j-,优化模型如下:2112n1j1,:i,1221,minuuunjnkjkjirjiijnyx梯度下降更新:jkj:k)0(1,:i,forkxyxikjirjiijjkj:k)0(1,:ik,forkyxjirjjiij参数的梯度递减单变量学习方法:miiyimiyixyxhyxh111100m1-,m1-::(3)4.2.2模型的求解MATLAB线性回归处理和基于机械学习训练后的参数'的优化程序见附录二,ID为7625225的用户对六本书的求解过程及结果见表3和表4,其余五个人的预测分值见附录三。表3:数据的初步处理7245481415665899771507625225(待预测)1x2x47369040010.9092911840011.00.012353384453.20.9904246914453.20.011.091646940420.11.0793936440200.9用户书籍用户书籍-5-表4:预测ID号为7625225用户对六本书的评分724548141566589977150预测值(7625225)实际值(7625225)4736904004.1749291184004.1442353384454.2554246914454.3149164694044.2457939364404.2454.2.3模型检验ID号为7625225用户对六本书的预测评分数值与已知分数值对比分析图,如图2所示:图2预测值与真实值对比由上图可知,本文的预测值在题目给出的实际值附近波动,并由SPSS计算出绝对误差为0.015,相对较小,因此该模型求得的预测的评分比较准确。4.3协同过滤推荐模型4.3.1推荐原理为给每个用户推荐3本没看过的书籍,基于物品的CF的原理【2】【4】,只是在计算邻居时采用物品本身,而不是从用户的角度,即基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品给他。从计算的角度看,就是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有表示偏好的物品,计算得到一个排序的物品列表作为推荐。下图给出了一个例子,对于物品A,根据所有用户的历史偏好,喜欢物品A的用户都喜欢物品C,得出物品A和物品C比较相似,而用户A喜欢物品A,那么可以推断出用户C可能也喜欢物品C。即图3书籍推荐流程图:用户书籍-6-书籍A书籍B书籍C书籍A√√书籍B√书籍C√√推荐用户/物品√书籍A书籍B书籍C相似喜欢推荐图3:书籍推荐流程图由以上书籍推荐的理论流程图,可以得知物品的协同过滤推荐技术基于大部分用户对一些项的评分比较相似,假设当前用户对这些项的评分也比较相似。那么找出两个用户之间的相似度对解决本文就尤其重要。如图3给出协同过滤推荐算法的工作流程图,给出由评分矩阵得出用户之间相似度关系,从而找出为用户推荐的书籍。例如,用户1,2,3对项目A,B评分分别为{3,4,5}和{3,4,5},用户4对项目A的评分为1,因为项目A,B的评分很相似,说明A和B很相似,则我们可以

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功