文档详情

软件开发方法学_朱坤广_王硕.ppt

发布:2017-08-05约字共24页下载文档
文本预览下载声明
软件开发方法学 电影推荐系统 组员:朱坤广、王硕 展示目录 电影推荐系统 数据格式 系统架构 使用算法 用例 算法评估 缺陷 数据格式 数据来自于美国明尼苏达大学2000年所建立的MovieLens数据库的一部分,包含943个参与MovieLens项目的观众对1682部电影的100000条评分。 我们使用了四个数据文件,分别是用户信息表users.dat、电影信息表movies.dat、电影类型表movietype.dat以及评分信息表ratings.dat。 数据格式 Users表格式: 用户ID|年龄|性别|职业|邮政编码 最终显示的用户信息没有包含职业一项 Movies表格式: 电影ID|片名 (年份)|上映日期||iMDB链接|n|n|n|n|n|n|n|n|n|n|n|n|n|n|n|n|n|n|n n的取值只能为0或1,代表电影属于某种类型,因为电影可以属于不只一种类型,因此有多个位为1时,代表电影同时属于多种特定类型。 最终显示的推荐电影清单没有包含iMDB链接。 此处共有19个电影类型位标签,关于具体的电影类型,存储在Movietype.dat中。 数据格式 Movietype表格式: 共19个类型,每个类型词用空格分隔。 Ratings表格式: 用户ID\t电影ID\t评分\t时间戳 “\t”代表制表符(TAB)。 在利用Rating表中的数据时,最终没有使用时间戳这一项。 使用算法——概念术语描述 协同过滤(Collaborative filtering,CF) CF是指根据一组用户的喜好去预测和推荐其他用户的未知喜好选择,主要特点在于依赖用户以往的行为做出推荐。包括两部分,基于用户相似度推荐与基于条目相似度推荐。 基于相似用户的推荐 是指以相似用户为邻居给当前用户推荐条目。具体原理,为评估某一用户对某一条目的可能评分,我们需要找到与他相似的用户(称为邻居)对这个条目的评分,然后,把每个朋友的评分乘以其自身的权重,最后把朋友们的加权评分都加起来就算完成。 使用算法——概念术语描述 基于相似条目的推荐 是指以相似条目为邻居给当前用户推荐条目。具体原理,为评估某一用户对某一条目的可能评分,我们需要找到与该条目相似的条目的评分,然后把每个条目的评分乘以自身的权重,最后把条目的加权评分都加起来就算完成。 基于多个推荐器(相似用户和条目方式混合)的推荐 综合以上两种推荐方法得到的结果,是将用户推荐结果和条目推荐结果利用求算数平均值的方法对这些结果重新排序。 使用算法——算法描述 基于用户相似度推荐的算法: 计算用户相似度: 利用Jaccard相似度(基于Jaccard相似性系数)。设两个用户分别为userA和userB。先找出两个用户间共同评价的条目,设为items,设个数为n。其次从items中找出两个用户评分相同的条目,设个数为m。则userA和userB相似度为m/n,即Jaccard相似性系数。 由第一步结果,计算用户对未评价条款的评分 设某用户为user,某条目为item。首先找出所有对该item评分的用户,设为users。其次把users里的每个用户的评分乘以该用户和user的相似度(即Jaccard相似性系数),然后将这些结果相加得到结果z,并同时计算这些相似度的和。最后用结果z除以相似度之和,则得出user对item的评分。 使用算法——算法描述 基于条目相似度推荐的算法: 计算条目相似度: 利用皮尔逊系数。设两个条目分别为item1、item2。先分别找出这两个条目的平均分值,即所有用户对该条目的评分求算术平均值。其次找出共同评价这两个条目的所有的用户,设为users。然后重新设置users里的每个user对这两个条款的评分,改为原评分减掉该条目的平均分值,形成两个集合。最后利用皮尔逊公式对这两个集合求线性相关系数r,即为条目相似度。 皮尔逊积矩相关系数r(Pearson product-moment correlation coefficient,PPMCC)的计算方法: r= 由第一步结果,计算用户对未评价条目的评分 设某用户为user,某条目为item。首先对于每个被user评价的条目,设为itemA,找出item均值与user对itemA评分的差值,用相似度乘以该差值得到结果x,将所有的x相加得到result。然后用result除以所有相似度的和得到加权偏差。最后用条目均值减掉该加权偏差,就得到用户对该条目的评分。 使用算法——算法描述 使用算法——算法描述 基于多个推荐器的推荐: 首先根据以上两个推荐器分别得到两组推荐数据。其次对这两组数据标准化:找出这两组数据的最大值设为max,然后用每一组数据分别乘以ma
显示全部
相似文档