Embedding技术之Graph Embedding

Graph Embedding用于处理互联网中的图数据——社交网络、知识图谱、行为关系类型图数据。

1、DeepWalk——基于随机游走的Graph Embedding

DeepWalk 是一种用于学习图(网络)中节点的低维向量表示(即节点嵌入)的算法。

DeepWalk 的核心思想是利用随机游走(Random Walk)来生成节点的序列,这些序列类似于自然语言处理中的句子。然后,这些序列被用作输入到一个类似 Word2Vec 的模型中,以学习每个节点的向量表示。

DeepWalk可以被看作连接序列embedding和graph embedding之间的过渡方法

1.1、步骤
  1. 随机游走
    • 对图中的每个节点进行多次固定长度的随机游走,产生一系列节点序列。
    • 这些序列反映了节点之间的邻近性和连接模式。
  2. 序列建模
    • 使用 Word2Vec 中的 Skip-Gram 模型或其他相似的模型来处理这些序列。
    • 目标是预测给定节点周围的邻居节点,从而学习到节点的向量表示。
1.2、推荐系统实现步骤
  1. 首先基于原始的用户行为序列来构建物品关系图——转移概率矩阵
  2. 采用随机游走的方式随机选择起始点,重新产生物品序列;
  3. 2)这些随机游走生成的物品序列输入Word2vec模型,生成最终的物品Embedding向量。

2、Node2vec——在同质性和结构性间权衡

Node2vec 通过调整随机游走跳转概率的方法,让 Graph Embedding 的结果在网络的同质性(Homophily)和结构性(Structural Equivalence)中进行权衡,可以进一步把不同的 Embedding 输入推荐模型,让推荐系统学习到不同的网络结构特点。

2.1、结构性:

BFS:从一个起点出发,逐层扩展搜索,首先访问所有直接相邻的节点,然后再访问它们的邻居节点。

“结构性”指的是结构上相似的节点的 Embedding 应该尽量接近。

通过BFS可以生成更多周边结构的序列(凸显节点是中心节点、边缘节点、还是连接节点),从而使Embedding抓住更多的结构信息——相似结构的节点的Embedding更加相似。

2.2、同质性:

DFS:从一个起点出发,尽可能深地搜索树的分支,直到无法前进为止,然后回溯并探索其他分支。

    例子:在社交网络中,如果两个朋友有很多共同的朋友,那么从其中一个朋友出发,通过 DFS 游走很可能会多次跳转到另一个朋友那里,即使他们之间并没有直接连接。这样做的结果是,同一社区内的节点将更频繁地出现在同一个游走序列中。

  1. DFS 风格的随机游走倾向于深入探索图中的特定区域,这使得它更可能停留在同一个社区内部——导致多次跳转到较远但仍然属于同一社区的节点。
  2. 在训练过程中,出现在同一游走序列中的节点会被视为有相似的上下文环境,从而导致它们在嵌入空间中更加接近。
  3. 因此,DFS 风格的游走有助于捕捉和表达图中的“同质性”。

3、EGES——阿里巴巴研发——集成多种信息源

EGES是一种由阿里巴巴提出并应用于其电子商务推荐系统的图嵌入技术。EGES的主要目的是为了克服传统推荐系统中遇到的几个关键问题,如扩展性、数据稀疏性和冷启动问题。其基本思想是Embedding过程中引入带权重的补充信息(Side Information),从而解决冷启动的问题。

  • 扩展性: 数据集非常大,需要高效的方法来处理大量的物品和用户。
  • 数据稀疏性: 用户与物品的交互数据往往是稀疏的,即大多数用户只与一小部分物品有过交互。
  • 冷启动问题: 新物品或新用户缺乏足够的历史交互数据来进行有效的推荐。
步骤
  1. 图嵌入
    • 基础图嵌入:基于用户行为数据构建图,例如用户浏览记录、购买记录等,生成商品节点的初始嵌入表示。
  2. 补充信息嵌入
    • 特征编码:将补充信息转换为数值表示,例如使用独热编码表示类别信息,或者直接使用数值表示价格等。
    • 特征融合:将商品的基础嵌入表示与补充信息的数值表示结合起来,形成更丰富的商品表示。
  3. 综合嵌入
    • 加权融合:为不同的补充信息分配不同的权重,这可以根据重要性或实验效果进行调整。
    • 联合训练:在训练图嵌入模型时,同时考虑用户行为数据和补充信息,通过优化目标函数来学习综合嵌入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值