博客
关于我
从近期两篇论文看大规模商品图嵌入
阅读量:214 次
发布时间:2019-02-28

本文共 1395 字,大约阅读时间需要 4 分钟。

GATNE与GraphRec:两种多模态图嵌入方法在推荐系统中的应用解析

近年来,随着大数据技术的快速发展,推荐系统作为一种重要的数据挖掘方法,逐渐成为各行业的重要应用之一。在社交推荐和商品推荐领域,传统的单一图嵌入方法已难以满足复杂多样的场景需求。如何在多模态、多类型的图结构中有效学习节点嵌入,成为当前推荐系统研究的重要挑战。

本文将深入分析两种最新的图嵌入方法:GATNE(General Attributed Multiplex Heterogeneous Network Embedding)和GraphRec(Graph Neural Networks for Social Recommendation),探讨它们在不同推荐场景中的应用优势。

GATNE:多模态异构图嵌入框架

GATNE提出了一种通用的嵌入学习框架,能够同时支持转导式学习和归纳式学习。其核心思想是通过将节点的嵌入表示分解为基嵌入和边嵌入两部分,实现对多类型边的有效建模。

具体而言,GATNE通过分层嵌入机制,能够在同一节点上保持一致的基嵌入,同时针对不同边类型进行边嵌入的聚合。这种设计使得模型能够在处理多模态异构图时,充分捕捉节点间复杂关系的信息。其创新点主要体现在以下几个方面:

  • 转导式学习支持:通过随机游走机制,模型能够在未见过的新节点上进行预测。
  • 归纳式学习扩展:通过初始嵌入的生成机制,模型能够在小规模数据上进行训练,并在大规模数据上进行推广。
  • 多类型边建模:同时支持多种节点类型和边类型的嵌入学习。
  • 实验结果表明,GATNE在四大代表性数据集(Amazon、YouTube、Twitter、Alibaba)上均取得了显著的性能提升,尤其在处理长尾和冷启动场景时表现尤为突出。

    GraphRec:社交推荐的图神经网络

    GraphRec是一种基于图神经网络的社交推荐系统,旨在同时建模用户-商品图和社交图。其独特之处在于,模型通过两阶段嵌入学习,分别从用户-商品图和社交图中提取用户嵌入和商品嵌入。

    具体实现如下:

  • 用户嵌入学习

    • 从用户-商品图中提取用户嵌入,通过将用户与其评分和观点的嵌入进行加权聚合。
    • 从社交图中提取用户嵌入,通过社交关系的聚合方式,捕捉用户间的互动信息。
    • 最终用户嵌入是上述两种嵌入的加权组合。
  • 商品嵌入学习

    • 类似于用户嵌入,商品嵌入通过用户与商品之间的评分和观点进行加权聚合。
    • 同时考虑商品在用户-商品图中的多样性关系。
  • 模型的训练目标是最大化对缺失评分的预测,通过结合用户嵌入、商品嵌入和观点嵌入,实现准确的推荐预测。实验结果显示,GraphRec在Ciao和Epinions等数据集上均优于现有的推荐方法。

    对比与总结

    GATNE和GraphRec虽然目标相似,但应用场景和方法论有显著差异:

  • 应用场景

    • GATNE更注重多模态异构图的嵌入学习,适用于复杂的网络结构。
    • GraphRec专注于社交推荐,兼顾用户-商品图和社交图的信息。
  • 方法论

    • GATNE采用分层嵌入机制,支持同时建模节点和边的多样性。
    • GraphRec通过双阶段嵌入学习,分别建模用户和商品的多模态信息。
  • 两种方法都为推荐系统的研究提供了新的思路,同时也为后续研究指引了新的方向。未来,如何在更大规模的异构图中实现高效嵌入学习,如何在实际应用中平衡模型复杂度与性能,将是推荐系统研究的重要课题。

    转载地址:http://dvoj.baihongyu.com/

    你可能感兴趣的文章
    OpenCV 在 Linux 上的 python 与 anaconda 无法正常工作.收到未实现 cv2.imshow() 的错误
    查看>>
    Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)上
    查看>>
    opencv 模板匹配, 已解决模板过大程序不工作的bug
    查看>>
    OpenCV 错误:(-215)size.width>0 &&函数imshow中的size.height>0
    查看>>
    opencv&Python——多种边缘检测
    查看>>
    opencv&python——高通滤波器和低通滤波器
    查看>>
    OpenCV+Python识别车牌和字符分割的实现
    查看>>
    OpenCV-Python接口、cv和cv2的性能比较
    查看>>
    OpenCV/Python/dlib眨眼检测
    查看>>
    opencv1-加载、修改、保存图像
    查看>>
    opencv10-形态学操作
    查看>>
    opencv11-提取水平直线和垂直直线
    查看>>
    opencv12-图像金字塔
    查看>>
    opencv13-基本阈值操作
    查看>>
    opencv14-自定义线性滤波
    查看>>
    opencv15-边缘处理
    查看>>
    opencv16-Sobel算子
    查看>>
    opencv17-laplance算子
    查看>>
    opencv18-canny检测算法
    查看>>
    opencv19-霍夫直线变化
    查看>>