论文部分内容阅读
随着互联网的飞速发展,网上购物也变的越来越普及,给用户推荐合适商品的推荐算法也变的日益重要。频繁模式是指频繁地出现在数据集中的模式,可以作为推荐系统推荐依据的一部分,本课题以关联规则算法为核心,结合其他机器学习算法处理过程组成一个基于百度贴吧用户的个性化贴吧推荐系统。我们的目的在于通过优化关联规则算法,在分布式部署的情况下产生规则,然后通过处理这些规则产生合适的推荐信息。由于单核计算机在CPU性能,内存大小等条件的制约下关联规则算法会遇到以下两个瓶颈:单点存储瓶颈,事务数据集过大时产生的局部数据结构可能溢出内存;低支持度瓶颈,在原数据集数据量和属性列过大而且算法设置的支持度过低时,可能产生的算法输出规则集空间远大于原始数据集。所以我们采用在开源的分布式计算框架下部署关联规则算法。传统的分布式关联规则挖掘算法会受制于节点之间数据相关导致的过高通信开销。本文采用PFP-Growth算法作为改进的目标算法,PFP-Growth算法通过数据分片步骤,能够保证各计算节点在进行频繁模式生成步骤时不需要进行节点之间的数据交互。本研究改进的对比算法是基于分布式思想的PFP-Growth算法,主要优化方向在于PFP-Growth算法在数据分片之后使得各节点之间数据不相关但是会出现任务负载不均导致运行时间长于算法实际执行时间的情况。本课题构建的推荐系统中不直接使用原始产生的频繁项集,本课题中首先在算法产生频繁项集的同时生成数据集的频繁闭项集和极大频繁项集;然后在精简强关联规则时,本课题通过一些过滤指标过滤可信度低或者高度冗余的强关联规则,最后通过对剩余关联规则的聚类然后对每个簇选取具有代表性的若干个规则得出最终的推荐结果。通过实验测试几种分片方案对比时间等因素,可以对比得出提出的分配方案的有效性,但是随着选取的分布式计算框架实现及原理的不同,可能会产生不同的调度方案导致时间有所差异,本研究在理论情况下比较实验结果。本研究利用分布式关联规则算法应用于真实的百度贴吧用户数据情景下,完成针对个人用户的贴吧推荐,在算法的基础上加上了一些过滤排序推荐规则,使得推荐信息更加精简。