IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 推荐系统图结构Graph Embedding技术 -> 正文阅读

[人工智能]推荐系统图结构Graph Embedding技术

Deep Walk算法

  • Deep Walk算法基于随机游走的Graph Embedding方法,它的主要思想是在由物品组成的图结构上进行随机游走,产生大量物品序列,然后将这些物品序列作为训练样本输入Word2Vec进行训练,最终得到物品的 Embedding。因此,Deep Walk可以被看作连接序列Embedding和 Graph Embedding 的一种过渡方法。

Deep Walk执行过程

  • Deep Walk执行过程如下图:
    在这里插入图片描述
    原始的用户行为(a)序列构建物品关系图(b),然后采用随机游走的方式随机选择起始点,重新产生物品序列(c)。其中,随机游走采样的次数、长度等都属于超参数,需要根据实际情况自行调整。最后,将这些随机游走生成的物品序列输入(d) 的Word2Vec模型,生成最终的物品Embedding向量。

Deep Walk算法流程

  • Deep Walk唯一需要形式化定义的就是随机游走的跳转概率,也就是到达节点vi后,下一步遍历 vi的邻接点vj的概率。如果物品关系图是有向有权图,那么从节点vi跳转到节点vj的概率定义如下图:
    在这里插入图片描述

  • N+(vi) 是节点 vi所有的出边集合,Mij是节点vi到节点vj边的权重。即Deep Walk的跳转概率就是跳转边的权重占所有相关出边权重之和的比例。如果物品相关图是无向无权重图,即权重Mij将为常数 1,且N+(vi) 应是节点vi所有边的集合,而不是所有出边的集合。

Node2Vec算法

同质性与结构性

  • 2016年斯坦福大学的研究人员在Deep Walk的基础上更进一步,提出了Node2Vec模型。Node2Vec 通过调整随机游走跳转概率的方法,让 Graph Embedding的结果在网络的同质性(Homophily)和结构性(Structural Equivalence)中进行权衡,可以进一步把不同的 Embedding 输入推荐模型,让推荐系统学习到不同的网络结构特点。
  • 同质性指的是距离相近节点的Embedding应该尽量近似,如下图所示,节点 u 与其相连的节点s1、s2、s3、s4的Embedding表达应该是接近的,这就是网络同质性的体现。在电商网站中,同质性的物品很可能是同品类、同属性,或者经常被一同购买的物品。
  • 结构性指的是结构上相似的节点的Embedding应该尽量接近,如下图节点 u 和节点s6都是各自局域网络的中心节点,它们在结构上相似,所以它们的Embedding表达也应该近似,这就是结构性的体现。在电商网站中,结构性相似的物品一般是各品类的爆款、最佳凑单商品等拥有类似趋势或者结构性属性的物品。
    在这里插入图片描述
  • 为了使Graph Embedding的结果能够表达网络的同质性,随机游走要更倾向于DFS(Depth First Search,深度优先搜索),因为DFS更有可能通过多次跳转,游走到远方的节点上。但无论怎样,DFS的游走更大概率会在一个大的集团内部进行,这使得一个集团内部节点的 Embedding更为相似,从而更多地表达网络的同质性。
  • 为了使Graph Embedding的结果能够表达网络的结构性,在随机游走的过程中,必须要让游走的过程更倾向于BFS(Breadth First Search,宽度优先搜索),因为BFS会更多地在当前节点的邻域中进行游走遍历。当前节点是局部中心节点,还是边缘节点,亦或是连接性节点,其生成的序列包含的节点数量和顺序必然是不同的,从而让最终的Embedding抓取到更多结构性信息。

Node2Vec中的BFS与DFS

  • 在Node2vec算法中,如何控制BFS和DFS的倾向性。主要是通过随机跳转概率来控制倾向性。
  • 如下图所示,Node2Vec算法从节点t跳转到节点v后,再从节点v跳转到周围各点的跳转概率。这里需要注意这几个节点的特点。节点 t 是随机游走上一步访问的节点,节点 v 是当前访问的节点,节点x1、x2、x3是与v相连的非t节点,但节点x1还与节点t相连,这些不同的特点决定了随机游走时下一次跳转的概率。
    -在这里插入图片描述
  • 从当前节点 v 跳转到下一个节点x的概率 πvx?=αpq?(t,x)?ωvx? ,其中 wvx是边 vx 的原始权重,αpq?(t,x)是 Node2Vec 定义的一个跳转权重。到底是倾向于 DFS 还是 BFS,主要就与这个跳转权重的定义有关了。如下图:
    在这里插入图片描述
  • αpq?(t,x) 里的 dtx是指节点t到节点 x 的距离,比如节点x1与节点t直接相连,dtx=1;节点t自己到自己的距离dtt=0;而 x2、x3这些不与 t 相连的节点,dtx=2。
  • αpq?(t,x) 中的参数 p 和 q 共同控制着随机游走的倾向性。p为返回参数,p 越小,随机游走回节点 t 的可能性越大,Node2Vec 就更注重表达网络的结构性。q为进出参数,q越小,随机游走到远方节点的可能性越大,Node2Vec更注重表达网络的同质性。反之,当前节点更可能在附近节点游走。
    在这里插入图片描述
  • 图上半部分,Node2Vec更注重同质性,距离相近的节点颜色更为接近;图下半部分,Node2Vec更注重结构性,结构特点相近的节点的颜色更为接近。
  • Node2Vec的这种灵活性,以及发掘不同图特征的能力,我们甚至可以把不同 Node2Vec生成的偏向结构性和同质性的Embedding结果共同输入后续深度学习网络,以保留物品的不同图特征信息。

Embedding在推荐系统的特征工程中的应用

直接应用

  • 在我们得到Embedding向量之后,直接利用Embedding向量的相似性实现某些推荐系统的功能。典型功能有:利用物品Embedding间的相似性实现相似物品推荐,利用物品Embedding和用户Embedding的相似性实现猜你喜欢等经典推荐功能,还可以利用物品Embedding实现推荐系统中的召回层等。

预训练应用

  • 我们预先训练好物品和用户的 Embedding 之后,不直接应用,而是把这些 Embedding 向量作为特征向量的一部分,跟其余的特征向量拼接起来,作为推荐模型的输入参与训练。这样做能够更好地把其他特征引入进来,让推荐模型作出更为全面且准确的预测。

End2End应用

  • 我们不预先训练Embedding,而是把Embedding的训练与深度学习推荐模型结合起来,采用统一的、端到端的方式一起训练,直接得到包含 Embedding 层的推荐模型。
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:13:20  更:2022-03-03 16:13:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:26:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码