《协同过滤算法的相关理论分析》2700字_第1页
《协同过滤算法的相关理论分析》2700字_第2页
《协同过滤算法的相关理论分析》2700字_第3页
《协同过滤算法的相关理论分析》2700字_第4页
《协同过滤算法的相关理论分析》2700字_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

协同过滤推荐算法的相关理论分析综述目录TOC\o"1-2"\h\u2931协同过滤推荐算法的相关理论分析综述 3277571.1协同过滤推荐 3116351.2协同过滤算法 3104171.1.1基于用户的协同过滤 4321161.1.2基于项目的协同过滤 7264721.1.3相似度计算 8321941.3基于用户的协同过滤与基于项目的协同过滤比较 9223421.性能对比 9269932.领域对比 9147103.实时性对比 9199131.4存在的问题 9317091.4.1数据稀疏问题 920211.4.2冷启动问题 91.1协同过滤推荐协同过滤算法的思想大体由两部分组成:协同和过滤。对于推荐系统来说,协同就认为相同特征的用户可以通过其他用户的行为,使得推荐给目标用户的效果得到提高。而过滤就来自于近邻用户所得到的方案集合中,并利用相应的规则将使用者感兴趣的东西介绍给使用者。协同过滤算法的推荐步骤如图1.1所示:图1.1协同过滤流程图1.2协同过滤算法CF算法(协同过滤算法)分类如图1.2所示,分为基于用户,基于项目和基于模型三种推荐算法。图1.2协同过滤算法分类1.1.1基于用户的协同过滤 基于用户的CF算法,是以用户为主要考察对象,通过目标用户搜索与目标用户的近邻匹配用户组合,进而对在近邻的匹配用户组合进行预估喜好程度,最后将选择并预测的前N个喜好程度大物品数推送给目标用户其原理如图1.3所示图1.3基于用户的协同过滤图如图1.3所示,共有5个物品A,B,C,D,E和3个用户U1,U2,U3。目标用户为U2,U2用户最喜欢物品A和C,U1用户喜欢物品A,物品B和物品C。U3用户喜欢物品D和物品E,可以通过对用户U1和用户U2喜欢的物品进行分析可得,用户U1是用户U2最近邻用户。由于用户U1喜欢物品B,所以预测用户U2可能也对物品B感兴趣,把物品B推荐给用户U2。基于用户的协同过滤算法的主要流程由三部分组成:建立评分矩阵,寻找目标用户近邻用户集,产生推荐结果。其步骤如图1.4所示:图1.4推荐流程图建立评分矩阵建立用户评价矩阵主要是指通过获取用户数据集U和项目数据集I,把用户数据集和项目数据集合建立为m×n阶评价矩阵Rm×n。定义用户集合U={U1,U2,U3,…,Um},项目集合集合I={I1,I2,I3,..,In},评分矩阵Rm×n:R寻找目标用户近邻用户集查找用户近邻用户集是协同过滤算法中的核心部分,主要是通过计算户之间相似度得出用户的近邻集合。算法的相似程度的准确性,直接影响着推荐结果的优劣。当前主要统计相似性的方式有::余弦相似性、Pearson相关性和Jaccard相关性。 产生推荐结果推荐结果经过选取与目标用户项目最为相近的N个目标用户,得到目标项目集合I,再筛选掉I集中所有目标用户已有的项目,形成最终项目集推送给目标用户。1.1.2基于项目的协同过滤基于用户的CF算法,当用户过多时面临着计算用户相似率耗时较长的缺点,针对这样的场景提出了基于项目的CF算法。这种方法是根据项目间的相似程度,并按照相似程度来进行选择的。如图1.5所示图1.5基于项目的协同过滤图有三个用户A,B,C和三个物品I1,I2,I3。目标用户B感兴趣的物品为I2,对物品I2感兴趣的用户有A,B,C,对物品I1感兴趣的用户为A,C,对物品I3感觉兴趣的用户为A。根据计算物品I2与物品I3相似,把物品I3推荐给用户B。基于项目的协同过滤算法在项目数量较为稳定时,项目之间的相似性也比较稳定。主要流程由三部分组成:建立评分矩阵,寻找近邻项目集,产生推荐结果。1.1.3相似度计算 相似度就是比较两个事物的相似性。将事物的特征映射到一个二维或多维的空间上,通过距离公式计算距离,距离近的相似度越高,距离远的相似度越低。此外,相似度计算直接对推荐结果产生影响,相似度越准确,推荐效果越精准。本文主要采用以下三种方式进行相似度的计算。1.余弦相似度余弦相似度量法是将项目的特征以矢量的方法反映二维空间,并度量两向量间的夹角。当角度越靠近0°时,相关性就越强。当角度约为180°时,呈现负相关。余弦相似度只顾及到了矢量的方向,而忽略了矢量长短对相似度的影响,当两个矢量方向相似但长短差异很大时,导致相似度计算不准确。计算公式(1.1)如下:sim(a,b)1.皮尔逊相关性数Pearson皮尔逊相关关系数是对余弦相似度计算的改进。Pearson在余弦相似度的基础上对数据进行归一化,即对每个数据减去整体数据的均值。得到的新数据在计算协方差和标准差的商。计算公式(1.2)如下:corra,b=irai皮尔逊相似度计算结果在-1,1之间,-1表示负相关,1表示正相关。且度量的时两个变量的变化趋势是非一致,因此不适合计算布尔值向量之间的相似度。3.杰卡德相似度JaccardJaccard计算相似度系数主要是通过集合的方式,适合计算布尔型数据或符号度量的数据。因此该相似度计算无法衡量数据之间具体的差异,只能得到数据的相同性,所以Jaccard系数关心的是样本是否具有共同的特征。公式(1.3)如下:JA,B=公式中的A和B代表不同的集合,Jaccard相似度系数就是把A和B的交集除以A和B的并集。如定义A={1,2,3,4,5},B={2,4,6,7}。A集合与B集合的交集A∩B={2,4},A集合与B集合的并集为A∪B={1,2,3,4,5,6,7}。通过计算得到的相似度JA,B1.3基于用户的协同过滤与基于项目的协同过滤比较基于用户的协同过滤和基于项目的协同过滤算法在不同的场景下推荐的效果和推荐结果生成的数据存在很大差异。本文在推荐的性能,推荐的领域,实时性,这三个方面比较差别。1.性能对比基于用户的方法,在计算相似度时需要对用户项目评分矩阵中的所有用户计算相似性当用户数远远大于项目数时,计算矩阵相似度的代价大。此外用户矩阵还存在噪声影响,即矩阵存在大量空值,在处理空值时同样需要花费大量的时间。在用户数变化较少时或用户群体的规模变动不大时,根据用户群体的协同过滤算法通常性能较高。基于项目的方法,适用于项目较少或项目数量较稳定的场景。同样如果项目的数量过大,计算矩阵相似度的代价大的问题。领域对比基于目标用户的协同过滤时效性较强,适合于对用户个性兴趣比较模糊的应用领域。基于项目的协同过滤,存在长尾物品丰富,适用于具有较强偏好特征的用户。3.实时性对比用户有新行为时基于用户的协同过滤算法,推荐结果不一定会马上变化,基于项目的协同过滤算法会使推荐结果马上发生变化。1.4存在的问题1.4.1数据稀疏问题单一用户不可能对系统中的所有项目都有访问记录同时随着用户和项目的数量增加,矩阵变得越来越稀疏。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论