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

上传人:bin****86 文档编号:55056626 上传时间:2018-09-24 格式:PPT 页数:24 大小:1.09MB
返回 下载 相关 举报
软件开发方法学朱坤广王硕 ppt课件_第1页
第1页 / 共24页
软件开发方法学朱坤广王硕 ppt课件_第2页
第2页 / 共24页
软件开发方法学朱坤广王硕 ppt课件_第3页
第3页 / 共24页
软件开发方法学朱坤广王硕 ppt课件_第4页
第4页 / 共24页
软件开发方法学朱坤广王硕 ppt课件_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《软件开发方法学朱坤广王硕 ppt课件》由会员分享,可在线阅读,更多相关《软件开发方法学朱坤广王硕 ppt课件(24页珍藏版)》请在金锄头文库上搜索。

1、软件开发方法学,电影推荐系统,组员:朱坤广、王硕,展示目录,电影推荐系统,数据格式,系统架构,使用算法,用例,算法评估,缺陷,数据格式,数据来自于美国明尼苏达大学2000年所建立的MovieLens数据库的一部分,包含943个参与MovieLens项目的观众对1682部电影的100000条评分。 我们使用了四个数据文件,分别是用户信息表users.dat、电影信息表movies.dat、电影类型表movietype.dat以及评分信息表ratings.dat。,数据格式,Users表格式: 用户ID|年龄|性别|职业|邮政编码 最终显示的用户信息没有包含职业一项 Movies表格式: 电影ID

2、|片名 (年份)|上映日期|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表格式: 用户IDt电影IDt评分t时间戳 “t”代表制表符(TAB)。 在利用Rating表中的数据时,最终没有使用时间戳这一项。

3、,使用算法概念术语描述,协同过滤(Collaborative filtering,CF) CF是指根据一组用户的喜好去预测和推荐其他用户的未知喜好选择,主要特点在于依赖用户以往的行为做出推荐。包括两部分,基于用户相似度推荐与基于条目相似度推荐。 基于相似用户的推荐 是指以相似用户为邻居给当前用户推荐条目。具体原理,为评估某一用户对某一条目的可能评分,我们需要找到与他相似的用户(称为邻居)对这个条目的评分,然后,把每个朋友的评分乘以其自身的权重,最后把朋友们的加权评分都加起来就算完成。,使用算法概念术语描述,基于相似条目的推荐 是指以相似条目为邻居给当前用户推荐条目。具体原理,为评估某一用户对某

4、一条目的可能评分,我们需要找到与该条目相似的条目的评分,然后把每个条目的评分乘以自身的权重,最后把条目的加权评分都加起来就算完成。 基于多个推荐器(相似用户和条目方式混合)的推荐 综合以上两种推荐方法得到的结果,是将用户推荐结果和条目推荐结果利用求算数平均值的方法对这些结果重新排序。,使用算法算法描述,基于用户相似度推荐的算法: 计算用户相似度: 利用Jaccard相似度(基于Jaccard相似性系数)。设两个用户分别为userA和userB。先找出两个用户间共同评价的条目,设为items,设个数为n。其次从items中找出两个用户评分相同的条目,设个数为m。则userA和userB相似度为m

5、/n,即Jaccard相似性系数。 由第一步结果,计算用户对未评价条款的评分 设某用户为user,某条目为item。首先找出所有对该item评分的用户,设为users。其次把users里的每个用户的评分乘以该用户和user的相似度(即Jaccard相似性系数),然后将这些结果相加得到结果z,并同时计算这些相似度的和。最后用结果z除以相似度之和,则得出user对item的评分。,使用算法算法描述,基于条目相似度推荐的算法: 计算条目相似度: 利用皮尔逊系数。设两个条目分别为item1、item2。先分别找出这两个条目的平均分值,即所有用户对该条目的评分求算术平均值。其次找出共同评价这两个条目的所

6、有的用户,设为users。然后重新设置users里的每个user对这两个条款的评分,改为原评分减掉该条目的平均分值,形成两个集合。最后利用皮尔逊公式对这两个集合求线性相关系数r,即为条目相似度。 皮尔逊积矩相关系数r(Pearson product-moment correlation coefficient,PPMCC)的计算方法:r=,由第一步结果,计算用户对未评价条目的评分 设某用户为user,某条目为item。首先对于每个被user评价的条目,设为itemA,找出item均值与user对itemA评分的差值,用相似度乘以该差值得到结果x,将所有的x相加得到result。然后用resul

7、t除以所有相似度的和得到加权偏差。最后用条目均值减掉该加权偏差,就得到用户对该条目的评分。,使用算法算法描述,使用算法算法描述,基于多个推荐器的推荐:首先根据以上两个推荐器分别得到两组推荐数据。其次对这两组数据标准化:找出这两组数据的最大值设为max,然后用每一组数据分别乘以max并除以该组数据最大值,得到新的评分,即预测评分。然后对于这两组数据中共有的条目,将对这个条目的两个预测评分求算数平均值,将该平均值设定为该条目新的评分,对于非共有的条目,将条目评分除以2。将得到结果设定为该条目新的评分。最后将这些评分排序。,系统架构,电影推荐系统,数据,界面,相似性计算,模型,推荐,系统架构总体逻辑

8、结构图,用例UML图,用例推荐电影,UC:推荐电影 前置条件:用户已经输入ID值 后置条件:系统显示推荐电影 1.系统自动显示基于用户推荐的电影 2.用户点击“换一组推荐电影“按钮 3.系统显示基于条目推荐的电影 替代程序: 3.a若当前面板显示的是基于条目推荐的电影,则系统显示基于条目和用户推荐的电影 3.b若当前面板显示的是基于条目和用户推荐的电影,则系统显示基于用户推荐的电影.,UC: 在明星榜上显示一组影视演员 前置条件:无 后置条件:明星榜中分别显示影视明星男女各三名 1.系统启动后自动显示一组影视明星 2.用户在明星榜面板,单击“换一组影视明星” 3.系统显示一组不同的影视明星 4

9、.单击明星名字,打开该明星的豆瓣电影搜索结果页面 替代程序 无,用例在明星榜上显示一组影视演员,UC: 打开被选中的推荐电影的豆瓣搜索页面 前置条件:推荐表格已经含有推荐电影 后置条件:打开被选择的推荐电影的豆瓣搜索页面 1.用户在电影推荐面板,单击被选中电影的名字 2.系统打开被选择电影的豆瓣搜索页面 替代程序 2.a若用户没有选择电影名字,则跳转到豆瓣搜索页面,用例打开被选中的推荐电影的豆瓣电影搜索结果页面,算法评估,对于基于用户以及基于条目相似度推荐算法,我们采用了均方根误差(root-mean-square error,RMSE,也称root-mean-square deviation

10、,RMSD)对算法进行评估。 举个例子,算法最终计算出推荐电影的预测评分,并对评分从高到低进行排序,取出前若干个推荐电影提供给用户。对于这些电影中的某一部,预测评分假设是4分,但用户实际上根本不喜欢这部电影,他给这部电影打了2分,反之亦然。这样就会产生推荐电影的预测评分与用户实际评分的差距。,算法评估,RMSE的计算方法如下:,算法评估,对于基于用户相似度推荐,RMSE=1.00738 对于基于条目相似度推荐,RMSE=1.02376 根据Algorithms of the Intelligent Web一书的介绍,RMSE如果能达到0.9,表明算法推荐结果较为准确,由此可以知道基于用户相似度

11、推荐算法的推荐结果更准确。 对于基于用户和条目相似度推荐,我们没有计算RMSE,这是因为这种推荐算法结果的RMSE会很大。原因是:从上述两种推荐算法的结果中,需要找出结果中相同的电影,并求它们的预测评分均值,但是如果电影条目只存在于其中一个算法的推荐结果清单中,最终的预测评分要将这一电影条目的值除以2,评分值会变得很小,这样会导致RMSE变得很大。,算法评估,用户界面较为简陋,需要美化, 另外界面友好程度需要提高。,用户登录没有进行密码验证 或身份验证,安全性弱。,用户登录后,需要选择推荐方式并单击推 荐按钮后才能得到推荐结果,没有必要。,缺陷,缺陷未来工作,数据量相比互联网数据规模来说不大,但软件执行效率低,需要改进算法,缩短操作响应时间,提升用户体验。,界面可以进一步增强,如加入社交网络分享功能,分享推荐电影结果。,实现通过用户昵称以及其他个人唯一标识实现用户登录,方便用户使用软件,这需要符合这一要求的原始数据。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号