The news is by your side.

使用共同访问矩阵和 RAPIDS cuDF 增强推荐系统

21


杰西·埃利斯
2024 年 8 月 22 日 08:15

了解如何使用共同访问矩阵和 RAPIDS cuDF 构建高效的推荐系统,以加快数据处理速度并提高个性化。




推荐系统对于在各个平台上个性化用户体验至关重要。这些系统根据用户过去的行为和偏好,预测并推荐用户可能与之互动的商品。构建有效的推荐系统需要利用捕获用户与商品互动的大型复杂数据集。

推荐系统和共同访问矩阵

推荐系统是一种机器学习算法,旨在向用户提供个性化建议。它们广泛应用于电子商务、内容流媒体和社交媒体,帮助用户发现符合他们兴趣的产品、服务或内容。

推荐系统的数据集通常包括:

  • 需要推荐的商品数量达数百万。
  • 用户和物品之间的交互,形成有助于推断未来用户交互的会话。

共同访问矩阵计算在会话中一起出现的项目数,从而更容易推荐与用户会话中经常同时出现的项目。

构建共同访问矩阵的挑战

计算共访矩阵需要处理大量会话并计算所有共现次数,这需要耗费大量计算资源。使用 pandas 等库的传统方法对于大型数据集来说效率低下且速度缓慢,因此需要进行大量优化才能投入实际使用。

RAPIDS cuDF 是一个 GPU DataFrame 库,它通过提供类似 pandas 的 API 来解决这些问题,从而加快数据处理速度。它无需更改代码即可将计算速度提高 40 倍。

RAPIDS cuDF Pandas 加速器模式

RAPIDS cuDF 旨在加速大型数据集的加载、连接、聚合和过滤等操作。其新的 pandas 加速器模式允许在 pandas 工作流中加速计算,为表格数据处理提供 50 倍到 150 倍的更快性能。

数据

本教程的数据来自 OTTO – 多目标推荐系统 Kaggle 竞赛,其中包括一个月的会议。数据集包含 186 万个项目和大约 5 亿个用户项目交互,存储在分块的 parquet 文件中,以便于处理。

实施共同访问矩阵

为了高效地构建共现矩阵,数据被分成几部分以管理内存使用。加载会话并应用转换以节省内存。交互被限制为可管理的数量,并通过在会话列上将数据与自身合并来计算共现。

为每对商品分配权重,并通过向之前的商品添加新权重来更新矩阵。最后,缩小矩阵以仅保留每个商品的最佳候选者,确保保留最相关的信息。

生成候选人

共访​​矩阵可用于通过聚合会话项的权重来生成推荐候选。推荐具有最高权重的项。此过程受益于 GPU 加速器,使其更快、更高效。

绩效评估

召回率指标用于评估候选产品的强度。在本例中,召回率@20指标表现出了强劲的基线性能,召回率为0.5868。这意味着在推荐的20件商品中,平均有11件被用户购买。

进一步

提高候选召回率需要为矩阵提供更多历史记录、通过考虑交互类型来细化矩阵以及根据会话项目的重要性调整权重。这些变化可以显著提高推荐系统的性能。

概括

本教程演示如何使用 RAPIDS cuDF 构建和优化共同访问矩阵。利用 GPU 加速,共同访问矩阵计算速度可提高 50 倍,从而实现推荐系统的快速迭代和改进。

欲了解更多详情,请访问 NVIDIA 技术博客。

图片来源:Shutterstock


(标签翻译)人工智能(t)加密(t)区块链(t)新闻



关键词:AI,crypto,blockchain,news