论文部分内容阅读
互联网中信息规模的爆炸式增长,满足了用户对信息的需求。但庞大的信息量使得用户难以快速定位到有用信息,降低了信息的使用率,导致了信息过载问题的出现。个性化推荐技术是一种面向用户进行个性化推荐的有效手段,其核心是推荐算法。 Slope One算法是一种简单而高效的基于项目的协同过滤算法,能够在少量数据情况下达到较好的推荐效果,已经得到了广泛应用。但现有的Slope One算法无法在数据稀疏情况下做精确推荐,评分过程中会利用无关项目预测评分且无法快速感知用户兴趣的变化。 为了解决上述问题,本文对权重的计算方法加以改进,提出改进的加权Slope One算法,再引入数据挖掘的相关技术,对数据进行分类和预处理,提出基于聚类的加权Slope One算法。所做的主要工作如下: 第一,在传统的K-Means算法的基础上,提出一种自动生成K个聚类中心的基于最小生成树的K-Means算法,有效解决传统的K-Means算法因初始聚类中心选取的随机性引起的局部最优问题,提高聚类效果; 第二,利用聚类结果对原始项目评分矩阵进行预测填充,解决算法存在的稀疏性问题,并根据聚类结果缩小推荐候选集的规模,减少推荐算法计算量; 第三,考虑项目属性和项目评分对项目相似度影响程度的不同,引入项目属性和项目评分的项目综合相似度计算方法,提高项目相似度的准确性; 第四,为了在算法中更好的反应用户兴趣的变化,突出新数据作用削弱旧数据。在推荐算法中加入时间权重,考虑影响时间权重的因素,提出加入访问频率的时间权重函数; 第五,根据本文提出的改进算法,设计推荐系统,介绍系统中模块组成、模块间调用关系和模块内部算法流程,利用MovieLens数据集在系统上进行验证。 实验证明,基于聚类的加权Slope One算法与传统推荐算法相比,聚类算法的加入能够有效解决稀疏性问题,减少计算量;项目相似度和时间权重的加入提高了算法预测的准确性和时间敏感度。整体算法在平均绝对误差上有着明显的降低,能够有效提高推荐系统整体性能。