论文部分内容阅读
如今互联网高速发展,伴随它而生的信息服务更是同样发展迅速,但这背后却存在一些问题。人们在使用网络时会留下大量的数据信息,这些数据增长速度非常快,从而造成网络中的信息十分冗余,人们就不能快速的、精准的搜到自己想要的内容。个性化推荐系统的出现便较好地改善了这一问题,给人们在使用网络时带来了便利。因此作为推荐系统的核心,推荐算法的性能显得尤为重要,但传统的协同过滤推荐算法会随着系统本身规模的扩大,数据不断增多而产生算法扩展性、数据稀疏性和冷启动等问题,如果能够对这些问题加以改善,推荐算法的性能则会进一步提高。因此本文则从算法扩展性和数据稀疏性这两方面优化推荐算法,从而提高推荐质量,主要工作如下:首先,针对算法扩展性问题,本文提出了基于中心聚集参数的改进K-means协同过滤推荐算法。该算法先提出了一种中心聚集参数,中心聚集参数的目的在于筛选出最合适的,最优的初始化聚类簇心以及确定聚类个数。将加入中心聚集参数的改进K-means聚类算法在UCI数据集上验证,通过调整兰德系数、互信息指标和Fowlkes-Mallows指标的结果显示,改进的算法聚类效果最好;然后在MovieLens数据集上实现基于中心聚集参数的改进K-means协同过滤推荐算法,对评分数据做聚类,同时也将对应的用户加以聚类,这些聚为一类的对象具有一定的相似性,减小了目标用户所要进行搜索的最近邻空间,得到聚类簇后,使用传统的协同过滤推荐算法计算出预测评分;最后利用平均绝对误差(MAE)进行精确度计算,在进行两组对比实验后得出,基于中心聚集参数的改进K-means协同过滤推荐算法的MAE最小,因而推荐精度是最高的。其次,针对数据稀疏性问题,本文提出了基于Slope One矩阵填充用户聚类推荐算法,本算法是在MovieLens数据集上进行验证。首先通过对比Slope One算法、用户评分平均值、物品评分平均值、全局平均值、物品流行度和用户活跃度方法的均方根误差(RMSE),通过计算选取RMSE值最小的Slope One算法先对初始的评分矩阵进行缺失值的填充,即消除0元素,一定程度的降低数据矩阵的稀疏度;然后利用经典K-means进行用户聚类,减小了目标用户最近邻的搜索空间,使得匹配出的最近邻居较为准确;最后在分好类的簇中使用传统协同过滤推荐算法预测用户的评分,利用MAE进行精确度计算,进行了三组对比实验,并得出本文提出的算法MAE最小,因而推荐精度是最高的。通过实验分析得出,本文提出的两种推荐算法在推荐精度上都优于传统的协同过滤推荐算法,进行了不同的改进后都降低了平均绝对误差值,使推荐更为精确,说明可以较为有效的改善算法的扩展性以及降低数据稀疏性,在一定程度上丰富和发展了现有推荐系统的理论成果。同时也有一定的实际意义,随着网络中数据的大量增加,评分信息很少时,本文的算法可以有效减少寻找相似用户范围的时间,同时保证推荐质量较好,让用户获得的推荐更符合他们的需求,在基于用户的推荐方法中有较好的推荐效果。