HyperAIHyperAI

Command Palette

Search for a command to run...

使用 TensorFlow 的电影推荐系统

20 小时 RTX 5090 算力资源,仅 $1 (原价 $7)
跳转至 Notebook

摘要

一句话总结

作者将人工免疫系统应用于电影推荐系统的协同过滤中,采用Kendall tau与Weighted Kappa亲和度度量来计算相关系数,测试结果表明,Weighted Kappa比Kendall tau更适合该应用场景。

核心贡献

  • 将人工免疫系统(AIS)原理融入协同过滤,构建电影推荐引擎,利用自适应的免疫启发式模型进行用户偏好匹配。
  • 实现Kendall tau与Weighted Kappa亲和度度量,用于计算用户间的相关系数,为量化偏好相似性提供结构化方法。
  • 通过对比测试证明Weighted Kappa算法优于Kendall tau,确立其作为电影推荐任务中更有效的亲和度度量标准。

引言

推荐系统通过协助用户在缺乏个人经验时做出明智选择,解决了现实世界中的常见难题。协同过滤作为一种被广泛采用的技术,能够基于相似用户预测偏好。传统的协同过滤方法在准确识别最优用户聚类以及计算稳健的相似度指标方面常面临挑战,这可能会限制推荐的精度与适应性。为克服这些障碍,作者将人工免疫系统引入协同过滤框架,并系统评估Weighted Kappa与Kendall tau相关方法,以确定哪种方式能更有效地度量用户相似度并提升预测精度。

数据集

  • 数据集构成与来源: 作者使用了一个由Compaq Research(前身为DEC Research)最初发布的公开电影评分数据集。完整语料库包含来自72,916名用户对1,628部电影的2,811,983条评分,已在协同过滤研究中被广泛采用。
  • 关键子集细节: 作者并未将数据划分为独立的训练集或验证集,而是将整个集合视为统一的数据集。他们应用了一种成对过滤规则,丢弃任一值为零而另一值非零的评分组合。仅保留完全为零的配对或相互非零的配对用于分析。
  • 模型应用: 经过过滤的评分驱动了基于人工免疫系统的推荐引擎。作者计算用户对之间的一致性与不一致性计数,推导一致性概率比率,并利用该指标估计用户在常见观看电影上未来评分达成一致的可能性。
  • 处理与成对操作: 数据集采用一致性评分流程,而非传统的训练与测试划分。作者提取用户交互数据,将其分类为一致或不一致,并应用数学变换以计算在给定数量的共同观影次数下,评分匹配与不匹配的预期比例。

方法

所提出的推荐系统融合了人工免疫系统(AIS)技术与协同过滤(CF)技术以生成电影推荐。整体框架采用两阶段流程:首先,AIS识别出一组与目标用户偏好相似的用户,随后CF基于该选定组计算推荐结果。系统始于一个存储用户电影偏好的数据库,这些偏好被表示为对各类电影的投票评分。当用户输入其对部分电影的偏好时,系统将该用户视为抗原,将数据库中的用户视为候选抗体。AIS框架被用于基于抗原与抗体之间以及抗体相互之间的亲和度量,筛选出偏好最接近抗原的抗体子集(即用户)。

如图所示,AIS模块处理用户输入与数据库数据,以提取偏好相似的用户组。该组随后被传递至CF模块,后者计算这些用户电影评分的加权平均值以生成推荐。分配给每个选定用户的权重来源于其对抗原的亲和度以及组内其他用户之间的相互亲和度。最终推荐结果通过汇总这些加权评分得出。

采用两种亲和度量算法来量化相似度:Weighted Kappa与Kendall tau。Weighted Kappa基于观测频率与期望频率评估两位用户之间的一致性,并根据评分差异的大小分配权重。一致性矩阵中单元格(i,j)(i, j)(i,j)的权重定义为 wij=1ijg1w_{ij} = 1 - \frac{|i - j|}{g - 1}wij=1g1ij,其中 ggg 为评分类别的数量(此处为六类:0, 0.2, 0.4, 0.6, 0.8, 1)。观测一致性 po(w)p_{o(w)}po(w) 计算为 1ni=1gj=1gwijfij\frac{1}{n} \sum_{i=1}^{g} \sum_{j=1}^{g} w_{ij} f_{ij}n1i=1gj=1gwijfij,其中 nnn 为共同电影数量,fijf_{ij}fij 为评分类别 iiijjj 的一致性计数。由于在此背景下不期望存在偶然一致性,pe(w)=0p_{e(w)} = 0pe(w)=0,加权Kappa简化为 kw=po(w)k_w = p_{o(w)}kw=po(w)

Kendall tau则评估成对观测值之间的一致性。对于一对电影,若两位用户的相对排名一致,则该配对为一对一致对;否则为不一致对。亲和度计算公式为 τ^=2Sn(n1)\hat{\tau} = \frac{2S}{n(n-1)}τ^=n(n1)2S,其中 S=CDS = C - DS=CDCCC 为一致对数量,DDD 为不一致对数量,nnn 为共同电影数量。该度量范围介于 1-11+1+1+1 之间,数值越高表示一致性越强。

推荐生成步骤利用选定用户组评分的加权平均值,对未评分电影进行预测。预测公式如下:

prediction=i=1100(weighti×VoteScorei)i=1100(weighti×1)prediction = \frac{\sum_{i=1}^{100} \left( weight_i \times VoteScore_i \right)}{\sum_{i=1}^{100} \left( weight_i \times 1 \right)}prediction=i=1100(weighti×1)i=1100(weighti×VoteScorei)

其中,weightiweight_iweighti 对应第 iii 个抗体(用户)对该电影的浓度,反映了该用户与目标用户的相似度以及该用户与组内其他用户的相似度。VoteScoreiVoteScore_iVoteScorei 为第 iii 位用户对该电影的评分。该加权机制确保亲和度更高且在组内共识更强的用户对推荐结果产生更显著的影响。

实验

本研究通过在用户数据集上评估预测精度与相关性稳定性,对电影推荐系统进行了检验,测试方法涵盖Kendall tau与Weighted Kappa。这些实验验证了各算法处理稀疏评分数据的能力,结果表明,Kendall tau因对零值配对敏感而丢弃大量重要信息,并产生不稳定的相关系数。相反,Weighted Kappa方法更为可靠,且更适应电影评分的分类特性。尽管Kendall tau存在理论缺陷,但两种方法最终均能提供可比的预测性能,这表明相关性稳定性与实际推荐精度之间存在复杂关系,有待进一步探索。

作者对比了Kendall tau与Weighted Kappa相关方法在电影推荐系统中的性能,分析了它们处理零值的能力及预测精度。结果表明,尽管Kendall tau可能忽略重要信息并产生不一致的结果,Weighted Kappa却始终产生更高的相关系数并具备略优的预测精度,表明其更适合该推荐任务。与某些情况下可能为负或偏低的Kendall tau相比,Weighted Kappa的相关系数始终更高。Kendall tau忽略了大量数据,可能导致信息丢失,而Weighted Kappa则避免了此问题。尽管Weighted Kappa具有理论优势,但两种方法的预测精度相似,表明需进一步调查该差异。

作者对比了Kendall tau与Weighted Kappa方法在电影推荐系统中的性能,分析了相关系数与预测精度。结果显示,尽管Kendall tau因零值忽略了大量数据,但两种方法的预测精度相近,而Kappa方法始终产生更高的相关系数。作者得出结论,Kappa更适用于电影推荐问题,因其能够有效处理并列情况并规避零值相关问题。Kendall tau方法因零值忽略大量数据,可能导致信息丢失。尽管相关系数存在差异,Kendall tau与Weighted Kappa的预测精度相似。Weighted Kappa始终产生更高的相关系数,被认为更适用于电影推荐系统。

作者分析了相关方法在电影推荐系统中的性能,对比了Kendall tau与Weighted Kappa。结果显示,尽管Kendall tau因零值忽略了大量数据,但两种方法的预测精度相近,表明Kappa可能更为适用,即便两者未出现预期的性能差异。方法间的相关系数对比表明,Kappa始终产生更高值,而Kendall可能产生负值或低值。Kendall tau因零值忽略大量数据,可能影响其可靠性。尽管Kappa具备理论优势,但Kendall tau与Weighted Kappa的预测精度相似。与Kendall tau相比,Weighted Kappa始终产生更高的相关系数,表明其具有更好的稳定性。

本研究在电影推荐系统框架下评估Kendall tau与Weighted Kappa相关方法,考察其对零值数据的处理、相关性稳定性及预测性能。分析表明,Kendall tau因处理零值的方式丢弃了大量信息,常导致相关系数不一致或偏低;而Weighted Kappa有效处理了并列情况与稀疏数据,始终提供更高且更可靠的相关系数。尽管两种方法均能达到可比的预测精度,但Weighted Kappa展现出更优的稳定性与数据保留能力,使其成为推荐任务中更合适的度量标准。


用 AI 构建 AI

从创意到上线——通过免费 AI 协同编码、开箱即用的环境和最优惠的 GPU 价格,加速您的 AI 开发。

AI 协同编码
开箱即用的 GPU
最优定价

HyperAI Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供