论文部分内容阅读
随着Internet和移动终端快速发展和迅速普及,互联网数据呈爆炸性地增长,出现了“信息过载”问题。如何在海量数据里找到用户真正感兴趣的信息并将其推荐给用户成为了业界研究的热点。推荐系统能帮助用户挖掘海量数据里深层次潜在的信息,帮助用户快速获取需要的内容,从而被广泛应用。协同过滤是当前较成功的推荐算法之一,其简单的模型概念和实现过程备受大型企业青睐。但是,协同过滤也存在着冷启动、数据稀疏、计算效率以及系统可扩展性等方面的问题。针对协同过滤存在的冷启动和数据稀疏问题,本文引入李德毅院士提出的云模型概念。云模型属于不确定人工智能领域,主要是将多维向量映射至三维向量,使用期望、熵和超熵等数学特征进行量化,这也使得问题从局部扩展到全局,从而降低数据稀疏和冷启动带来的负面影响。另外,本文结合云模型提出一种改进的相似度计算模型,该计算模型可以更好地描述用户(项目)间的相似性。最后,在计算云特征时,还考虑用户的偏好因素,如时间因素、评分因素等。针对协同过滤存在的系统计算效率、可扩展性问题,本文提出一种基于二叉树的聚类算法。协同过滤计算效率低下的原因是在计算最近邻时,需计算目标用户与所有用户的相似性,从而获得与目标用户最相似的用户集。因此使用聚类算法减少近邻比较次数成为研究热点。K-Means算法不仅受限于初始中心和K值的设定,而且还存在用户不能同归属于多类别等方面的问题,故本文提出一种改进聚类算法。其主要是将数据结构二叉树和聚类算法K-Means相结合,形成一种新的层次聚类算法。最后,本文将基于二叉树的聚类算法和云模型相融合,形成一种基于聚类的改进推荐算法。在计算过程中由于结点之间的无关联性,本文引入基于内存的分布式计算框架Spark,并将本文算法在该平台上并行实现。经由实验证明,本文算法不仅可提升准确性,还能够通过并行化从而提高系统可扩展性。本文在模拟现实集群环境下,对提出的基于聚类的协同过滤算法进行测试,主要是用于评估推荐算法的稳定性、准确性以及响应时间,为该推荐算法进行了比较科学有效的评估。对比实验结果发现,本文提出的基于聚类的协同过滤算法在稳定性、精确性、高效性以及可扩展性等方面均表现优异,满足算法要求。