07-noderepr 图机器学习之图表征学习
Posted combfish
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07-noderepr 图机器学习之图表征学习相关的知识,希望对你有一定的参考价值。
网络中的机器学习
节点分类
链接预测
机器学习的生命圈需要特征工程
![技术图片](https://image.cha138.com/20210623/1978f28ed410416ba434728bb3ee4281.jpg)
网络的特征学习——特征向量 embedding
network embedding的意义
节点的表征
节点的相似度衡量→网络相似度衡量
网络信息编码,生成节点表征
用途:异常检测,属性预测,聚类,关系预测
![技术图片](https://image.cha138.com/20210623/961b28cde7a0480e8e63434bbd682f1c.jpg)
例子:deepwalk
![技术图片](https://image.cha138.com/20210623/bbc31b5ea52e42a0b07f6d6b36947d7d.jpg)
难度:当前的深度学习视为序列或网格数据而设计的,但网络结构比这些更复杂,没有固定的空间结构,没有固定的顺序,是动态的,并且有多类特征
![技术图片](https://image.cha138.com/20210623/ff795fc3b9714be3a75d9a14687ce62f.jpg)
![技术图片](https://image.cha138.com/20210623/4dfa4bde68344913b73e3968dba4285a.jpg)
Embedding Nodes
![技术图片](https://image.cha138.com/20210623/21dd7fec35224c76b5add530ab169eed.jpg)
假设我们有图G,V是节点集合,A是邻接矩阵,![技术图片](https://image.cha138.com/20210623/1d887ee83a4a47728c4140197242c2cd.jpg)
![技术图片](https://image.cha138.com/20210623/1d887ee83a4a47728c4140197242c2cd.jpg)
将节点编码,编码后的向量计算得到的相似度与原网络的一致
![技术图片](https://image.cha138.com/20210623/f2d3f88c8c4e4d5fa026d4b94adda234.jpg)
![技术图片](https://image.cha138.com/20210623/6b25dde0e8524ede8074669cda123bbf.jpg)
因此需要定义一个编码器,以及计算节点相似度的函数,并优化encoder
![技术图片](https://image.cha138.com/20210623/a37a846684a94279b5e98388c784f3b1.jpg)
![技术图片](https://image.cha138.com/20210623/d063d97e8f0f49d7bb80a8c502de397e.jpg)
浅层encoding,有一个大矩阵,存储各类节点的向量,encoder只是look-up,类似于word embedding
![技术图片](https://image.cha138.com/20210623/08a1da7e0774420a915b5c4505367d9b.jpg)
![技术图片](https://image.cha138.com/20210623/8dc25c3c712f4abda29730dd885ceb7a.jpg)
常见的方法:deepwalk,node2vec,transE
![技术图片](https://image.cha138.com/20210623/0d7d07f7cb8147238e589bbc799a89ec.jpg)
如何定义节点相似性
例子:若两个节点的embedding相似,那么在物理结构上,他们:相连?有相同邻居?相似的结构角色?等
![技术图片](https://image.cha138.com/20210623/e2e8712bd7c9472ba7c092db44989a38.jpg)
随机游走→node embedding
![技术图片](https://image.cha138.com/20210623/f4e384bae317484393db42fb40b58413.jpg)
随机游走:从一个节点出发,随机选择一个邻居节点,游走到该节点,再重复上述步骤。经过的节点组成的序列即为图的random walk
![技术图片](https://image.cha138.com/20210623/2ca3b75e4687469bb3b6ca9cf2d7dced.jpg)
公式表示节点u,v在random walk中共同出现的概率
![技术图片](https://image.cha138.com/20210623/d155a09cdb044c9f8d6b89951d835eed.jpg)
步骤:
1. 随机游走,得到若干序列
2. 优化encoder,使共同出现的节点的序列相似度更近
![技术图片](https://image.cha138.com/20210623/510f87ca78084d0fb9b1abfe418e0caa.jpg)
random walk的意义:
能充分表达网络的结构(邻居信息)
高效性,不需要考虑网络中的所有节点
![技术图片](https://image.cha138.com/20210623/f92c5fb91f734ed0bfca6d4417abacfd.jpg)
非监督的学习,整体的过程类似于词向量,此处不加赘述
![技术图片](https://image.cha138.com/20210623/33c40a8b041d436e80f76d27d08341ae.jpg)
![技术图片](https://image.cha138.com/20210623/e06e09b27724446da250eb816bd7665c.jpg)
![技术图片](https://image.cha138.com/20210623/05231e23668645b8af34d2c31d06440e.jpg)
![技术图片](https://image.cha138.com/20210623/102e601a05b64e26a2b007be8a568cbe.jpg)
![技术图片](https://image.cha138.com/20210623/cfd332b0b9f441ab8171d557419657b0.jpg)
![技术图片](https://image.cha138.com/20210623/dadad6f1f9e945d197437cc83016e3d6.jpg)
![技术图片](https://image.cha138.com/20210623/53f5af13968b493e97098abc553efe4b.jpg)
负样本抽样 窗口 + 负样本
![技术图片](https://image.cha138.com/20210623/57d1d40244f34b5989e6316e0f2a8976.jpg)
演变为固定短长度的random walk
![技术图片](https://image.cha138.com/20210623/3fe300728e6d4b968c7dea60730113df.jpg)
如何随机游走?
![技术图片](https://image.cha138.com/20210623/deebc160aeca4ce0a2b99fc39032609c.jpg)
node2vec的概述
:
具有相似邻居的节点得到的向量相似
![技术图片](https://image.cha138.com/20210623/5690a5e6244945daa1f9a489748171e8.jpg)
游走:广度,深度
![技术图片](https://image.cha138.com/20210623/952761a3bd67461c9feb0c548140b6f4.jpg)
![技术图片](https://image.cha138.com/20210623/9547e87e5087496585866cbd5b27578e.jpg)
![技术图片](https://image.cha138.com/20210623/9106e9b2af3640adb5eaf4e223a03a1a.jpg)
![技术图片](https://image.cha138.com/20210623/8cf04ec0d9b44279b2bbe9d59204b119.jpg)
![技术图片](https://image.cha138.com/20210623/2cc7bfc5af91461ab902c66b67c227d9.jpg)
![技术图片](https://image.cha138.com/20210623/58599a47a09548159a6a476f4c84d106.jpg)
![技术图片](https://image.cha138.com/20210623/0a30983791d342638c4a44514eb8effa.jpg)
node2vec的步骤
![技术图片](https://image.cha138.com/20210623/90b086d76cf843489d7902db6d134d28.jpg)
embedding的使用:
聚类,社区发现
节点分类
关系预测
![技术图片](https://image.cha138.com/20210623/0a604c88ba5148a68ab179abb40c29bf.jpg)
多关系数据模型的translating Embeddings
多关系模型,例如,知识图谱,边具有多类关系
知识图谱填充→关系预测
![技术图片](https://image.cha138.com/20210623/aa72c808dd504b20bf614339c1639e75.jpg)
transE
三元组关系 (实体1,关系,实体2)(h,l,t)
首先,实体已被表示未向量
那么关系如何表示呢?若l也是一个向量,那么应满足 h+l≈t
![技术图片](https://image.cha138.com/20210623/b1117294127d4bb7ad4b4e7158068861.jpg)
transE算法
整图的Embedding
![技术图片](https://image.cha138.com/20210623/a90f74e6e3b84422a79050ecac6e1813.jpg)
将整个图通过向量表示
用途:鉴别分子是否有毒;鉴别网络是否异常
![技术图片](https://image.cha138.com/20210623/dd22cc4e3e2d40158d064a7d2e52c6cd.jpg)
方法1:
基于node2vec得到每个节点的向量,求和或平均得到整个网络的向量
![技术图片](https://image.cha138.com/20210623/b33f76c4ff204da2a9f3895da2f42e23.jpg)
方法2:
引入虚拟节点来表征网络向量??
![技术图片](https://image.cha138.com/20210623/9d69c2d3c4e8460fa2585330aa2a5e92.jpg)
方法3:
匿名游走??需要看论文才能了解
当游走长度为3时,共有5个匿名。游走长度增长时,匿名的类别数如图所示
![技术图片](https://image.cha138.com/20210623/556f4112f324465c8756dc058b342bb3.jpg)
枚举步长为l的ai游走,并记录出现的次数
将图表示为这些游走的概率分布
![技术图片](https://image.cha138.com/20210623/3667430486f549e49542dd9768cff03e.jpg)
计算图中所有的匿名游走可能是不可行的
抽样得到近似的分布
需要的random walk的次数如公式所示
![技术图片](https://image.cha138.com/20210623/8f2f550d74ae49ef974a54cbab75d20d.jpg)
学习每个匿名walk的Embedding,求和/平均/拼接后的结果即为图的表征
![技术图片](https://image.cha138.com/20210623/d783f862c4da4dd991681a377a1537d5.jpg)
![技术图片](https://image.cha138.com/20210623/daa31ac5b5eb4fbbb045bcf014e14d81.jpg)
![技术图片](https://image.cha138.com/20210623/62d4eb3b30b7458484c7261da766168e.jpg)
以上是关于07-noderepr 图机器学习之图表征学习的主要内容,如果未能解决你的问题,请参考以下文章