论文部分内容阅读
快速发展的互联网逐渐成为信息传递和商品交易的重要平台,成为大多数人生活中不可缺少的一部分。然而,互联网信息的快速膨胀,给用户带来丰富多样的信息同时,也对用户搜索信息的能力和精力提出了挑战。推荐系统作为一种信息过滤的重要途径,已经在互联网各个领域中得到广泛的应用。协同过滤算法是在推荐系统中应用最成功的推荐技术之一,在理论和实践上都取得长足的发展。然而,随着推荐系统中用户和项目的剧增,传统基于内存的协同过滤算法由于对计算资源的开销过大而面临可扩展性问题。如何把计算资源开销控制在可接受的范围内并保证推荐的效率和质量是目前业界研究的热点问题。针对可扩展性问题,本文在协同过滤推荐中引入聚类技术和监督学习技术,并提出三种协同过滤推荐算法。主要工作分为以下三部分:传统基于内存的协同过滤算法利用用户-项目评分矩阵的一行(列)表示一个用户(项目),在用户和项目数以百万计的推荐系统中,维数过高的用户和项目向量导致推荐效率的下降。本文针对用户和项目降维,分别提出DRU和DRI算法。DRU(DRI)通过二分k-means聚类技术对用户(项目)进行聚类,并计算用户(项目)对用户簇(项目簇)的隶属度,每个用户(项目)由其对应的隶属度向量表示。由于隶属度向量的维数通常远低于评分向量,因此基于内存的协同过滤算法的用户或项目间相似度的计算量大幅减少,由此提高了在线推荐的效率。此外,本文还提出DRUI算法,用于集成DRU和DRI的预测结果。实验结果表明,提出的算法在线推荐效率远高于传统基于内存的协同过滤算法(UCF和ICF);此外,尽管在评分预测准确度上DRU和DRI比UCF和ICF逊色,但是经过DRUI模型的集成后比它们更优越。传统基于内存的协同过滤算法预测评分时需要搜索目标用户(或项目)的最临近用户(或项目),在用户和项目的规模不断扩大的情况下,这种推荐算法的在线推荐效率面临挑战。于是本文引入可以离线训练的随机森林模型,提出CRF算法。CRF先通过聚类得到用户和项目的隶属度向量(此过程与DRU和DRI一样),然后结合用户-项目评分矩阵构造监督学习模型的训练数据集,并训练随机森林模型,在线推荐时利用离线训练的模型进行评分预测。实验结果表明,CRF在线推荐效率远高于基于内存的协同过滤算法;另外,其评分预测准确度和分类准确度在大部分情况下较优越。针对可扩展性问题,本文引入可增量学习的神经网络模型,提出CFBP_R回归模型、CFBP_C分类模型和CFBP_SW权重共享模型。CFBP_R和CFBP_C模型分别将评分预测问题视为回归问题和分类问题;CFBP_SW是一个基于CFBP_C改进得到的模型,引入权重共享机制,大幅减少模型的参数量。模型每个输入样本的结构为(用户ID,项目ID,评分)三元组,这是推荐系统评分数据最常见的存储格式,即在应用CFBP_R、CFBP_C和CFBP_SW前几乎不需要对原始评分数据做任何预处理(比如转换成评分矩阵);训练模型时可以分批读取磁盘中的数据,因此模型对内存的要求较低,新增的评分数据也可以增量优化模型参数,而不必重新训练模型。此外,针对需要对评分进行编码处理的分类模型CFBP_C,本文一方面应用常用的one-hot编码,另一方面针对评分预测问题的特点提出一种新的编码(线性编码),于是得到模型的两个版本CFBP_C(one-hot)和CFBP_C(linear)。实验结果表明,提出的算法在评分预测准确度、分类准确度和在线推荐效率上均比传统基于内存的协同过滤算法(UCF和ICF)优越;提出的算法对数据稀疏性的敏感程度较低,能够一定程度上缓解数据稀疏性问题;提出的线性编码方式能够明显提高评分预测准确度;权重共享模型CFBP_SW在参数量远比CFBP_C小的情况下,评分预测准确度与之相当。