论文部分内容阅读
随着互联网大数据时代下的信息爆炸式增长,人们逐渐从信息匮乏时代跨越到信息过载时代,信息量的增加也极大的改变了人们的生活方式。在前期,信息过载带来的查询搜集难度有所增加,为了解决这一问题,使用户能够更容易获取有价值的信息,原有的数据检索等传统方式不能满足需求,这时相关的推荐系统应运而生。推荐系统能够在海量的信息中找出用户可能感兴趣的内容推荐给不同目标用户。推荐系统应用到生活中各个行业及领域,在实际生活中也起到了不可小觑的作用,给用户带来了良好的体验,应用的效率也有明显得提高。高校使用的教务系统出现了信息量逐渐增加之后,可以考虑使用相关的推荐实现部分功能业务。例如高校教务系统中的选课模块,在每学期的选课期间会出现学生选课信息查询过于繁琐,这时可以将推荐系统加入到学生选课中,实现不同的课程个性化推荐给学生,这样既提高了选课的效率,同时带来的交互体验上的升级。本篇论文旨在研究相关的推荐算法在教务选课系统中的应用,本文研究将实现向学生个性化推荐选课,根据某些学生喜好的选课推荐给相似的学生,使教务系统能够改变传统的用户交互方式而提高学生选课效率。推荐系统在实际生活中的应用很广泛,其中推荐算法中的协同过滤推荐算法应用模型和场景也很多,学生选课中加入了推荐系统之后将会使学生选课效率有所提高和交互的改变。传统的选课模式下学生只能通过检索实现选课,推荐系统的目的就是主动向学生推荐比较感兴趣的课程,不仅在选课方法上多了一种新的选课模式,更是一种全新的用户与系统交互升级。虽然协同过滤推荐系统会带来诸多优化与改变,但是协同过滤推荐算法也存在很多的不足,比如系统冷启动问题、数据稀疏性问题、推荐系统可移植性问题等,这些都是推荐系统需要克服的难点或问题。同时系统计算用户相似度可能会遇到一些热门项目(很多学生选择的课程)影响最终的结果,为了使最终推荐结果具有个性化,在计算用户相似度过程中加入惩罚因子,旨在降低热门项目的热度,这样可以在一定程度上避免最终推荐结果趋,提高推荐结果的准确率。本文使用的是协同过滤推荐算法和k-means聚类算法计算推荐结果。协同过滤推荐算法有基于用户和基于模型两种主要推荐算法模型,而最终的推荐结果准确率直接与推荐模型(相似度计算函数)和参数选取(邻居个数、推荐结果数目)相关。在不同的推荐算法模型基础上,研究选取不同参数对推荐效果的影响,分析得出更适合本论文的推荐算法。本文在之前的理论基础上首先在Python环境中对推荐算法进行验证,得出不同算法模型下的推荐结果,并分析这些推荐结果的不同参数情况的变化,分别比较MAE(平均绝对误差)、Precision(准确率)、Recall(召回率)和F-measure参数的变化。算法验证通过之后在Java平台下实现了更优的基于协同过滤推荐算法和k-means算法混合实现的推荐模型,最终将整个推荐模块部署到学生选课系统。本文主要的创新点有以下两点:计算用户相似度时为了降低热门项目的热度加入惩罚机制的惩罚因子(?);将两种不同的算法模型混合,形成了一种新的计算模型,也就是基于k-means聚类的混合协同过滤推荐算法。